@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .header-actions > .btn { display: none; }
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .stat-card:nth-child(3) { border-right: 0; }
  .stat-card:nth-child(n+4) { border-top: 1px solid var(--color-border); }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .tools-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portfolio-demo-card { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .white-label__content { grid-template-columns: 1fr; }
  .about-hero__copy { padding-left: 32px; }
}

@media (max-width: 900px) {
  :root { --header-height: 70px; }
  .container, .narrow { width: min(calc(100% - 32px), var(--container)); }
  .hero { min-height: auto; }
  .hero-inner { display: block; }
  .hero-copy { max-width: none; padding: 64px 0 42px; }
  .hero-media { position: relative; width: calc(100% + 32px); height: auto; margin-left: -16px; aspect-ratio: 4/5; }
  .hero-media picture, .hero-media img { height: 100%; }
  .hero-media img { border-radius: 20px; object-position: 44% 50%; transform: scale(.98); }
  .hero-media::after { background: linear-gradient(180deg, var(--color-bg), transparent 22%, rgba(5,8,22,.16) 65%, var(--color-bg) 100%); }
  .hero-badge { right: 18px; bottom: 18px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .services-page-grid { grid-template-columns: 1fr; }
  .process-line { grid-template-columns: 1fr; gap: 18px; padding-left: 28px; }
  .process-line::before { top: 24px; right: auto; bottom: 24px; left: 27px; width: 1px; height: auto; }
  .process-step { display: grid; grid-template-columns: 56px 1fr; gap: 16px; text-align: left; }
  .step-number { grid-row: span 2; width: 54px; height: 54px; margin: 0; box-shadow: 0 0 0 7px var(--color-bg-secondary); }
  .process-step h3 { align-self: end; margin: 0; }
  .process-step p { align-self: start; }
  .plan-layout, .contact-layout, .detail-grid { grid-template-columns: 1fr; }
  .detail-sidebar { position: static; }
  .about-hero__grid { grid-template-columns: 1fr; }
  .about-hero__copy { padding: 62px 20px 38px; }
  .about-hero__media { width: 100%; min-height: 0; aspect-ratio: 4/5; }
  .about-hero__media img { border-radius: 20px; object-position: 50% 50%; transform: scale(.92); }
  .about-hero__media::after { background: linear-gradient(180deg, var(--color-bg), transparent 20%, rgba(5,8,22,.2)); }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-grid figure:first-child { grid-column: 1/-1; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
}

@media (max-width: 700px) {
  .section { padding: 68px 0; }
  .section--tight { padding: 48px 0; }
  .brand img { width: 188px; }
  .benefit-list { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(2.65rem, 14vw, 4rem); }
  .hero-badge { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-card { border-right: 1px solid var(--color-border); border-top: 1px solid var(--color-border); }
  .stat-card:nth-child(-n+2) { border-top: 0; }
  .stat-card:nth-child(even) { border-right: 0; }
  .stat-card:nth-child(3) { border-right: 1px solid var(--color-border); }
  .stat-card:last-child { grid-column: 1/-1; border-right: 0; }
  .feature-grid, .service-grid, .portfolio-grid, .profile-grid { grid-template-columns: 1fr; }
  .profile-tools { grid-column: auto; }
  .tools-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .appointment-notice { grid-template-columns: 1fr; padding: 20px; }
  .service-card { padding: 22px; }
  .agenda-conditions { grid-template-columns: 1fr; padding: 22px; }
  .contact-prompts { grid-template-columns: 1fr; }
  .portfolio-toolbar { align-items: stretch; flex-direction: column; }
  .search-box { flex-basis: auto; }
  .filters { width: 100%; max-width: 100%; flex-wrap: nowrap; margin-right: 0; padding-right: 0; overflow-x: auto; scrollbar-width: thin; }
  .filter-btn { flex: 0 0 auto; }
  .plan-benefits { grid-template-columns: 1fr; padding: 22px; }
  .price-card { min-height: 390px; }
  .benefit-columns { grid-template-columns: 1fr; }
  .flow { grid-template-columns: 1fr; }
  .flow-arrow { transform: rotate(90deg); text-align: center; }
  .timeline-head { flex-direction: column; gap: 4px; }
  .timeline-head span { white-space: normal; }
  .gallery-grid, .detail-gallery { grid-template-columns: 1fr; }
  .gallery-grid figure:first-child { grid-column: auto; }
  .gallery-grid img { height: 390px; }
  .cta-panel { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; gap: 32px; padding-top: 50px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 8px; padding-bottom: 98px; }
  .mobile-menu { bottom: 0; }
  .mobile-menu__inner { max-height: calc(100svh - var(--header-height)); padding-bottom: 28px; }
  .lightbox { padding: 65px 12px; }
  .lightbox__image { max-width: 94vw; max-height: 72vh; }
  .lightbox__prev, .lightbox__next { top: auto; bottom: 18px; }
  .lightbox__prev { left: calc(50% - 62px); }
  .lightbox__next { right: calc(50% - 62px); }
}

@media (max-width: 420px) {
  .container, .narrow { width: min(calc(100% - 24px), var(--container)); }
  .brand img { width: 165px; }
  .menu-toggle { width: 46px; height: 46px; }
  .sound-toggle { width: 40px; height: 40px; }
  .header-inner { gap: 8px; }
  .header-actions { gap: 6px; }
  .hero-copy { padding-top: 48px; }
  .button-row .btn { width: 100%; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-card, .stat-card:nth-child(3), .stat-card:nth-child(even) { grid-column: auto; border-top: 1px solid var(--color-border); border-right: 0; }
  .stat-card:first-child { border-top: 0; }
  .project-actions .btn { flex: 1 1 100%; }
  .annual-total { flex-direction: column; gap: 3px; }
  .contact-primary, .profile-card, .timeline-item { padding: 22px; }
  .service-card__meta { grid-template-columns: 1fr; }
  .tools-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
