/* In The Know — gate / member UI (label-inspired) */
:root {
  --itk-black: #0d0d0d;
  --itk-charcoal: #1a1a1a;
  --itk-grey: #5c5c5c;
  --itk-grey-446: #3d464c;
  --itk-fog: #b8b8b8;
  --itk-paper: #e8e6e3;
  --itk-red: #ed1c24;
  --itk-green: #0b2418;
  --itk-green-mid: #143528;
  --itk-sans: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html, body.itk-theme {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(900px 500px at 50% 20%, rgba(20, 53, 40, 0.55), transparent 55%),
    linear-gradient(180deg, var(--itk-charcoal) 0%, var(--itk-black) 100%);
  color: var(--itk-paper);
  font-family: var(--itk-sans);
}

.itk-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  max-width: 520px;
  margin: 0 auto;
  padding: 1.25rem 1.25rem 2.5rem;
  box-sizing: border-box;
}

.itk-splash {
  position: fixed;
  inset: 10% -20% auto;
  height: 42vh;
  background:
    radial-gradient(ellipse at center, var(--itk-green-mid) 0%, transparent 70%);
  opacity: 0.85;
  pointer-events: none;
  filter: blur(2px);
  z-index: 0;
}

.itk-shell > * {
  position: relative;
  z-index: 1;
}

.itk-eyebrow {
  margin: 2.5rem 0 0.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--itk-red);
  font-weight: 700;
  text-align: center;
}

.itk-wordmark {
  margin: 0;
  text-align: center;
  font-size: clamp(2.4rem, 10vw, 3.4rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 800;
  color: #9a9a9a;
  line-height: 1.05;
}

.itk-title {
  margin: 0.35rem 0 0;
  text-align: center;
  font-size: clamp(1.8rem, 7vw, 2.4rem);
  font-weight: 700;
  color: var(--itk-paper);
}

.itk-lede, .itk-price, .itk-note, .itk-legal, .itk-secondary {
  text-align: center;
  color: var(--itk-fog);
  line-height: 1.45;
}

.itk-lede { margin: 1rem 0 1.5rem; font-size: 1.05rem; }
.itk-price { margin: 0.5rem 0 1rem; color: var(--itk-paper); font-size: 1.2rem; font-weight: 600; }
.itk-legal { margin-top: 2rem; font-size: 0.78rem; opacity: 0.7; }
.itk-secondary { margin-top: 1.25rem; }
.itk-secondary a { color: var(--itk-red); text-decoration: none; border-bottom: 1px solid rgba(237,28,36,0.35); }
.itk-optional { color: var(--itk-grey); font-weight: 400; text-transform: none; letter-spacing: 0; }

.itk-form {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 0.5rem;
}

.itk-label {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--itk-fog);
}

.itk-input {
  appearance: none;
  border: 1px solid rgba(232,230,227,0.22);
  background: rgba(0,0,0,0.35);
  color: var(--itk-paper);
  border-radius: 10px;
  padding: 0.85rem 0.95rem;
  font-size: 1rem;
}

.itk-input:focus {
  outline: 2px solid rgba(237,28,36,0.45);
  border-color: var(--itk-red);
}

.itk-check {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  color: var(--itk-fog);
  font-size: 0.95rem;
  margin: 0.35rem 0;
}

.itk-btn {
  appearance: none;
  border: 0;
  border-radius: 10px;
  background: var(--itk-red);
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  padding: 0.95rem 1rem;
  margin-top: 0.35rem;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
}

.itk-btn:disabled { opacity: 0.6; cursor: wait; }
.itk-btn--ghost {
  background: transparent;
  border: 1px solid rgba(232,230,227,0.35);
  color: var(--itk-paper);
  display: inline-block;
}

.itk-form-status {
  margin: 0.25rem 0 0;
  font-size: 0.95rem;
  color: var(--itk-paper);
}
.itk-form-status.is-error { color: #ff8a8a; }
.itk-form-status.is-ok { color: #9ddeaf; }

.itk-footer {
  margin-top: auto;
  padding-top: 2rem;
  text-align: center;
  font-size: 0.8rem;
  color: rgba(232,230,227,0.45);
}
.itk-footer a { color: rgba(232,230,227,0.65); text-decoration: none; margin: 0 0.4rem; }

@media (min-width: 768px) {
  .itk-shell { padding-top: 2.5rem; }
}
