@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/src/project/fonts/manrope/manrope-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("/src/project/fonts/jetbrains-mono/jetbrains-mono-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: italic;
  font-weight: 100 800;
  font-display: swap;
  src: url("/src/project/fonts/jetbrains-mono/jetbrains-mono-latin-variable-italic.woff2") format("woff2");
}

:root {
  --amweb-blue: #002bba;
  --amweb-cyan: #00b4d8;

  /* Keep Brand Blue on light surfaces and use accessible Cyan on Ink. */
  --accent--light: var(--amweb-blue);
  --accent--dark: var(--amweb-cyan);
  --highlight--dark: var(--amweb-cyan);
}

.amweb-legal-content a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

.no-touch .amweb-legal-content a:hover {
  color: var(--t-bright);
}

.amweb-legal-content a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 0.2em;
}

.mxd-menu__contacts-item a {
  color: var(--amweb-cyan);
  text-decoration-color: currentColor;
}

.no-touch .mxd-menu__contacts-item a:hover {
  color: var(--nl-white);
}

/* Legal pages follow Azurio's narrow editorial article rhythm. */
.amweb-legal-content {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  color: var(--t-medium);
  font: normal 500 1.8rem/1.6 var(--_font-default);
}

.amweb-legal-content h2 {
  margin: 6rem 0 2rem;
  color: var(--t-bright);
  font-size: clamp(2.8rem, 3vw, 4rem);
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.amweb-legal-content h2:first-child {
  margin-top: 0;
}

.amweb-legal-content h3 {
  margin: 3.5rem 0 1.5rem;
  color: var(--t-bright);
  font-size: clamp(2.2rem, 2vw, 2.8rem);
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.amweb-legal-content p,
.amweb-legal-content ul,
.amweb-legal-content ol {
  margin: 0 0 2rem;
}

.amweb-legal-content p,
.amweb-legal-content li {
  color: inherit;
  font: inherit;
}

.amweb-legal-content li + li {
  margin-top: 0.6rem;
}

@media only screen and (min-width: 768px) {
  .amweb-legal-content {
    font-size: 2rem;
  }
}

/* Footer branding and legal navigation. */
.amweb-footer-mark {
  justify-content: center;
  padding: clamp(2rem, 3vw, 5rem) 7.5vw clamp(3rem, 5vw, 8rem);
  line-height: 1;
}

.amweb-footer-mark__link,
.amweb-footer-mark__image {
  display: block;
}

.amweb-footer-mark__link {
  width: min(42vw, 72rem);
}

.amweb-footer-mark__image {
  width: 100%;
  height: auto;
  color: var(--t-bright);
  overflow: visible;
}

.amweb-footer-logo-reveal {
  opacity: 0;
  transform: translateY(3.5rem);
  will-change: opacity, transform;
}

.amweb-footer-mark__image path {
  stroke: currentColor;
}

@media (prefers-reduced-motion: reduce) {
  .amweb-footer-logo-reveal {
    opacity: 1;
    transform: none;
    will-change: auto;
  }
}

.amweb-footer-meta,
.amweb-footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.8rem;
  row-gap: 0.6rem;
  overflow: visible;
}

.amweb-footer-legal-wrap {
  justify-content: flex-start;
}

.amweb-footer-legal a {
  align-items: baseline;
  white-space: nowrap;
}

.amweb-footer-legal a:not(:first-of-type)::before {
  margin-right: 0.8rem;
  color: var(--t-medium);
  content: "/";
  pointer-events: none;
}

.amweb-footer-legal__break {
  display: none;
}

@media only screen and (min-width: 1200px) {
  .amweb-footer-legal-wrap,
  .amweb-footer-legal {
    justify-content: flex-end;
  }
}

@media only screen and (max-width: 767px) {
  .mxd-hero-05__headline h1 small {
    width: calc(100vw - 4rem);
    max-width: 100%;
    margin-inline: auto;
    font-size: clamp(2.4rem, 7.2vw, 4.4rem);
    line-height: 1.15;
    letter-spacing: -0.06em;
    white-space: nowrap;
  }

  .mxd-header {
    left: 2rem;
    width: calc(100% - 10rem);
    padding-top: 2rem;
  }

  .mxd-menu__contain {
    top: 2rem;
    right: 2rem;
  }

  .mxd-header__logo,
  .mxd-menu__logo {
    max-width: calc(100vw - 10rem);
  }

  .mxd-menu__logo {
    top: 2rem;
    left: 2rem;
  }

  .mxd-logo,
  .menu-logo {
    min-width: 0;
    gap: 0.8rem;
  }

  .mxd-logo__image,
  .menu-logo__image {
    flex: 0 0 auto;
    height: 2.8rem;
  }

  .mxd-logo__text,
  .menu-logo__text {
    min-width: 0;
    font-size: clamp(1.1rem, 3.3vw, 1.35rem);
    line-height: 1;
    white-space: nowrap;
  }

  .mxd-stack-cards__card .card__image {
    background-color: var(--nl-white);
  }

  .mxd-stack-cards__card .card__media[src*="/clients/"] {
    object-fit: contain;
    padding: clamp(2rem, 6vw, 4rem);
  }

  .amweb-footer-mark {
    padding-top: 1.5rem;
    padding-bottom: 4rem;
  }

  .amweb-footer-mark__link {
    width: min(62vw, 28rem);
  }

  .amweb-footer-meta {
    margin-bottom: 1.2rem;
  }

  .amweb-footer-legal__break {
    display: block;
    flex-basis: 100%;
    height: 0;
  }

  .amweb-footer-legal a:nth-of-type(4)::before {
    display: none;
  }
}
