/* ============================================================
   FLYRKIT — FK.SYSTEM landing styles
   FK.STYLE.001 — v1.0 — 2026
   Black floor · One magenta accent · Mono signatures everywhere
   ============================================================ */

:root {
  /* Core */
  --fk-black: #000000;
  --fk-off:   #F2F2F2;
  --fk-paper: #0A0A0A;
  --fk-paper-2: #111114;
  --fk-line:  #1F1F1F;
  --fk-line-2: #2A2A2A;
  --fk-muted: #666666;
  --fk-mute-2:#999999;

  /* Neon cycle — landing locks to FK.MAGENTA */
  --fk-magenta: #FF006E;
  --fk-cyan:    #00F5FF;
  --fk-strobe:  #FAFF00;
  --fk-acid:    #B6FF1A;
  --fk-red:     #FF2D2D;
  --fk-gold:    linear-gradient(90deg,#FFB800,#FFE38A,#FFB800);
  --fk-99:      #CCFF00;

  /* Type stack */
  --fk-display: 'Big Shoulders Display','Druk Wide Bold','Helvetica Neue Black','Arial Black',sans-serif;
  --fk-sans:    'Inter','Helvetica Neue',Arial,system-ui,sans-serif;
  --fk-mono:    'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;

  /* Layout */
  --fk-max: 1440px;
  --fk-gutter: clamp(20px, 4vw, 56px);
  --fk-radius: 0;          /* FLYRKIT is sharp — no rounded corners */
  --fk-bar: 8px;

  /* Motion */
  --fk-ease: cubic-bezier(.2,.7,.2,1);
}

/* -------- Reset -------- */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--fk-black);
  color: var(--fk-off);
  font-family: var(--fk-sans);
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--fk-magenta); color: var(--fk-off); }

/* -------- Utility -------- */
.fk-mono-small {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-muted);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.fk-mono-line {
  font-family: var(--fk-mono);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.fk-bar {
  display: inline-block;
  width: 24px;
  height: 1px;
  background: var(--fk-line-2);
}
.fk-accent { color: var(--fk-magenta); }
.fk-stroke { color: transparent; -webkit-text-stroke: 1.5px var(--fk-off); }

/* -------- Top bar -------- */
.fk-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  border-bottom: 1px solid var(--fk-line);
}
.fk-topbar-inner {
  max-width: var(--fk-max);
  margin: 0 auto;
  padding: 16px var(--fk-gutter);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
}
.fk-mark {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--fk-off);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 1;
}
.fk-mark-text { display: inline-block; }
.fk-mark-pulse {
  width: 8px; height: 8px;
  background: var(--fk-magenta);
  display: inline-block;
  animation: fk-pulse 1.4s var(--fk-ease) infinite;
}
@keyframes fk-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .35; transform: scale(.7); }
}
.fk-nav {
  display: flex;
  gap: 28px;
  justify-content: center;
  font-family: var(--fk-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
}
.fk-nav a { position: relative; padding: 6px 0; transition: color .2s var(--fk-ease); }
.fk-nav a:hover { color: var(--fk-off); }
.fk-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: var(--fk-magenta);
  transform: scaleX(0); transform-origin: left;
  transition: transform .25s var(--fk-ease);
}
.fk-nav a:hover::after { transform: scaleX(1); }

.fk-topbar-right { display: flex; align-items: center; gap: 12px; }
.fk-lang {
  display: inline-flex;
  border: 1px solid var(--fk-line);
  background: var(--fk-paper);
}
.fk-lang button {
  padding: 8px 12px;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--fk-mute-2);
  border-right: 1px solid var(--fk-line);
  transition: all .15s var(--fk-ease);
}
.fk-lang button:last-child { border-right: 0; }
.fk-lang button[aria-pressed="true"] {
  background: var(--fk-magenta);
  color: var(--fk-off);
}
.fk-lang button:hover:not([aria-pressed="true"]) { color: var(--fk-off); background: var(--fk-paper-2); }

