:root {
  --shell-ink: #16130f;
  --shell-paper: #ffffff;
  --shell-cream: #f1f4f5;
  --shell-gold: #657079;
  --shell-dark: #070707;
}

@font-face {
  font-family: "Mommy Sans";
  src: url("mommy-sans-bold.woff") format("woff");
  font-display: swap;
  font-style: normal;
  font-weight: 700 900;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.site-header {
  position: relative;
  z-index: 50;
  min-height: 88px;
  display: grid;
  grid-template-columns: minmax(205px, 1fr) auto minmax(96px, 1fr);
  align-items: center;
  gap: 32px;
  padding: 0 clamp(22px, 5vw, 80px);
  color: var(--shell-ink);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.site-header--hero {
  position: absolute;
  inset: 0 0 auto;
  color: #fff;
  background: linear-gradient(180deg, rgba(2, 7, 12, .54), transparent);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.site-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  width: max-content;
  white-space: nowrap;
}
.site-brand__mark,
.registered-word {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  padding-right: .19em;
  background: none;
  white-space: nowrap;
  font-family: "Mommy Sans", "Arial Black", Arial, sans-serif;
  font-weight: 900;
  line-height: .78;
  letter-spacing: -.09em;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}
.site-brand__mark {
  font-size: clamp(1.65rem, 2.15vw, 2.5rem);
}
.site-brand__mark > span,
.registered-word > span { display: block; }
.site-brand__mark .reg,
.registered-word .reg {
  position: absolute;
  top: -.2em;
  right: 0;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .19em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.site-brand__group {
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .28em;
}
.site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.3vw, 38px); }
.site-nav a,
.site-language a {
  padding: 10px 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  white-space: nowrap;
}
.site-nav a { position: relative; }
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  height: 1px;
  background: currentColor;
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .3s ease, transform .3s ease;
}
.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav a[aria-current="page"]::after { opacity: .75; transform: none; }
.site-language { display: flex; justify-content: flex-end; align-items: center; gap: 9px; font-size: .67rem; }
.site-language a { opacity: .52; }
.site-language a[aria-current="page"] { opacity: 1; }
.site-language span { opacity: .38; }
.site-menu { display: none; border: 0; background: transparent; color: inherit; }
.site-menu span { display: block; width: 28px; height: 1px; background: currentColor; }
.site-mobile-nav { display: none; }

.site-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 30px;
  min-height: 96px;
  padding: 24px clamp(22px, 5vw, 80px);
  color: rgba(255,255,255,.72);
  background: #070707;
  font: .7rem/1.5 Arial, Helvetica, sans-serif;
}
.site-footer p { margin: 0; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 24px; }
.site-footer a:hover,
.site-footer a:focus-visible { color: #fff; }

.cookie-note {
  position: fixed;
  z-index: 100;
  left: clamp(16px, 3vw, 42px);
  right: clamp(16px, 3vw, 42px);
  bottom: clamp(16px, 3vw, 34px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  max-width: 930px;
  margin-inline: auto;
  padding: 18px 20px;
  color: #f8f4ed;
  background: rgba(12, 12, 12, .96);
  box-shadow: 0 18px 60px rgba(0,0,0,.3);
  font: .82rem/1.5 Arial, Helvetica, sans-serif;
}
.cookie-note p { margin: 0; }
.cookie-note a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-note button {
  border: 1px solid rgba(255,255,255,.7);
  padding: 10px 15px;
  color: #fff;
  background: transparent;
  cursor: pointer;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.info-page {
  min-height: calc(100svh - 88px);
  padding: clamp(84px, 12vw, 170px) clamp(22px, 8vw, 128px);
  color: var(--shell-ink);
  background: linear-gradient(145deg, #fff, #f4ecdf);
}
.info-page__inner { max-width: 920px; }
.info-page .eyebrow { color: #806548; }
.info-page h1 { margin: 0; font: 400 clamp(4rem, 9vw, 9rem)/.82 Didot, "Bodoni MT", Georgia, serif; letter-spacing: -.075em; }
.info-page p { max-width: 670px; margin: 36px 0 0; font: clamp(1.1rem, 1.6vw, 1.45rem)/1.55 Georgia, serif; }
.info-page__action { display: inline-flex; margin-top: 40px; padding-bottom: 8px; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 700; letter-spacing: .16em; }

@media (max-width: 1060px) {
  .site-header { gap: 18px; padding-inline: 30px; }
  .site-nav { gap: 16px; }
  .site-brand__group { display: none; }
}

@media (max-width: 820px) {
  .site-header { grid-template-columns: 1fr auto; min-height: 78px; padding-inline: 22px; }
  .site-nav, .site-language { display: none; }
  .site-brand__group { display: inline; }
  .site-menu { display: grid; gap: 8px; padding: 12px 2px; cursor: pointer; }
  .site-menu[aria-expanded="true"] span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .site-menu[aria-expanded="true"] span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .site-menu span { transition: transform .3s ease; }
  .site-mobile-nav {
    position: absolute;
    inset: 78px 0 auto;
    padding: 28px 22px 34px;
    flex-direction: column;
    gap: 22px;
    color: var(--shell-ink);
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 20px 40px rgba(0,0,0,.12);
  }
  .site-mobile-nav:not([hidden]) { display: flex; }
  .site-mobile-nav a { font-size: .77rem; font-weight: 700; letter-spacing: .15em; }
  .site-mobile-nav__languages { display: flex; gap: 9px; padding-top: 8px; }
  .site-header--hero .site-mobile-nav { color: #fff; background: rgba(4, 9, 14, .985); }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer nav { justify-content: flex-start; }
  .cookie-note { grid-template-columns: 1fr; gap: 14px; }
  .cookie-note button { width: max-content; }
}

@media (max-width: 480px) {
  .site-brand { gap: 7px; }
  .site-brand__mark { font-size: 1.55rem; }
  .site-brand__group { font-size: .52rem; letter-spacing: .2em; }
  .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* The browser's overscroll area follows the dark closing panels. */
html { background: #070707; }
.site-footer { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
.cookie-note a { color: #f8f4ed; text-decoration-color: rgba(248,244,237,.7); }
.cookie-note a:hover, .cookie-note a:focus-visible { color: #fff; text-decoration-color: #fff; }
