@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Light.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-ExtraBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Black.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

.site-page [data-prototype-inert] { cursor: pointer; }

.site-page .site-header {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(18px);
}

.site-page .header-inner {
  grid-template-columns: 150px minmax(0, 1fr) auto;
}

.site-page .main-nav { gap: clamp(18px, 2vw, 32px); }
.site-page .catalogue-shortcut { white-space: nowrap; }
.site-page .ix-menu-toggle { display: none; }
.site-page .eyebrow { font-size: 13px; }
.site-page .icon-button svg { fill: none; stroke: currentColor; stroke-width: 1.6; }

.site-page :focus-visible {
  outline: 3px solid rgba(227,6,19,.42);
  outline-offset: 4px;
}

.site-page .site-footer {
  background: #eef3f8;
  border-top: 0;
}

.site-page .site-footer p { font-size: 12px; }

@media (max-width: 1120px) {
  .site-page .main-nav { gap: 16px; }
  .site-page .main-nav a { font-size: 11px; }
}

@media (max-width: 900px) {
  .site-page .header-inner {
    grid-template-columns: 1fr auto auto;
    gap: 8px;
  }

  .site-page .header-actions { gap: 2px; }
  .site-page .header-actions .icon-button { display: grid; }

  .site-page .ix-menu-toggle {
    position: relative;
    z-index: 22;
    width: 44px;
    height: 44px;
    display: grid;
    align-content: center;
    gap: 7px;
    padding: 0 10px;
    color: var(--fiord-dark);
    background: transparent;
    border: 0;
    cursor: pointer;
  }

  .site-page .ix-menu-toggle > span:not(.sr-only) {
    width: 24px;
    height: 2px;
    display: block;
    background: currentColor;
    transition: transform .2s ease;
  }

  .site-page .ix-menu-toggle[aria-expanded="true"] > span:first-child {
    transform: translateY(4.5px) rotate(45deg);
  }

  .site-page .ix-menu-toggle[aria-expanded="true"] > span:nth-child(2) {
    transform: translateY(-4.5px) rotate(-45deg);
  }

  .site-page .main-nav {
    position: fixed;
    z-index: 21;
    inset: var(--site-header-height) 0 auto;
    display: none;
    justify-content: stretch;
    gap: 0;
    padding: 14px 16px 22px;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(37,42,114,.1);
    box-shadow: 0 18px 32px rgba(30,49,90,.08);
    backdrop-filter: blur(18px);
  }

  .site-page .main-nav.is-open { display: grid; }

  .site-page .main-nav a {
    padding: 13px 2px;
    border-bottom: 1px solid rgba(37,42,114,.1);
    font-size: 14px;
  }

  .site-page .main-nav a:last-child { border-bottom: 0; }
  .site-page .main-nav a::after { display: none; }
}