.fk-cta-sm {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 10px 14px;
  border: 1px solid var(--fk-line);
  color: var(--fk-off);
  transition: all .2s var(--fk-ease);
}
.fk-cta-sm:hover { border-color: var(--fk-off); }

.fk-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--fk-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 12px 18px;
  background: var(--fk-magenta);
  color: var(--fk-off);
  transition: all .2s var(--fk-ease);
  border: 1px solid var(--fk-magenta);
}
.fk-cta:hover {
  background: var(--fk-off);
  color: var(--fk-black);
  border-color: var(--fk-off);
}
.fk-cta-lg {
  font-size: 14px;
  padding: 18px 28px;
}
.fk-cta-ghost {
  font-family: var(--fk-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 18px 28px;
  border: 1px solid var(--fk-line-2);
  color: var(--fk-off);
  transition: all .2s var(--fk-ease);
}
.fk-cta-ghost:hover { border-color: var(--fk-magenta); color: var(--fk-magenta); }

/* -------- HERO -------- */
.fk-hero {
  position: relative;
  padding: clamp(80px, 12vw, 160px) var(--fk-gutter) clamp(60px, 8vw, 120px);
  max-width: var(--fk-max);
  margin: 0 auto;
  isolation: isolate;
}
.fk-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--fk-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--fk-line) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity: .25;
  -webkit-mask-image: radial-gradient(ellipse at center, black 35%, transparent 78%);
          mask-image: radial-gradient(ellipse at center, black 35%, transparent 78%);
  pointer-events: none;
  z-index: -1;
}
.fk-hero-inner { position: relative; }
.fk-hero-meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-muted);
  padding-bottom: 32px;
  margin-bottom: 64px;
  border-bottom: 1px solid var(--fk-line);
}
.fk-mono-live { display: inline-flex; align-items: center; gap: 8px; color: var(--fk-magenta); }
.fk-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fk-magenta);
  box-shadow: 0 0 12px var(--fk-magenta);
  animation: fk-pulse 1s var(--fk-ease) infinite;
}

.fk-hero-title {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: clamp(64px, 11vw, 180px);
  line-height: 0.86;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  color: var(--fk-off);
  margin-bottom: 48px;
}
.fk-hero-title span { display: block; }
.fk-hero-line-2 { margin-top: -0.05em; }
.fk-hero-line-2 .fk-stroke,
.fk-hero-line-2 .fk-accent { display: inline; }

.fk-hero-lead {
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.5;
  max-width: 740px;
  color: #C9C9C9;
  margin-bottom: 40px;
  font-weight: 400;
}
.fk-hero-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 80px;
}

.fk-hero-footer {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  border-top: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  padding: 28px 0;
}
.fk-hero-stat { display: flex; flex-direction: column; gap: 4px; }
.fk-stat-num {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--fk-off);
}
.fk-stat-label {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fk-muted);
}
.fk-hero-sig {
  margin-top: 24px;
  justify-content: space-between;
  width: 100%;
}

/* -------- Ticker -------- */
.fk-ticker {
  overflow: hidden;
  white-space: nowrap;
  border-top: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  background: var(--fk-paper);
  padding: 18px 0;
}
.fk-ticker-track {
  display: inline-flex;
  gap: 48px;
  animation: fk-marquee 50s linear infinite;
  font-family: var(--fk-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
  will-change: transform;
}
.fk-ticker-track span { padding: 0 16px; border-left: 1px solid var(--fk-line); }
.fk-ticker-track span:first-child { border-left: 0; }
.fk-ticker-track span:nth-child(7n) { color: var(--fk-magenta); }
@keyframes fk-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* -------- Sections -------- */
.fk-section {
  max-width: var(--fk-max);
  margin: 0 auto;
  padding: clamp(80px, 10vw, 140px) var(--fk-gutter);
  border-bottom: 1px solid var(--fk-line);
}
.fk-section-meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--fk-muted);
  margin-bottom: 56px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--fk-line);
}
.fk-h2 {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: clamp(44px, 6vw, 96px);
  line-height: 0.88;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  margin-bottom: 40px;
  color: var(--fk-off);
}
.fk-h2 span { display: inline; }
.fk-lead {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.5;
  max-width: 820px;
  color: #BDBDBD;
  margin-bottom: 56px;
}

