:root {
  --site-gutter: clamp(20px, 4vw, 100px);
  --header-height: 94px;
  --display-font: 'Poppins', 'Wanted Sans', sans-serif;
}
html { scroll-padding-top: calc(var(--header-height) + 18px); }
body { margin: 0; background: #000; color: #fff; font-family: 'Wanted Sans', sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
.site-header {
  position: fixed; z-index: 100; top: 0; left: 0; right: 0;
  min-height: var(--header-height); padding: 22px var(--site-gutter);
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  isolation: isolate;
  background: transparent;
}
.site-header::before {
  content: ''; position: absolute; inset: 0 0 -40px; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgb(0 0 0 / .82), rgb(0 0 0 / .58) 60%, transparent);
  -webkit-mask-image: linear-gradient(#000 0%, #000 60%, transparent 100%);
  mask-image: linear-gradient(#000 0%, #000 60%, transparent 100%);
  opacity: .8; transition: opacity .3s ease;
}
.site-header.is-scrolled::before { opacity: 1; }
.home-page .site-header::before { opacity: var(--header-shade, 0); }
.site-logo { display: block; flex: 0 0 auto; width: clamp(187px, 15.64vw, 302.6px); }
.site-logo img { display: block; width: 100%; height: auto; filter: invert(1); }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 2.6vw, 48px); }
.site-nav a {
  position: relative; display: block; padding-block: 9px;
  font: 700 clamp(12px, 1.04vw, 18px)/1.3 var(--display-font);
  white-space: nowrap; letter-spacing: -.025em;
}
.site-nav a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 3px; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform .3s ease;
}
.site-nav a:hover::after, .site-nav a:focus-visible::after, .site-nav a[aria-current]::after {
  transform: scaleX(1); transform-origin: left;
}
.skip-link { position: fixed; left: 20px; top: 12px; z-index: 300; background: #fff; color: #000; padding: 12px 16px; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.site-cursor {
  position: fixed; left: 0; top: 0; z-index: 200; pointer-events: none;
  width: 0; height: 0; opacity: 0;
}
.site-cursor::before {
  content: ''; position: absolute; width: 13px; height: 13px; border-radius: 50%;
  background: #fff; box-shadow: 0 0 0 .18px rgb(0 0 0 / .28);
  transform: translate(-50%, -50%) scale(var(--cursor-scale, 1));
  transition: transform .24s ease;
}
.site-cursor.is-visible { opacity: 1; }
.site-cursor.is-link { --cursor-scale: 2.77; }
.site-cursor.has-label { --cursor-scale: 5.69; }
.site-cursor span { position: absolute; transform: translate(-50%, -50%); font: 700 22px/1 var(--display-font); color: #000; white-space: nowrap; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.has-site-cursor, .has-site-cursor a, .has-site-cursor button:not(:disabled), .has-site-cursor summary, .has-site-cursor [data-reel-track] { cursor: none; }
  .has-site-cursor input, .has-site-cursor textarea { cursor: text; }
}
.site-footer { border-top: 1px solid #292929; padding: 36px var(--site-gutter) 44px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; gap: 26px 40px; color: #c6c6c6; font-size: 14px; line-height: 1.65; }
.site-footer p { margin: 0; }
.site-footer .footer-label { margin-bottom: 8px; color: #929292; font: 700 11px/1.5 var(--display-font); }
.site-footer address { font-style: normal; }
.site-footer .footer-copyright { grid-column: 1 / -1; color: #999; font-size: 12px; }
.page-eyebrow { font: 700 11px/1.6 var(--display-font); letter-spacing: .04em; color: #999; }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 16px 0; border-bottom: 1px solid #777; font: 700 15px/1.5 var(--display-font); }
.text-link span { transition: transform .25s; }
.text-link:hover span { transform: translate(3px, -3px); }
@media (max-width: 700px) {
  :root { --header-height: 126px; }
  .site-header { flex-direction: column; align-items: flex-start; gap: 12px; padding-block: 20px 12px; }
  .site-logo { width: 187px; }
  .site-nav { justify-content: space-between; width: 100%; gap: 10px; }
  .site-nav a { font-size: clamp(10px, 2.85vw, 13px); padding-block: 8px; }
  .site-footer { grid-template-columns: 1fr; gap: 24px; font-size: 13px; }
  .site-footer .footer-privacy, .site-footer .footer-copyright { grid-column: auto; grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site-cursor { display: none; }
  .site-header::before, .site-nav a::after, .text-link span { transition: none; }
}
