/* Independent gears, compact navigation, mobile footer and denser contact page. */

.site-header .nav__links {
  width: auto;
  justify-self: center;
  justify-content: center;
  gap: 3px;
}

.site-header .nav__links > a,
.site-header .nav-dropdown > .nav-dropdown__label,
.site-header .nav__links > a:first-child {
  border: 0;
}

.site-header .nav__links a { padding: 14px 12px; }

.nav-gearline::before,
.nav-gearline::after,
.nav-gearline__track,
.footer-gears::before,
.footer-gears::after { display: none; }

.nav-gearline__gear--one { left: 5px; top: 10px; margin: 0; font-size: 30px; }
.nav-gearline__gear--two { left: 56px; top: 31px; margin: 0; font-size: 17px; }
.nav-gearline__gear--three { right: 91px; top: 3px; margin: 0; font-size: 36px; }
.nav-gearline__gear--four { right: 47px; top: 32px; margin: 0; font-size: 20px; }
.nav-gearline__gear--five { right: 3px; top: 12px; margin: 0; font-size: 27px; }

@media (min-width: 1321px) {
  .site-header .nav {
    position: relative;
  }

  .site-header .brand,
  .site-header .nav__links,
  .site-header .language-switch {
    position: relative;
    z-index: 1;
  }

  .site-header .brand {
    left: clamp(146px, calc((100vw - 1028px) / 2), 280px);
    grid-column: 1;
  }
  .site-header .nav__links { grid-column: 3; }
  .site-header .language-switch { grid-column: 4; }

  .nav-gearline {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    align-self: stretch;
    justify-self: stretch;
    width: auto;
    min-width: 0;
    height: auto;
    overflow: hidden;
    pointer-events: none;
  }

  .nav-gearline__gear--one { left: 10px; top: -5px; font-size: 22px; }
  .nav-gearline__gear--two { left: 18%; top: auto; bottom: -5px; font-size: 15px; }
  .nav-gearline__gear--three { left: 34%; right: auto; top: -6px; font-size: 27px; }
  .nav-gearline__gear--four { left: 52%; right: auto; top: auto; bottom: -6px; font-size: 17px; }
  .nav-gearline__gear--five { left: 67%; right: auto; top: -5px; font-size: 23px; }
  .nav-gearline__gear--six { left: 78%; top: auto; bottom: -5px; font-size: 14px; color: #8d9992; animation-direction: reverse; }
  .nav-gearline__gear--seven { left: 88%; top: -5px; font-size: 20px; color: #36770a; }
  .nav-gearline__gear--eight { right: 8px; top: auto; bottom: -6px; font-size: 16px; color: #9da7a1; animation-direction: reverse; }
}

.footer-gears {
  inset: 0;
  width: auto;
  height: auto;
  overflow: hidden;
}

.footer-gears__gear { opacity: 1; }
.footer-gears__gear--one { right: 3%; bottom: -42px; font-size: 138px; }
.footer-gears__gear--two { right: 24%; bottom: 36px; font-size: 76px; }
.footer-gears__gear--three { right: auto; left: 43%; bottom: 18px; font-size: 58px; }
.footer-gears__gear--four { right: 9%; bottom: auto; top: 26px; font-size: 48px; }
.footer-gears__gear--five { right: auto; left: 30%; bottom: auto; top: 34px; font-size: 42px; }
.footer-gears__gear--six { right: auto; left: 4%; bottom: 26px; font-size: 34px; }

/* Contact page: reduce oversized empty bands and keep related actions together. */
.contact-hero { min-height: clamp(430px, 42vw, 520px); }
.contact-hero__inner { padding-top: 60px; padding-bottom: 60px; }
.contact-hero h1 { margin-top: 16px; font-size: clamp(2.8rem, 5vw, 4.5rem); }
.contact-hero__location { margin-top: 34px; }
.contact-methods { padding: 62px 0 68px; }
.contact-section-heading { gap: 36px; padding-bottom: 24px; }
.contact-methods__grid { margin-top: 26px; }
.contact-method { min-height: 172px; padding: 22px; }
.contact-method__index { top: 24px; right: 22px; }
.contact-method h3 { margin-top: 22px; }
.contact-method__arrow { right: 22px; bottom: 23px; }
.contact-office { padding: 64px 0; }
.contact-office__grid { grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 42px; }
.contact-office__map { aspect-ratio: 16 / 8; }
.contact-social { padding: 54px 0; }
.contact-social__inner { grid-template-columns: minmax(230px, .48fr) minmax(0, 1.52fr); gap: 36px; }
.contact-social__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
.contact-social__group-label { display: block; margin-bottom: 10px; color: #a7df4e; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.contact-social__links { gap: 8px; }
.contact-social__links a { min-height: 40px; padding: 0 13px; }
.contact-cta { padding: 56px 0 62px; }
.contact-cta__inner { gap: 42px; padding-bottom: 26px; }

@media (max-width: 1500px) and (min-width: 1321px) {
  .site-header .nav__links a { padding-inline: 9px; }
}

@media (max-width: 1320px) and (min-width: 901px) {
  .site-header .nav__links { width: 100%; gap: 0; }
  .site-header .nav__links a { padding-inline: 8px; }
}

@media (max-width: 900px) {
  .site-header .nav__links { width: 100%; justify-self: stretch; }
  .contact-methods__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-method { min-height: 180px; }
  .contact-office__grid,
  .contact-social__inner { grid-template-columns: 1fr; }
  .contact-office__map { aspect-ratio: 16 / 9; }
}

@media (max-width: 640px) {
  .site-footer::before { display: none; }
  .site-footer { background: #edf3e9; }
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; padding-top: 30px; }
  .site-footer .footer-brand { display: grid; grid-column: 1 / -1; grid-template-columns: 112px minmax(0, 1fr); gap: 10px 16px; }
  .site-footer .footer-brand > a { grid-column: 1; grid-row: 1; }
  .site-footer .footer-brand > p { grid-column: 2; grid-row: 1; margin: 0; }
  .site-footer .footer-brand > .footer-contact { grid-column: 1 / -1; grid-row: 2; flex-flow: row wrap; gap: 8px 16px; margin-block: 4px; }
  .site-footer .footer-brand > .footer-social { grid-column: 1; grid-row: 3; }
  .site-footer .footer-brand > .footer-cta { grid-column: 2; grid-row: 3; justify-self: end; padding: 0; }
  .site-footer .footer-brand img { width: 108px; margin: 0; }
  .footer-gears__gear--two,
  .footer-gears__gear--three,
  .footer-gears__gear--six { display: none; }
  .footer-gears__gear--one { right: -42px; bottom: 22px; font-size: 112px; }
  .footer-gears__gear--four { right: 8%; top: 32%; font-size: 42px; }
  .footer-gears__gear--five { left: 7%; top: 62%; font-size: 38px; }
  .contact-hero { min-height: 500px; }
  .contact-methods,
  .contact-office,
  .contact-cta { padding-top: 52px; padding-bottom: 56px; }
  .contact-methods__grid { grid-template-columns: 1fr; }
  .contact-method { min-height: 154px; }
  .contact-office__grid { gap: 28px; }
  .contact-office__map { aspect-ratio: 4 / 3; }
  .contact-social { padding: 48px 0; }
  .contact-social__groups { grid-template-columns: 1fr; }
  .contact-social__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 340px) {
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .site-footer .footer-brand,
  .site-footer .footer-brand > * { grid-column: 1 !important; }
  .contact-social__links { grid-template-columns: 1fr; }
}