/* -------- PAIN -------- */
.fk-pain-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}
.fk-pain-card {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  padding: 40px 28px;
  position: relative;
  transition: border-color .25s var(--fk-ease), transform .25s var(--fk-ease);
}
.fk-pain-card:hover { border-color: var(--fk-line-2); }
.fk-pain-mid {
  border-color: var(--fk-magenta);
  background: linear-gradient(180deg, rgba(255,0,110,.06), var(--fk-paper) 70%);
}
.fk-pain-mid:hover { border-color: var(--fk-magenta); }
.fk-pain-num {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 56px;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--fk-off);
  margin-bottom: 20px;
}
.fk-pain-num span {
  font-family: var(--fk-mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fk-muted);
  margin-left: 6px;
}
.fk-pain-mid .fk-pain-num { color: var(--fk-magenta); font-size: 20px; }
.fk-pain-mid .fk-pain-num span { color: var(--fk-magenta); margin: 0; }
.fk-pain-card h3 {
  font-family: var(--fk-display);
  font-size: 26px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin-bottom: 14px;
  color: var(--fk-off);
}
.fk-pain-card p { font-size: 15px; color: #AAA; line-height: 1.55; }
.fk-pain-mid p strong { color: var(--fk-magenta); font-weight: 700; }

/* -------- HOW -------- */
.fk-how-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--fk-line);
  margin-top: 56px;
}
.fk-step {
  border-right: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  padding: 40px 28px;
  position: relative;
  background: var(--fk-black);
  transition: background .25s var(--fk-ease);
}
.fk-step:last-child { border-right: 0; }
.fk-step:hover { background: var(--fk-paper); }
.fk-step-id {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-magenta);
  margin-bottom: 24px;
}
.fk-step-bar {
  width: 36px;
  height: 6px;
  background: var(--fk-magenta);
  margin-bottom: 24px;
}
.fk-step h3 {
  font-family: var(--fk-display);
  font-size: 30px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin-bottom: 14px;
  color: var(--fk-off);
}
.fk-step p { font-size: 15px; color: #AAA; line-height: 1.55; margin-bottom: 24px; }
.fk-step-mono {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
  padding-top: 16px;
  border-top: 1px solid var(--fk-line);
}

/* -------- ARCHETYPES -------- */
.fk-arch-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.fk-arch-card {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .2s var(--fk-ease), transform .2s var(--fk-ease);
}
.fk-arch-card:hover { border-color: var(--fk-magenta); transform: translateY(-2px); }
.fk-arch-img {
  aspect-ratio: 4/5;
  background-size: cover;
  background-position: center;
  background-color: var(--fk-paper-2);
}
.fk-arch-img-coming {
  aspect-ratio: 4/5;
  background: var(--fk-paper-2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-family: var(--fk-display);
  font-size: 22px;
  text-transform: uppercase;
  color: var(--fk-mute-2);
  letter-spacing: -0.01em;
  border-bottom: 1px solid var(--fk-line);
}
.fk-arch-coming-sub {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--fk-muted);
}
.fk-arch-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  font-family: var(--fk-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-muted);
  border-top: 1px solid var(--fk-line);
  gap: 8px;
  flex-wrap: wrap;
}

