/* Delusional Founders Club · shared styles. Inter is self-hosted (SIL Open Font License). */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Inter-Variable.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Inter-Italic-Variable.woff2') format('woff2');
}

:root { color-scheme: dark; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; background: #0a0a0a; }
html.is-locked { overflow: hidden; }
body {
  margin: 0;
  background: #0a0a0a;
  color: #ffffff;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-optical-sizing: auto;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[hidden] { display: none !important; }
a, button, input, label { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #ffffff; outline-offset: 3px; }
.on-red :focus-visible { outline-color: #0a0a0a; }
::selection { background: #e8352a; color: #ffffff; }

.sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
.skip {
  position: absolute; left: 16px; top: -100px; z-index: 100;
  padding: 12px 16px; background: #ffffff; color: #0a0a0a; text-decoration: none;
  font-size: 12px; line-height: 16px; letter-spacing: 0.06em; text-transform: uppercase;
}
.skip:focus { top: 16px; }

/* buttons and labels used across pages */
.btn-outline {
  display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box;
  margin: 0; padding: 0 clamp(8px, 2.6vw, 18px);
  border: 1px solid #ffffff; border-radius: 0; background: transparent; color: #ffffff;
  font-family: inherit; font-size: clamp(10px, 2.7vw, 12px); line-height: 16px;
  letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap;
  text-decoration: none; cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}
@media (hover: hover) {
  .btn-outline:hover { background: #ffffff; color: #0a0a0a; }
  .legal-nav a:hover { color: #ffffff; }
}
.slogan {
  margin: 0; font-style: italic; font-weight: 400; letter-spacing: -0.02em; white-space: nowrap;
}

/* legal footer nav */
.legal-nav {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px;
  border-top: 1px solid #2e2e2e; padding-top: 8px;
}
.legal-nav a {
  display: inline-flex; align-items: center; min-height: 44px; color: #9a9a9a;
  font-size: 12px; line-height: 16px; letter-spacing: 0.06em; text-transform: uppercase;
  text-decoration: none; transition: color 160ms ease;
}
.legal-nav a[aria-current="page"] { color: #ffffff; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
