@media (max-width: 1100px) {
  .site-nav { gap: 10px; }
  .site-nav > a:not(.button) { display: none; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .84fr); gap: 4px; }
  .europe-visual { width: min(60vw, 630px); margin: -16px 0 -16px -100px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .featured-project { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1101px) {
  .hero-line { white-space: nowrap; }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 72px; }
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding-block: 68px; }
  .subpage-hero--brands { padding: 52px 0 48px; }
  .brands-page-section { padding-top: 0; }
  .brands-page-section .container { width: min(calc(100% - 32px), 1280px); }
  .brands-page-grid { grid-template-columns: 1fr; }
  .brands-page-card__content { min-height: 0; padding: 28px; }
  .header-inner { min-height: 72px; }
  .site-header .brand-logo { width: 155px; }
  .menu-toggle { display: block; position: relative; z-index: 3; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-nav { position: fixed; z-index: 2; top: 72px; right: 0; bottom: 0; left: 0; display: flex; align-items: stretch; flex-direction: column; gap: 0; padding: 26px 24px 40px; background: #fff; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; overflow-y: auto; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .site-nav > a:not(.button) { display: flex; min-height: 54px; border-bottom: 1px solid var(--border); font-size: 1rem; }
  .languages { min-height: 64px; gap: 12px; }
  .languages a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .nav-cta { margin-top: 12px; }
  .hero { padding-block: 64px 72px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { position: relative; z-index: 2; }
  .hero-lead { font-size: 1rem; }
  .europe-visual { width: min(100%, 620px); aspect-ratio: 1152 / 941; margin: 8px auto -12px; }
  .europe-network-artwork { width: 100%; max-width: 100%; object-fit: contain; object-position: center; transform: none; }
  .section-heading { display: block; }
  .section-heading h2 { margin-bottom: 20px; }
  .section-heading > p { margin-bottom: 38px; }
  .brand-grid { gap: 18px; }
  .brand-content { display: block; min-height: 160px; }
  .brand-content .text-link { margin-top: 12px; }
  .featured-project { grid-template-columns: 1fr; }
  .project-preview { min-height: 390px; }
  .partnership-inner { align-items: flex-start; flex-direction: column; gap: 32px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-details { position: static; }
  .legal-layout { grid-template-columns: 1fr; gap: 38px; }
  .legal-sidebar { position: static; grid-template-columns: repeat(2, 1fr); }
  .legal-sidebar a { border-right: 1px solid var(--border); }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding-block: 60px; }
  .subpage-hero--brands { padding: 48px 0; }
  .brands-page-section { padding-top: 0; }
  .brands-page-section .container { width: min(calc(100% - 28px), 1280px); }
  .brands-page-card__content { padding: 24px 22px 26px; }
  h1 { font-size: clamp(2.05rem, 10vw, 3rem); }
  h2 { margin-bottom: 34px; font-size: clamp(1.72rem, 8vw, 2.35rem); }
  .hero { padding-block: 52px 62px; }
  .hero-grid { gap: 32px; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button { width: 100%; }
  .competencies { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .europe-visual { aspect-ratio: 1152 / 941; }
  .service-grid, .brand-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 0; padding: 26px 24px; }
  .service-card svg { margin-bottom: 26px; }
  .service-card h3 { min-height: 0; }
  .brand-content { min-height: 0; padding: 22px; }
  .project-preview { min-height: 0; aspect-ratio: 16 / 9; }
  .project-copy { padding: 32px 24px 38px; }
  .partnership { padding-block: 64px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 42px 30px; }
  .footer-brand { grid-column: 1 / -1; }
  .contact-hero, .legal-hero { padding-block: 60px; }
  .contact-section { padding-block: 60px 72px; }
  .form-grid { grid-template-columns: 1fr; }
  .contact-form-card { padding: 26px 20px; }
  .legal-hero-inner { align-items: flex-start; flex-direction: column; gap: 22px; }
  .legal-updated { flex: auto; }
  .legal-layout { padding-block: 52px 72px; }
  .legal-sidebar { grid-template-columns: 1fr; }
  .legal-sidebar a { border-right: 0; }
}

@media (max-width: 390px) {
  .site-header .brand-logo { width: 145px; }
  .competencies { grid-template-columns: 1fr; }
  .europe-visual { width: 100%; margin-inline: auto; }
  .logo-panel { left: 16px; bottom: 16px; min-height: 68px; }
  .footer-grid { grid-template-columns: 1fr; }
}

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