.fk-pill {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--fk-line);
  font-family: var(--fk-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: #BBB;
  text-transform: uppercase;
}
.fk-pill-mag    { border-color: var(--fk-magenta); color: var(--fk-magenta); }
.fk-pill-cyan   { border-color: var(--fk-cyan);    color: var(--fk-cyan); }
.fk-pill-strobe { border-color: var(--fk-strobe);  color: var(--fk-strobe); }
.fk-pill-acid   { border-color: var(--fk-acid);    color: var(--fk-acid); }
.fk-pill-gold   { border-color: #FFB800;           color: #FFE38A; }
.fk-pill-red    { border-color: var(--fk-red);     color: var(--fk-red); }

/* -------- PROOF -------- */
.fk-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.fk-quote {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  border-left: 4px solid var(--fk-magenta);
  padding: 36px 28px;
  position: relative;
}
.fk-quote::before {
  content: "▮";
  font-family: var(--fk-mono);
  color: var(--fk-magenta);
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 14px;
}
.fk-quote p {
  font-family: var(--fk-display);
  font-weight: 800;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--fk-off);
  margin-bottom: 24px;
}
.fk-quote footer {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-muted);
}
.fk-quote footer span:first-child { color: var(--fk-off); }

.fk-proof-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 64px;
  border-top: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
}
.fk-stat-block {
  padding: 32px 24px;
  border-right: 1px solid var(--fk-line);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.fk-stat-block:last-child { border-right: 0; }
.fk-stat-block .fk-stat-num { color: var(--fk-magenta); }

/* -------- PRICING -------- */
.fk-currency-switch {
  display: inline-flex;
  border: 1px solid var(--fk-line);
  background: var(--fk-paper);
  margin-bottom: 40px;
}
.fk-currency-switch button {
  padding: 10px 16px;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--fk-mute-2);
  border-right: 1px solid var(--fk-line);
  transition: all .15s var(--fk-ease);
}
.fk-currency-switch button:last-child { border-right: 0; }
.fk-currency-switch button[aria-pressed="true"] { background: var(--fk-magenta); color: var(--fk-off); }
.fk-currency-switch button:hover:not([aria-pressed="true"]) { color: var(--fk-off); background: var(--fk-paper-2); }

