﻿@media (max-width: 1020px) {
  .nav-list, .nav-actions .btn { display: none; }
  .nav-indicator { display: none; }
  .menu-toggle { display: grid; place-items: center; }
  .nav-list.is-open { display: flex; position: fixed; inset: 92px 20px auto; flex-direction: column; align-items: stretch; padding: 24px; background: rgba(17,12,32,.98); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
  .nav-list.is-open a { display: block; padding: 12px; }
  .hero-grid, .service-summary, .contact-grid, .article-layout { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-visual { min-height: 330px; }
  .services-grid, .portfolio-grid, .blog-grid { grid-template-columns: repeat(2,1fr); }
  .value-grid { grid-template-columns: repeat(3,1fr); }
  .steps { grid-template-columns: repeat(2,1fr); row-gap: 104px; }
  .steps::before { display: none; }
  .audience-panel, .cta-panel, .cta-split, .home-problem-grid, .home-faq-grid, .blog-featured, .services-intro, .section-split, .page-hero-grid, .project-detail-grid { grid-template-columns: 1fr; }
  .cta-actions { justify-content: flex-start; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .sticky-card, .article-aside { position: static; }
  .service-band { grid-template-columns: 45px 64px minmax(0, 1fr); }
  .service-band-visual, .service-band .text-link { grid-column: 3; }
}
@media (max-width: 720px) {
  .section { padding: 28px 0; }
  .section--compact { padding: 22px 0; }
  .container { width: min(calc(100% - 28px), var(--container)); }
  .hero { padding: 104px 0 30px; }
  .hero h1 { font-size: clamp(2rem, 10vw, 2.85rem); }
  .hero-copy > p { font-size: .96rem; margin-bottom: 18px; }
  .hero-actions .btn { width: 100%; }
  .hero-visual { min-height: 260px; margin-top: 4px; }
  .browser-card { inset: 34px 4px 16px 12px; }
  .browser-grid div { height: 84px; }
  .floating-panel { padding: 11px 12px; font-size: .65rem; }
  .floating-panel--two { bottom: 40px; }
  .trust-list { grid-template-columns: 1fr; gap: 0; }
  .trust-list li { border-right: 0; border-bottom: 1px solid var(--color-border); padding: 11px; }
  .grid--2, .grid--3, .grid--4, .services-grid, .portfolio-grid, .blog-grid, .problem-list, .deliverables, .form-grid, .swatches { grid-template-columns: 1fr; }
  .value-grid, .steps { grid-template-columns: 1fr; }
  .steps { gap: 18px; padding-top: 0; }
  .step { padding: 22px 20px 22px 82px; }
  .step::before { top: 22px; left: 20px; width: 46px; height: 46px; border-width: 5px; font-size: 1rem; transform: none; }
  .step::after { display: none; }
  .step h3 { gap: 14px; font-size: 1.15rem; }
  .step-icon { width: 48px; height: 48px; }
  .step-icon svg { width: 24px; height: 24px; }
  .audience-panel, .cta-panel, .cta-split { padding: 24px 20px; }
  .service-band { grid-template-columns: 45px 1fr; gap: 16px; }
  .service-band .icon-box, .service-band-content, .service-band p, .service-band .feature-list, .service-band-visual, .service-band .text-link { grid-column: 2; }
  .service-band-visual img { max-height: 220px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .page-hero { padding: 104px 0 28px; }
  .page-hero h1 { font-size: clamp(1.9rem, 9vw, 2.65rem); }
  .page-hero p { font-size: .96rem; }
  .page-hero-visual { min-height: 170px; }
  .hero-visual--image img, .page-hero-visual img, .section-visual img { max-height: 260px; }
  .feature-list--columns { columns: 1; }
  .field--full { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

