@media (max-width: 1280px) {
  .wrap {
    width: min(var(--max-width), calc(100% - 40px));
  }

  .desktop-nav {
    gap: 26px;
  }

  .nav-dropdown-menu {
    width: 340px;
  }
}

@media (max-width: 1180px) {
  .desktop-nav > a,
  .nav-dropdown-toggle {
    font-size: 17px;
  }

  .lang-switch-toggle,
  .quote-btn {
    font-size: 14px;
    padding: 11px 16px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .desktop-nav,
  .lang-switch,
  .quote-btn {
    display: none;
  }

  .mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .hero {
    padding-top: var(--header-height);
  }

  .about-layout,
  .contact-layout,
  .card-grid-4,
  .card-grid-3,
  .card-grid-2,
  .about-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-layout,
  .contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .hero-inner {
    width: min(860px, calc(100% - 32px));
  }

  .hero h1 {
    font-size: clamp(32px, 6vw, 52px);
  }

  .hero p {
    font-size: 18px;
  }

  .section-title h2 {
    font-size: clamp(28px, 5vw, 42px);
  }

  .section-title p,
  .card p,
  .series-card p,
  .project-card p,
  .contact-card p,
  .info-card p,
  .footer-card p {
    font-size: 16px;
  }

  .card h3,
  .series-card h3,
  .project-card h3,
  .contact-card h3,
  .info-card h3,
  .footer-card h3 {
    font-size: 20px;
  }

  .contact-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  :root {
    --header-height: 74px;
  }

  section {
    padding: 72px 0;
  }

  .wrap {
    width: calc(100% - 28px);
  }

  .brand {
    font-size: 22px;
  }

  .header-inner {
    min-height: var(--header-height);
  }

  .hero-inner {
    width: calc(100% - 28px);
    padding: 44px 0 34px;
  }

  .hero h1 {
    font-size: clamp(30px, 8vw, 44px);
    line-height: 1.1;
  }

  .hero p {
    font-size: 17px;
    line-height: 1.75;
  }

  .hero-actions,
  .contact-actions {
    justify-content: center;
  }

  .btn-primary,
  .btn-secondary {
    width: 100%;
    max-width: 260px;
  }

  .section-title {
    margin-bottom: 28px;
  }

  .section-title .kicker {
    font-size: 15px;
    letter-spacing: 0.1em;
  }

  .section-title h2 {
    font-size: clamp(28px, 8vw, 38px);
  }

  .section-title p {
    font-size: 16px;
  }

  .card-grid-4,
  .card-grid-3,
  .card-grid-2,
  .about-points,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .card,
  .project-card,
  .contact-card,
  .info-card,
  .footer-card,
  .series-body {
    padding: 22px;
  }

  .series-top {
    height: 160px;
    padding: 20px;
  }

  .series-badge {
    width: 66px;
    height: 66px;
    border-radius: 18px;
    font-size: 22px;
  }

  .about-point {
    font-size: 17px;
  }

  .footer-brand {
    font-size: 26px;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 92vh;
  }

  .hero-inner {
    padding: 36px 0 28px;
  }

  .hero h1 {
    font-size: clamp(28px, 9vw, 38px);
  }

  .hero p {
    font-size: 16px;
  }

  .btn-primary,
  .btn-secondary,
  .quote-btn,
  .lang-switch-toggle {
    font-size: 15px;
  }

  .mobile-box {
    padding: 12px;
  }

  .mobile-link,
  .mobile-dropdown-btn {
    font-size: 15px;
  }

  .mobile-submenu a,
  .mobile-language-links a {
    font-size: 13px;
  }

  .section-title .kicker {
    font-size: 14px;
  }

  .section-title h2 {
    font-size: clamp(26px, 9vw, 34px);
  }

  .section-title p,
  .card p,
  .series-card p,
  .project-card p,
  .contact-card p,
  .info-card p,
  .footer-card p,
  .footer-text,
  .footer-links a,
  .footer-contact-item {
    font-size: 15px;
  }

  .card h3,
  .series-card h3,
  .project-card h3,
  .contact-card h3,
  .info-card h3,
  .footer-card h3 {
    font-size: 18px;
  }

  .icon-box,
  .info-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 18px;
  }

  .textarea {
    min-height: 130px;
  }
}