.fk-tier-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 32px;
}
.fk-tier {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  padding: 36px 28px 28px;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: border-color .25s var(--fk-ease), transform .25s var(--fk-ease);
}
.fk-tier:hover { border-color: var(--fk-line-2); }
.fk-tier-featured {
  border-color: var(--fk-magenta);
  background:
    linear-gradient(180deg, rgba(255,0,110,.08), var(--fk-paper) 60%);
  transform: translateY(-8px);
}
.fk-tier-featured:hover { border-color: var(--fk-magenta); }
.fk-tier-badge {
  position: absolute;
  top: -12px;
  left: 28px;
  background: var(--fk-magenta);
  color: var(--fk-off);
  padding: 6px 12px;
  font-family: var(--fk-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.fk-tier-head { margin-bottom: 24px; }
.fk-tier-name {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 36px;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  color: var(--fk-off);
  margin-bottom: 6px;
}
.fk-tier-featured .fk-tier-name { color: var(--fk-magenta); }
.fk-tier-tag {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
}
.fk-tier-price {
  padding: 18px 0;
  border-top: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  margin-bottom: 24px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.fk-tier-amount {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 56px;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--fk-off);
}
.fk-tier-period {
  font-family: var(--fk-mono);
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-muted);
}
.fk-tier-list {
  list-style: none;
  margin-bottom: 28px;
  flex: 1;
}
.fk-tier-list li {
  padding: 12px 0;
  border-bottom: 1px solid var(--fk-line);
  font-size: 14px;
  color: #C2C2C2;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.fk-tier-list li::before {
  content: "→";
  font-family: var(--fk-mono);
  color: var(--fk-magenta);
  font-size: 12px;
  margin-top: 2px;
}
.fk-tier-cta {
  display: block;
  padding: 16px;
  text-align: center;
  font-family: var(--fk-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border: 1px solid var(--fk-line-2);
  color: var(--fk-off);
  transition: all .2s var(--fk-ease);
  margin-bottom: 20px;
}
.fk-tier-cta:hover { border-color: var(--fk-magenta); color: var(--fk-magenta); }
.fk-tier-cta-featured {
  background: var(--fk-magenta);
  border-color: var(--fk-magenta);
}
.fk-tier-cta-featured:hover {
  background: var(--fk-off);
  color: var(--fk-black);
  border-color: var(--fk-off);
}
.fk-tier-foot {
  padding-top: 16px;
  border-top: 1px solid var(--fk-line);
  font-size: 10px;
}

.fk-pricing-fine {
  justify-content: center;
  text-align: center;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--fk-line);
}

/* -------- COMPARE -------- */
.fk-compare-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--fk-line);
  margin-top: 32px;
}
.fk-compare-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  background: var(--fk-paper);
}
.fk-compare-table th,
.fk-compare-table td {
  padding: 20px 24px;
  text-align: left;
  border-right: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  font-size: 14px;
  color: #C2C2C2;
}
.fk-compare-table th { color: var(--fk-off); font-weight: 500; }
.fk-compare-table thead th {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fk-muted);
  background: var(--fk-black);
}
.fk-th-flyrkit {
  color: var(--fk-magenta) !important;
  border-top: 2px solid var(--fk-magenta);
}
.fk-td-flyrkit {
  color: var(--fk-off) !important;
  background: rgba(255,0,110,.05);
  font-weight: 500;
}
.fk-compare-table tbody th {
  font-family: var(--fk-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
  width: 200px;
  background: var(--fk-black);
}

/* -------- FAQ -------- */
.fk-faq-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--fk-line);
}
.fk-faq-item {
  border-bottom: 1px solid var(--fk-line);
}
.fk-faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 28px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  font-family: var(--fk-display);
  font-weight: 800;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: -0.015em;
  text-transform: uppercase;
  color: var(--fk-off);
  transition: color .2s var(--fk-ease);
}
.fk-faq-item summary::-webkit-details-marker { display: none; }
.fk-faq-item summary:hover { color: var(--fk-magenta); }
.fk-faq-toggle {
  font-family: var(--fk-mono);
  font-size: 24px;
  color: var(--fk-magenta);
  transition: transform .25s var(--fk-ease);
  flex-shrink: 0;
}
.fk-faq-item[open] .fk-faq-toggle { transform: rotate(45deg); }
.fk-faq-item p {
  padding: 0 0 32px;
  max-width: 760px;
  font-size: 16px;
  line-height: 1.6;
  color: #BDBDBD;
}

/* -------- FINAL CTA -------- */
.fk-final {
  position: relative;
  padding: clamp(100px, 14vw, 200px) var(--fk-gutter);
  max-width: var(--fk-max);
  margin: 0 auto;
  text-align: center;
  isolation: isolate;
  overflow: hidden;
}
.fk-final-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,0,110,.18), transparent 55%),
    linear-gradient(180deg, transparent, var(--fk-paper) 100%);
  z-index: -1;
}
.fk-final-inner { max-width: 920px; margin: 0 auto; }
.fk-final .fk-mono-line { justify-content: center; margin-bottom: 40px; color: var(--fk-magenta); }
.fk-final-title {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: clamp(56px, 9vw, 140px);
  line-height: 0.85;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  margin-bottom: 32px;
  color: var(--fk-off);
}
.fk-final-title span { display: block; }
.fk-final-lead {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.55;
  color: #BDBDBD;
  max-width: 680px;
  margin: 0 auto 48px;
}
.fk-final-ctas {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* -------- FOOTER -------- */
.fk-foot {
  background: var(--fk-paper);
  border-top: 1px solid var(--fk-line);
  position: relative;
  overflow: hidden;
}
.fk-foot-inner {
  max-width: var(--fk-max);
  margin: 0 auto;
  padding: 80px var(--fk-gutter) 0;
}
.fk-foot-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 64px;
  border-bottom: 1px solid var(--fk-line);
}
.fk-foot-brand p {
  margin-top: 16px;
  font-size: 14px;
  color: #999;
  max-width: 320px;
  line-height: 1.6;
}
.fk-foot-langs { margin-top: 20px; }
.fk-foot-mark { font-size: 28px; }
.fk-foot-col h6 {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--fk-magenta);
  margin-bottom: 18px;
}
.fk-foot-col ul { list-style: none; }
.fk-foot-col li {
  padding: 8px 0;
  font-size: 14px;
}
.fk-foot-col a {
  color: #C2C2C2;
  transition: color .15s var(--fk-ease);
}
.fk-foot-col a:hover { color: var(--fk-magenta); }
.fk-foot-bottom {
  padding: 32px 0;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.fk-foot-tag { color: var(--fk-mute-2); }
.fk-foot-bigtype {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: clamp(120px, 26vw, 380px);
  line-height: 0.78;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px var(--fk-line-2);
  margin: 24px 0 -0.18em;
  user-select: none;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
}

/* =============== RESPONSIVE =============== */
@media (max-width: 1100px) {
  .fk-tier-grid,
  .fk-pain-grid,
  .fk-proof-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .fk-arch-grid { grid-template-columns: repeat(3, 1fr); }
  .fk-how-grid  { grid-template-columns: repeat(2, 1fr); }
  .fk-step:nth-child(2) { border-right: 0; }
  .fk-hero-footer { grid-template-columns: repeat(2, 1fr); }
  .fk-proof-stats { grid-template-columns: repeat(2, 1fr); }
  .fk-stat-block:nth-child(2) { border-right: 0; }
  .fk-foot-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .fk-topbar-inner { grid-template-columns: auto auto; gap: 12px; }
  .fk-nav { display: none; }
  .fk-topbar-right { gap: 8px; }
  .fk-cta-sm { display: none; }
  .fk-lang { font-size: 10px; }
  .fk-lang button { padding: 6px 10px; }

  .fk-tier-grid,
  .fk-pain-grid,
  .fk-proof-grid,
  .fk-arch-grid,
  .fk-how-grid,
  .fk-foot-grid,
  .fk-proof-stats {
    grid-template-columns: 1fr;
  }
  .fk-step { border-right: 0; }
  .fk-stat-block { border-right: 0; border-bottom: 1px solid var(--fk-line); }
  .fk-stat-block:last-child { border-bottom: 0; }

  .fk-tier-featured { transform: none; }
  .fk-hero-footer { grid-template-columns: 1fr 1fr; gap: 24px; }
  .fk-hero-ctas { flex-direction: column; align-items: stretch; }
  .fk-hero-ctas .fk-cta, .fk-hero-ctas .fk-cta-ghost { text-align: center; justify-content: center; }
  .fk-final-ctas { flex-direction: column; }
  .fk-section { padding: 80px 20px; }
  .fk-section-meta { font-size: 10px; gap: 8px; }
  .fk-foot-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 480px) {
  .fk-hero { padding: 40px 20px 60px; }
  .fk-hero-meta { font-size: 9px; }
  .fk-hero-title { font-size: clamp(48px, 14vw, 80px); }
  .fk-section-meta { flex-direction: column; align-items: flex-start; }
  .fk-cta-lg { padding: 16px 22px; font-size: 12px; }
}

/* ============================================================
   V2 — Services, Radar, Cases, Do's/Don'ts
   ============================================================ */

/* -------- SERVICES -------- */
.fk-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 48px;
}
@media (max-width: 1100px) { .fk-services-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px)  { .fk-services-grid { grid-template-columns: 1fr; } }
.fk-service-card {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  padding: 32px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all .25s var(--fk-ease);
  position: relative;
}
.fk-service-card:hover {
  border-color: var(--fk-line-2);
  transform: translateY(-2px);
}
.fk-service-featured {
  border-color: var(--fk-magenta);
  background: linear-gradient(180deg, rgba(255,0,110,.08), var(--fk-paper) 70%);
}
.fk-service-featured:hover { border-color: var(--fk-magenta); }
.fk-service-id {
  font-family: var(--fk-mono);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-magenta);
}
.fk-service-card h3 {
  font-family: var(--fk-display);
  font-weight: 800;
  font-size: 28px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--fk-off);
}
.fk-service-card p {
  font-size: 15px;
  color: #B5B5B5;
  line-height: 1.55;
  flex: 1;
}
.fk-service-card p strong { color: var(--fk-magenta); font-weight: 700; }
.fk-service-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid var(--fk-line);
  gap: 10px;
  flex-wrap: wrap;
}
.fk-service-meta .fk-mono-small { color: var(--fk-mute-2); gap: 6px; }

/* -------- FK.RADAR SECTION -------- */
.fk-radar-section { position: relative; isolation: isolate; }
.fk-radar-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 30%, rgba(255,0,110,.10), transparent 55%);
  z-index: -1;
  pointer-events: none;
}
.fk-radar-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  align-items: stretch;
  margin-bottom: 80px;
}
@media (max-width: 980px) { .fk-radar-hero { grid-template-columns: 1fr; gap: 32px; } }
.fk-radar-text { display: flex; flex-direction: column; justify-content: center; }
.fk-radar-text .fk-page-eyebrow {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-magenta);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fk-radar-text .fk-page-eyebrow .fk-dot {
  width: 6px; height: 6px;
  background: var(--fk-magenta); border-radius: 50%;
  box-shadow: 0 0 12px var(--fk-magenta);
  animation: fk-pulse 1.4s var(--fk-ease) infinite;
}
.fk-radar-lead {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.55;
  color: #BDBDBD;
  margin-top: 24px;
  max-width: 580px;
}

.fk-radar-card-show {
  background: var(--fk-paper);
  border: 1px solid var(--fk-magenta);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
  overflow: hidden;
}
.fk-radar-card-show::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(var(--fk-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--fk-line) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: .18;
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 85%);
          mask-image: radial-gradient(ellipse at center, black 30%, transparent 85%);
  pointer-events: none;
}
.fk-radar-show-head {
  display: flex;
  justify-content: space-between;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-magenta);
  padding-bottom: 14px;
  border-bottom: 1px solid var(--fk-line);
  z-index: 1;
}
.fk-radar-show-title {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 42px;
  line-height: 0.9;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--fk-off);
}
.fk-radar-show-sub {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-mute-2);
}
.fk-radar-show-modules {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--fk-line);
}
.fk-radar-show-mod {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--fk-line);
  font-family: var(--fk-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--fk-off);
}
.fk-radar-show-id {
  color: var(--fk-magenta);
  letter-spacing: 0.2em;
}
.fk-radar-show-foot {
  font-family: var(--fk-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-muted);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.fk-radar-modules {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  margin-bottom: 56px;
}
@media (max-width: 1100px) { .fk-radar-modules { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  { .fk-radar-modules { grid-template-columns: 1fr; } }
.fk-radar-module {
  padding: 36px 28px;
  border-right: 1px solid var(--fk-line);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.fk-radar-module:last-child { border-right: 0; }
@media (max-width: 1100px) {
  .fk-radar-module:nth-child(2) { border-right: 0; }
  .fk-radar-module { border-bottom: 1px solid var(--fk-line); }
  .fk-radar-module:nth-last-child(-n+2) { border-bottom: 0; }
}
.fk-radar-mod-id {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-magenta);
}
.fk-radar-module h3 {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 28px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--fk-off);
}
.fk-radar-module p { font-size: 14px; color: #B5B5B5; line-height: 1.55; }

.fk-radar-script {
  background: var(--fk-paper);
  border: 1px solid var(--fk-magenta);
  padding: 40px;
  text-align: center;
  position: relative;
}
.fk-radar-script-tag {
  justify-content: center;
  color: var(--fk-magenta);
  margin-bottom: 20px;
}
.fk-radar-quote {
  font-family: var(--fk-display);
  font-weight: 800;
  font-size: clamp(20px, 2.4vw, 32px);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--fk-off);
  max-width: 880px;
  margin: 0 auto 32px;
}
.fk-radar-quote::before { content: '"'; color: var(--fk-magenta); }
.fk-radar-quote::after { content: '"'; color: var(--fk-magenta); }

/* -------- CASES -------- */
.fk-cases-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 32px;
}
.fk-case {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  overflow: hidden;
  transition: border-color .25s var(--fk-ease);
}
.fk-case:hover { border-color: var(--fk-line-2); }
.fk-case-head {
  padding: 24px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--fk-line);
  background: var(--fk-black);
}
.fk-case-id {
  font-family: var(--fk-display);
  font-weight: 900;
  font-size: 40px;
  letter-spacing: -0.03em;
  color: var(--fk-magenta);
}
.fk-case-meta {
  display: flex;
  gap: 14px;
  align-items: center;
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-muted);
  flex-wrap: wrap;
}
.fk-case-body { padding: 32px; }
.fk-case-title {
  font-family: var(--fk-display);
  font-weight: 800;
  font-size: clamp(24px, 2.4vw, 36px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--fk-off);
  margin-bottom: 32px;
  max-width: 880px;
}
.fk-case-stage {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--fk-line);
  border-bottom: 1px solid var(--fk-line);
  margin-bottom: 28px;
}
@media (max-width: 900px) {
  .fk-case-stage { grid-template-columns: 1fr; }
  .fk-case-step { border-right: 0 !important; border-bottom: 1px solid var(--fk-line); }
  .fk-case-step:last-child { border-bottom: 0; }
}
.fk-case-step {
  padding: 24px;
  border-right: 1px solid var(--fk-line);
}
.fk-case-step:last-child { border-right: 0; }
.fk-case-step-id {
  font-family: var(--fk-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-magenta);
  margin-bottom: 12px;
}
.fk-case-step p { font-size: 14px; color: #C2C2C2; line-height: 1.6; }
.fk-case-foot {
  justify-content: flex-start;
  flex-wrap: wrap;
  color: var(--fk-muted);
}

/* -------- DO'S / DON'TS -------- */
.fk-dos-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 40px;
}
@media (max-width: 980px) { .fk-dos-cols { grid-template-columns: 1fr; } }
.fk-dos-col {
  background: var(--fk-paper);
  border: 1px solid var(--fk-line);
  padding: 0;
  display: flex;
  flex-direction: column;
}
.fk-dos-do { border-color: var(--fk-acid); }
.fk-dos-dont { border-color: var(--fk-red); }
.fk-dos-col-head {
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--fk-line);
  background: var(--fk-black);
}
.fk-dos-col-tag {
  font-family: var(--fk-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  padding: 6px 12px;
  border: 1px solid;
}
.fk-dos-row {
  padding: 22px 24px;
  border-bottom: 1px solid var(--fk-line);
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  align-items: flex-start;
}
.fk-dos-row:last-child { border-bottom: 0; }
.fk-dos-row-id {
  font-family: var(--fk-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fk-muted);
  padding-top: 4px;
}
.fk-dos-do .fk-dos-row-id { color: var(--fk-acid); }
.fk-dos-dont .fk-dos-row-id { color: var(--fk-red); }
.fk-dos-row h4 {
  font-family: var(--fk-display);
  font-weight: 800;
  font-size: 20px;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  color: var(--fk-off);
  margin-bottom: 8px;
}
.fk-dos-row p {
  font-size: 14px;
  color: #BBB;
  line-height: 1.55;
}
@media (max-width: 540px) {
  .fk-dos-row { grid-template-columns: 1fr; gap: 8px; }
}

/* -------- Reveal -------- */
.fk-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s var(--fk-ease), transform .7s var(--fk-ease);
}
.fk-reveal.fk-in {
  opacity: 1;
  transform: translateY(0);
}

/* Respect motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .fk-ticker-track { animation: none; }
  .fk-reveal { opacity: 1; transform: none; }
}
