:root {
  --fk-ink: #17162f;
  --fk-ink-soft: #34334e;
  --fk-muted: #696a7f;
  --fk-violet: #5145e5;
  --fk-violet-2: #6b5ff1;
  --fk-deep: #17143f;
  --fk-deep-2: #25205f;
  --fk-cyan: #2dd4df;
  --fk-cyan-soft: #dcfbfd;
  --fk-lilac: #efedff;
  --fk-surface: #f6f7fc;
  --fk-surface-2: #fbfbff;
  --fk-line: #e2e3ef;
  --fk-white: #fff;
  --fk-green: #2b9c69;
  --fk-yellow: #e4a520;
  --fk-red: #d75e67;
  --fk-blue: #467fc5;
  --fk-radius-sm: 16px;
  --fk-radius: 26px;
  --fk-radius-lg: 38px;
  --fk-shadow-sm: 0 18px 48px rgba(35, 31, 94, .10);
  --fk-shadow: 0 32px 86px rgba(35, 31, 94, .18);
  --fk-wrap: min(1280px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--fk-ink);
  background: var(--fk-white);
  font-family: Lexend, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.fk-menu-open { overflow: hidden; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
.fk-wrap { width: var(--fk-wrap); margin-inline: auto; }
.fk-skip {
  position: fixed;
  top: -80px;
  left: 16px;
  z-index: 1000;
  padding: 12px 18px;
  border-radius: 12px;
  color: #fff;
  background: var(--fk-deep);
  text-decoration: none;
}
.fk-skip:focus { top: 16px; }

/* Header */
.fk-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(23, 20, 63, .08);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(18px);
}
.fk-nav-shell {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.fk-brand {
  min-width: 220px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: -.03em;
}
.fk-brand img { width: 48px; height: 48px; flex: 0 0 auto; }
.fk-brand > span { display: grid; font-size: 1.2rem; line-height: 1.05; }
.fk-brand small {
  max-width: 310px;
  margin-top: 6px;
  color: var(--fk-muted);
  font-size: .67rem;
  font-weight: 660;
  line-height: 1.25;
  letter-spacing: 0;
}
.fk-nav-panel { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.fk-main-nav { display: flex; align-items: center; gap: 2px; }
.fk-main-nav a,
.fk-nav-login {
  padding: 10px 11px;
  border-radius: 999px;
  color: #55566b;
  font-size: .84rem;
  font-weight: 760;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.fk-main-nav a:hover,
.fk-main-nav a[aria-current="page"] { color: var(--fk-deep); background: var(--fk-lilac); }
.fk-nav-actions { display: flex; align-items: center; gap: 8px; }
.fk-nav-login:hover { color: var(--fk-violet); }
.fk-language {
  display: flex;
  align-items: center;
  padding: 4px;
  border: 1px solid var(--fk-line);
  border-radius: 999px;
  background: #fff;
}
.fk-language a {
  width: 34px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--fk-muted);
  font-size: .7rem;
  font-weight: 900;
  text-decoration: none;
}
.fk-language a[aria-current="true"] { color: #fff; background: var(--fk-deep); }
.fk-menu-button { display: none; }

/* Common */
.fk-button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.fk-button:hover { transform: translateY(-2px); }
.fk-button-small { min-height: 42px; padding: 10px 16px; font-size: .78rem; }
.fk-button-primary { color: #fff; background: var(--fk-deep); box-shadow: 0 15px 30px rgba(23, 20, 63, .18); }
.fk-button-primary:hover { background: var(--fk-violet); box-shadow: 0 18px 38px rgba(81, 69, 229, .23); }
.fk-button-secondary { color: var(--fk-deep); border-color: rgba(81,69,229,.18); background: rgba(255,255,255,.8); }
.fk-button-secondary:hover { box-shadow: var(--fk-shadow-sm); }
.fk-button-light { color: var(--fk-deep); background: #fff; }
.fk-button-ghost { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); }
.fk-eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  padding: 7px 12px;
  border: 1px solid rgba(81, 69, 229, .16);
  border-radius: 999px;
  color: var(--fk-deep-2);
  background: rgba(255,255,255,.65);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}
.fk-section { padding: 104px 0; }
.fk-section-soft { background: var(--fk-surface); }
.fk-section-heading { max-width: 800px; margin-bottom: 46px; }
.fk-section-heading h2,
.fk-content-copy h2,
.fk-form-copy h2,
.fk-final-cta h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1.06;
  letter-spacing: -.045em;
}
.fk-section-heading > p:last-child,
.fk-content-copy > p,
.fk-form-copy > p {
  max-width: 730px;
  margin: 20px 0 0;
  color: var(--fk-muted);
  font-size: 1.06rem;
}

/* Breadcrumb */
.fk-breadcrumb-wrap { border-bottom: 1px solid rgba(23,20,63,.06); background: #fbfbff; }
.fk-breadcrumb { min-height: 49px; display: flex; align-items: center; gap: 9px; color: var(--fk-muted); font-size: .76rem; }
.fk-breadcrumb a { color: var(--fk-violet); font-weight: 760; text-decoration: none; }

/* Hero */
.fk-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 94px;
  background: linear-gradient(145deg, #fcfcff 0%, #f1f0ff 54%, #e4fbfc 100%);
}
.fk-hero-home { padding-top: 96px; }
.fk-hero-glow { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(3px); }
.fk-hero-glow-one { width: 580px; height: 580px; top: -330px; left: -260px; background: rgba(81,69,229,.13); }
.fk-hero-glow-two { width: 520px; height: 520px; right: -260px; bottom: -300px; background: rgba(45,212,223,.20); }
.fk-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(500px, .88fr); align-items: center; gap: clamp(34px, 4vw, 58px); }
.fk-hero-copy { min-width: 0; }
.fk-hero-copy h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(3rem, 4.4vw, 3.95rem);
  line-height: 1.01;
  letter-spacing: -.06em;
  hyphens: auto;
  overflow-wrap: break-word;
}
.fk-hero:not(.fk-hero-home) .fk-hero-copy h1 { max-width: 15ch; font-size: clamp(2.8rem, 4.7vw, 5rem); }
.fk-lead { max-width: 710px; margin: 25px 0 0; color: var(--fk-muted); font-size: clamp(1.05rem, 1.45vw, 1.27rem); }
.fk-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.fk-hero-points { display: flex; flex-wrap: wrap; gap: 9px 20px; margin: 27px 0 0; padding: 0; list-style: none; }
.fk-hero-points li { display: inline-flex; align-items: flex-start; gap: 7px; color: #55566b; font-size: .78rem; font-weight: 720; }
.fk-hero-points span { color: var(--fk-green); font-weight: 1000; }

/* Product scene */
.fk-product-scene { position: relative; min-height: 520px; }
.fk-screen {
  position: absolute;
  inset: 16px 28px 22px 0;
  overflow: hidden;
  border: 1px solid rgba(23,20,63,.11);
  border-radius: 30px;
  background: #fff;
  box-shadow: var(--fk-shadow);
  transform: rotate(1deg);
}
.fk-screen-bar {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 18px;
  border-bottom: 1px solid var(--fk-line);
  color: #76778b;
  background: #fbfbff;
  font-size: .68rem;
}
.fk-screen-bar i { width: 10px; height: 10px; border-radius: 50%; background: #d6d7e4; }
.fk-screen-bar i:first-child { background: #ff756d; }
.fk-screen-bar i:nth-child(2) { background: #ffc857; }
.fk-screen-bar i:nth-child(3) { background: #69ce94; }
.fk-screen-bar strong { margin-left: 8px; color: var(--fk-deep); }
.fk-screen-bar span { margin-left: auto; font-weight: 760; }
.fk-screen-body { min-height: 420px; display: grid; grid-template-columns: 62px 1fr; }
.fk-screen-body aside { display: flex; flex-direction: column; align-items: center; gap: 19px; padding: 17px 0; background: var(--fk-deep); }
.fk-screen-body aside b { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--fk-deep); background: var(--fk-cyan); }
.fk-screen-body aside i { width: 23px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.16); }
.fk-screen-body aside i.active { width: 31px; background: #fff; }
.fk-dashboard { min-width: 0; padding: 18px; background: #fafaff; }
.fk-dashboard-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.fk-dashboard-title div { display: grid; }
.fk-dashboard-title small { color: var(--fk-muted); font-size: .65rem; font-weight: 750; }
.fk-dashboard-title strong { color: var(--fk-deep); font-size: 1.15rem; }
.fk-dashboard-title button { width: 33px; height: 33px; border: 0; border-radius: 50%; color: #fff; background: var(--fk-violet); }
.fk-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.fk-metric-grid article { min-width: 0; padding: 13px; border: 1px solid #ebebf4; border-radius: 16px; background: #fff; }
.fk-metric-grid small { display: block; overflow: hidden; color: var(--fk-muted); font-size: .61rem; font-weight: 730; text-overflow: ellipsis; white-space: nowrap; }
.fk-metric-grid strong { display: inline-block; margin-top: 3px; color: var(--fk-deep); font-size: 1.4rem; }
.fk-metric-grid span { float: right; margin-top: 10px; color: var(--fk-green); font-size: .62rem; font-weight: 900; }
.fk-agenda-list { display: grid; gap: 9px; margin-top: 14px; }
.fk-agenda-list article { display: grid; grid-template-columns: 52px minmax(0,1fr) 27px; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e5e6f0; border-radius: 14px; background: #fff; }
.fk-agenda-list time { color: var(--fk-deep); font-size: .75rem; font-weight: 900; }
.fk-agenda-list div { min-width: 0; display: grid; }
.fk-agenda-list strong { overflow: hidden; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.fk-agenda-list span { color: var(--fk-muted); font-size: .62rem; }
.fk-agenda-list em { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #17633f; background: #dff5e8; font-size: .65rem; font-style: normal; font-weight: 900; }
.fk-agenda-list article:nth-child(2) em { color: #2d5b91; background: #e2f0ff; }
.fk-agenda-list article.course { border-style: dashed; border-color: rgba(81,69,229,.34); background: #f4f3ff; }
.fk-agenda-list article.course em { color: #5c4c00; background: #fff0bd; }
.fk-phone {
  position: absolute;
  right: -8px;
  bottom: -8px;
  z-index: 3;
  width: 208px;
  min-height: 356px;
  padding: 14px;
  border: 7px solid var(--fk-deep);
  border-radius: 35px;
  background: #fff;
  box-shadow: 0 30px 65px rgba(23,20,63,.29);
  transform: rotate(-4deg);
}
.fk-phone-top { display: flex; align-items: center; justify-content: space-between; color: #76778a; font-size: .59rem; font-weight: 800; }
.fk-phone-top i { width: 52px; height: 13px; border-radius: 999px; background: var(--fk-deep); }
.fk-phone > small { display: block; margin: 20px 0 11px; color: var(--fk-deep); font-weight: 900; }
.fk-progress { width: 112px; height: 112px; display: grid; place-content: center; margin: 0 auto; border-radius: 50%; text-align: center; background: conic-gradient(var(--fk-green) 0 68%, #ececf5 68% 100%); box-shadow: inset 0 0 0 15px #fff; }
.fk-progress strong { font-size: 1.45rem; line-height: 1; }
.fk-progress span { color: var(--fk-muted); font-size: .55rem; }
.fk-progress-bars { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin-top: 14px; }
.fk-progress-bars i { height: 9px; border-radius: 999px; background: var(--fk-green); }
.fk-progress-bars i:nth-child(2) { background: var(--fk-yellow); }
.fk-progress-bars i:nth-child(3) { background: var(--fk-red); }
.fk-progress-bars i:nth-child(4) { background: var(--fk-blue); }
.fk-phone article { display: grid; margin-top: 17px; padding: 12px; border-radius: 15px; color: #fff; background: linear-gradient(135deg, var(--fk-violet), var(--fk-deep)); }
.fk-phone article small { opacity: .75; font-size: .56rem; }
.fk-phone article strong { margin-top: 2px; font-size: .91rem; }
.fk-phone article span { opacity: .82; font-size: .59rem; }

/* Benefits */
.fk-benefits { position: relative; z-index: 5; border-top: 1px solid rgba(23,20,63,.06); border-bottom: 1px solid rgba(23,20,63,.06); background: #fff; }
.fk-benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.fk-benefit-grid article { min-width: 0; display: flex; gap: 14px; padding: 34px 25px; border-right: 1px solid var(--fk-line); }
.fk-benefit-grid article:first-child { padding-left: 0; }
.fk-benefit-grid article:last-child { padding-right: 0; border-right: 0; }
.fk-benefit-grid article > span { color: var(--fk-violet); font-size: .68rem; font-weight: 900; }
.fk-benefit-grid h2 { margin: 0; font-size: .94rem; line-height: 1.3; }
.fk-benefit-grid p { margin: 7px 0 0; color: var(--fk-muted); font-size: .78rem; }

/* Cards */
.fk-card-grid { display: grid; gap: 18px; }
.fk-feature-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.fk-card {
  min-height: 285px;
  display: flex;
  flex-direction: column;
  padding: 27px;
  border: 1px solid rgba(23,20,63,.09);
  border-radius: var(--fk-radius);
  background: #fff;
  box-shadow: 0 13px 35px rgba(35,31,94,.06);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.fk-card:hover { transform: translateY(-5px); border-color: rgba(81,69,229,.28); box-shadow: var(--fk-shadow-sm); }
.fk-card-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; color: var(--fk-deep); background: var(--fk-cyan-soft); font-size: 1.25rem; font-weight: 950; }
.fk-card:nth-child(2n) .fk-card-icon { background: var(--fk-lilac); }
.fk-card h3 { margin: 23px 0 0; font-size: 1.13rem; line-height: 1.22; letter-spacing: -.02em; }
.fk-card p { margin: 11px 0 0; color: var(--fk-muted); font-size: .85rem; }
.fk-card b { margin-top: auto; padding-top: 22px; color: var(--fk-violet); font-size: .74rem; }

/* Content rows */
.fk-content-stack { display: grid; gap: 24px; }
.fk-content-row {
  display: grid;
  grid-template-columns: 72px minmax(0,1.18fr) minmax(300px,.82fr);
  align-items: start;
  gap: 36px;
  padding: 44px;
  border: 1px solid var(--fk-line);
  border-radius: var(--fk-radius-lg);
  background: #fff;
  box-shadow: 0 16px 44px rgba(35,31,94,.06);
}
.fk-content-row.reverse { background: linear-gradient(145deg, #fbfbff, #f2f1ff); }
.fk-content-number { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 20px; color: var(--fk-deep); background: var(--fk-cyan-soft); font-size: .76rem; font-weight: 950; }
.fk-content-row.reverse .fk-content-number { background: var(--fk-lilac); }
.fk-content-copy h2 { font-size: clamp(1.75rem, 2.6vw, 2.75rem); }
.fk-content-list,
.fk-check-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fk-content-list li,
.fk-check-list li { display: flex; align-items: flex-start; gap: 10px; color: var(--fk-ink-soft); font-size: .88rem; font-weight: 680; }
.fk-content-list span,
.fk-check-list span { width: 23px; height: 23px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--fk-green); font-size: .65rem; font-weight: 950; }

/* Sectors */
.fk-sector-section { color: #fff; background: var(--fk-deep); }
.fk-section-heading-light h2 { color: #fff; }
.fk-section-heading-light > p:last-child { color: rgba(255,255,255,.67); }
.fk-section-heading-light .fk-eyebrow { color: #fff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.06); }
.fk-sector-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.fk-sector-grid a { min-height: 310px; display: flex; flex-direction: column; padding: 30px; border: 1px solid rgba(255,255,255,.13); border-radius: var(--fk-radius); background: rgba(255,255,255,.055); text-decoration: none; transition: transform .2s ease, background .2s ease; }
.fk-sector-grid a:hover { transform: translateY(-5px); background: rgba(255,255,255,.10); }
.fk-sector-grid a > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; color: var(--fk-deep); background: var(--fk-cyan); font-weight: 950; }
.fk-sector-grid h3 { margin: 24px 0 0; font-size: 1.25rem; line-height: 1.2; }
.fk-sector-grid p { margin: 13px 0 0; color: rgba(255,255,255,.67); font-size: .85rem; }
.fk-sector-grid b { margin-top: auto; padding-top: 22px; color: var(--fk-cyan); font-size: .76rem; }

/* Demo */
.fk-demo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.fk-demo-card { min-height: 350px; position: relative; overflow: hidden; padding: 28px; border: 1px solid var(--fk-line); border-radius: var(--fk-radius); background: #fff; box-shadow: 0 14px 38px rgba(35,31,94,.07); }
.fk-demo-card > span { color: var(--fk-violet); font-size: .69rem; font-weight: 950; }
.fk-demo-card > small { display: block; margin-top: 14px; color: var(--fk-muted); font-size: .71rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.fk-demo-card h3 { margin: 9px 0 0; font-size: 1.2rem; line-height: 1.2; }
.fk-demo-card p { margin: 12px 0 0; color: var(--fk-muted); font-size: .84rem; }
.fk-demo-mini { position: absolute; right: 22px; bottom: 20px; left: 22px; height: 104px; padding: 15px; border-radius: 18px; background: #f4f4fb; }
.fk-demo-mini i { display: block; height: 9px; margin-bottom: 9px; border-radius: 999px; background: #dfe0eb; }
.fk-demo-mini i:first-child { width: 42%; background: var(--fk-violet); }
.fk-demo-mini i:nth-child(2) { width: 77%; }
.fk-demo-mini i:nth-child(3) { width: 58%; }
.fk-demo-mini b { position: absolute; right: 16px; bottom: 15px; width: 38px; height: 38px; border-radius: 13px; background: var(--fk-cyan); }
.fk-demo-mini.training b { border-radius: 50%; background: conic-gradient(var(--fk-green) 0 67%, #ddd 67% 100%); }
.fk-demo-mini.courses b { background: var(--fk-yellow); }
.fk-demo-mini.finance b { background: var(--fk-green); }

/* Forms */
.fk-form-section { background: linear-gradient(145deg, #f7f7ff, #e8fbfc); }
.fk-form-layout { display: grid; grid-template-columns: minmax(0,.78fr) minmax(560px,1.22fr); align-items: start; gap: 68px; }
.fk-form-copy { position: sticky; top: 120px; }
.fk-form-copy h2 { font-size: clamp(2rem,3.4vw,3.5rem); }
.fk-form-copy .fk-check-list { margin-top: 28px; }
.fk-form {
  padding: 35px;
  border: 1px solid rgba(23,20,63,.10);
  border-radius: var(--fk-radius-lg);
  background: #fff;
  box-shadow: var(--fk-shadow-sm);
}
.fk-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.fk-form label { display: grid; gap: 7px; }
.fk-form label > span { color: var(--fk-ink-soft); font-size: .77rem; font-weight: 760; }
.fk-form input,
.fk-form textarea {
  width: 100%;
  border: 1px solid #d9dae7;
  border-radius: 14px;
  color: var(--fk-ink);
  background: #fff;
  outline: none;
  transition: border .18s ease, box-shadow .18s ease, background .18s ease;
}
.fk-form input { min-height: 49px; padding: 10px 13px; }
.fk-form textarea { min-height: 130px; padding: 12px 13px; resize: vertical; }
.fk-form input:focus,
.fk-form textarea:focus { border-color: var(--fk-violet); box-shadow: 0 0 0 4px rgba(81,69,229,.10); }
.fk-form .has-error input,
.fk-form .has-error textarea,
.fk-consent.has-error { border-color: var(--fk-red); background: #fff7f7; }
.fk-form-wide { grid-column: 1 / -1; }
.fk-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; margin-top: 20px; padding: 13px; border: 1px solid transparent; border-radius: 13px; }
.fk-consent input { width: 19px; min-height: 19px; margin-top: 1px; accent-color: var(--fk-violet); }
.fk-consent span { font-weight: 610 !important; }
.fk-privacy-note { margin: 3px 0 18px; color: var(--fk-muted); font-size: .7rem; }
.fk-submit { width: 100%; }
.fk-honeypot { position: absolute; left: -99999px; width: 1px; height: 1px; overflow: hidden; }
.fk-alert { margin-bottom: 20px; padding: 14px 16px; border-radius: 14px; font-size: .84rem; font-weight: 700; }
.fk-alert-success { color: #17633f; border: 1px solid #bce5cf; background: #e9f8ef; }
.fk-alert-error { color: #8f2530; border: 1px solid #efc4c8; background: #fff1f2; }

/* FAQ */
.fk-faq-section { background: var(--fk-surface-2); }
.fk-faq-layout { display: grid; grid-template-columns: minmax(0,.7fr) minmax(560px,1.3fr); align-items: start; gap: 72px; }
.fk-faq-layout .fk-section-heading { position: sticky; top: 120px; margin-bottom: 0; }
.fk-faq-list { display: grid; gap: 11px; }
.fk-faq-list details { overflow: hidden; border: 1px solid var(--fk-line); border-radius: 18px; background: #fff; }
.fk-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 21px; cursor: pointer; font-size: .91rem; font-weight: 800; list-style: none; }
.fk-faq-list summary::-webkit-details-marker { display: none; }
.fk-faq-list summary span { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--fk-violet); background: var(--fk-lilac); font-size: 1.05rem; transition: transform .18s ease; }
.fk-faq-list details[open] summary span { transform: rotate(45deg); }
.fk-faq-list details p { margin: 0; padding: 0 21px 21px; color: var(--fk-muted); font-size: .87rem; }

/* Related + CTA */
.fk-related-section { padding-top: 82px; }
.fk-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.fk-related-grid a { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border: 1px solid var(--fk-line); border-radius: 18px; background: #fff; font-size: .86rem; font-weight: 800; text-decoration: none; transition: transform .18s ease, border .18s ease, box-shadow .18s ease; }
.fk-related-grid a:hover { transform: translateY(-3px); border-color: rgba(81,69,229,.28); box-shadow: var(--fk-shadow-sm); }
.fk-related-grid b { color: var(--fk-violet); font-size: 1.15rem; }
.fk-final-cta { padding: 74px 0; color: #fff; background: linear-gradient(135deg, var(--fk-violet), var(--fk-deep)); }
.fk-final-cta-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 48px; }
.fk-final-cta h2 { max-width: 750px; font-size: clamp(2rem,3.7vw,3.8rem); }
.fk-final-cta p:not(.fk-eyebrow) { max-width: 680px; margin: 18px 0 0; color: rgba(255,255,255,.72); }
.fk-final-cta .fk-eyebrow { color: #fff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.07); }
.fk-final-cta-inner > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 11px; }

/* Growth message while the public provider directory is hidden */
.fk-adoption-section { background: linear-gradient(180deg, #fff 0%, var(--fk-surface) 100%); }
.fk-adoption-card { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); gap: 52px; align-items: center; padding: clamp(34px,5vw,66px); border-radius: var(--fk-radius-lg); color: #fff; background: linear-gradient(135deg, var(--fk-deep) 0%, #2a2370 58%, var(--fk-violet) 100%); box-shadow: var(--fk-shadow); }
.fk-adoption-card::after { content: ""; position: absolute; width: 360px; height: 360px; right: -150px; top: -170px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.02); pointer-events: none; }
.fk-adoption-copy { position: relative; z-index: 1; }
.fk-adoption-copy .fk-eyebrow { color: #fff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); }
.fk-adoption-copy h2 { max-width: 780px; margin: 18px 0 18px; font-size: clamp(2rem,4vw,4.2rem); line-height: 1.02; }
.fk-adoption-copy > p:not(.fk-eyebrow) { max-width: 720px; margin: 0; color: rgba(255,255,255,.76); font-size: 1rem; }
.fk-adoption-actions { margin-top: 28px; }
.fk-adoption-points { position: relative; z-index: 1; display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fk-adoption-points li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 13px; align-items: center; min-height: 64px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); font-size: .9rem; font-weight: 760; }
.fk-adoption-points span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--fk-deep); background: var(--fk-cyan); font-weight: 950; }

/* Registered Fahrkurve businesses */
.fk-provider-section { background: linear-gradient(180deg, #fff 0%, var(--fk-surface) 100%); }
.fk-provider-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 24px; align-items: stretch; }
.fk-provider-map-column { min-width: 0; }
.fk-provider-map,
.fk-provider-map-empty { min-height: 560px; overflow: hidden; border: 1px solid var(--fk-line); border-radius: var(--fk-radius-lg); background: #e7edf4; box-shadow: var(--fk-shadow); }
.fk-provider-map { position: relative; z-index: 1; }
.fk-provider-map > p { display: grid; min-height: 560px; place-items: center; margin: 0; padding: 24px; color: var(--fk-muted); text-align: center; }
.fk-provider-map-empty { display: grid; place-items: center; padding: 30px; color: var(--fk-muted); text-align: center; }
.fk-provider-list { min-width: 0; overflow: hidden; border: 1px solid var(--fk-line); border-radius: var(--fk-radius-lg); background: #fff; box-shadow: var(--fk-shadow-sm); }
.fk-provider-list > header { padding: 24px 24px 18px; border-bottom: 1px solid var(--fk-line); }
.fk-provider-list > header h3 { margin: 0 0 5px; color: var(--fk-deep); font-size: 1.35rem; letter-spacing: -.03em; }
.fk-provider-list > header p { margin: 0; color: var(--fk-muted); font-size: .82rem; }
.fk-provider-list-scroll { max-height: 485px; overflow: auto; padding: 8px 10px 12px; scrollbar-width: thin; }
.fk-provider-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 11px 12px; border-bottom: 1px solid var(--fk-line); }
.fk-provider-item:last-child { border-bottom: 0; }
.fk-provider-item > button { min-width: 0; display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; align-items: start; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.fk-provider-item > button:disabled { cursor: default; opacity: .62; }
.fk-provider-item > button:focus-visible { outline: 3px solid rgba(81, 69, 229, .24); outline-offset: 4px; border-radius: 8px; }
.fk-provider-item > button > span:last-child { min-width: 0; display: grid; gap: 2px; }
.fk-provider-item strong { overflow-wrap: anywhere; color: var(--fk-deep); font-size: .88rem; }
.fk-provider-item small { color: var(--fk-muted); font-size: .74rem; line-height: 1.4; }
.fk-provider-item > a { white-space: nowrap; color: var(--fk-violet); font-size: .72rem; font-weight: 800; text-decoration: none; }
.fk-provider-item > a:hover { text-decoration: underline; }
.fk-provider-pin { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #adb1c3; box-shadow: 0 0 0 5px rgba(105, 106, 127, .10); }
.fk-provider-item.is-mapped .fk-provider-pin { background: var(--fk-violet); box-shadow: 0 0 0 5px rgba(81, 69, 229, .13); }
.fk-provider-item.is-active { background: var(--fk-lilac); }
.fk-provider-map .leaflet-popup-content-wrapper { border-radius: 15px; box-shadow: 0 18px 50px rgba(23, 20, 63, .2); }
.fk-provider-map .leaflet-popup-content { margin: 14px 16px; }
.fk-provider-popup { min-width: 180px; display: grid; gap: 4px; }
.fk-provider-popup strong { color: var(--fk-deep); font-size: .92rem; }
.fk-provider-popup span { color: var(--fk-muted); font-size: .76rem; }
.fk-provider-popup a { margin-top: 5px; color: var(--fk-violet); font-size: .76rem; font-weight: 850; text-decoration: none; }

/* Footer */
.fk-footer { padding: 72px 0 0; color: #deddf0; background: #100e2d; }
.fk-footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(150px,.65fr)); gap: 55px; padding-bottom: 58px; }
.fk-footer .fk-brand { color: #fff; }
.fk-footer .fk-brand small { max-width: 310px; color: #9897af; font-size: .75rem; line-height: 1.55; }
.fk-footer nav { display: grid; align-content: start; gap: 9px; }
.fk-footer nav h2 { margin: 0 0 8px; color: #fff; font-size: .77rem; letter-spacing: .08em; text-transform: uppercase; }
.fk-footer nav a { color: #aaa9bd; font-size: .79rem; text-decoration: none; }
.fk-footer nav a:hover { color: var(--fk-cyan); }
.fk-footer-bottom { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.1); color: #85849b; font-size: .7rem; }
.fk-footer-languages { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; }
.fk-footer-languages a { color: #9493a9; text-decoration: none; }
.fk-footer-languages a[aria-current="true"] { color: #fff; }

/* Responsive */
@media (max-width: 1180px) {
  :root { --fk-wrap: min(100% - 36px, 1080px); }
  .fk-brand { min-width: auto; }
  .fk-brand small { display: none; }
  .fk-nav-panel { gap: 10px; }
  .fk-main-nav a { padding-inline: 8px; font-size: .78rem; }
  .fk-nav-login { display: none; }
  .fk-hero-grid { grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr); gap: 36px; }
  .fk-hero-copy h1 { font-size: clamp(2.75rem, 4.1vw, 3.5rem); }
  .fk-product-scene { min-width: 0; min-height: 480px; }
  .fk-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fk-sector-grid, .fk-demo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fk-form-layout { grid-template-columns: minmax(0,.78fr) minmax(480px,1.22fr); gap: 44px; }
}

@media (max-width: 940px) {
  .fk-header { backdrop-filter: none; }
  .fk-menu-button {
    width: 46px;
    height: 46px;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 10px;
    border: 1px solid var(--fk-line);
    border-radius: 14px;
    background: #fff;
  }
  .fk-menu-button span { width: 23px; height: 2px; display: block; margin-inline: auto; border-radius: 999px; background: var(--fk-deep); }
  .fk-menu-button b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .fk-nav-panel {
    position: fixed;
    inset: 82px 0 auto;
    max-height: calc(100vh - 82px);
    display: none;
    overflow: auto;
    padding: 24px 18px 30px;
    border-top: 1px solid var(--fk-line);
    background: #fff;
    box-shadow: 0 25px 55px rgba(23,20,63,.18);
  }
  .fk-nav-panel.open { display: block; }
  .fk-main-nav { display: grid; gap: 4px; }
  .fk-main-nav a { padding: 13px 15px; border-radius: 14px; font-size: .95rem; }
  .fk-nav-actions { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-top: 20px; }
  .fk-nav-login { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--fk-line); }
  .fk-nav-actions .fk-button { grid-column: 1 / -1; }
  .fk-language { justify-self: end; }
  .fk-hero { padding-top: 70px; }
  .fk-hero-grid { grid-template-columns: 1fr; }
  .fk-hero-copy { max-width: 780px; }
  .fk-product-scene { width: min(100%, 680px); min-height: 510px; margin-inline: auto; }
  .fk-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fk-benefit-grid article { border-bottom: 1px solid var(--fk-line); }
  .fk-benefit-grid article:nth-child(2) { border-right: 0; }
  .fk-benefit-grid article:nth-child(3), .fk-benefit-grid article:nth-child(4) { border-bottom: 0; }
  .fk-benefit-grid article:first-child, .fk-benefit-grid article:nth-child(3) { padding-left: 0; }
  .fk-benefit-grid article:nth-child(2), .fk-benefit-grid article:last-child { padding-right: 0; }
  .fk-content-row { grid-template-columns: 58px 1fr; }
  .fk-content-list { grid-column: 2; }
  .fk-form-layout, .fk-faq-layout { grid-template-columns: 1fr; gap: 40px; }
  .fk-provider-layout, .fk-adoption-card { grid-template-columns: 1fr; }
  .fk-provider-map, .fk-provider-map-empty, .fk-provider-map > p { min-height: 460px; }
  .fk-provider-list-scroll { max-height: none; }
  .fk-form-copy, .fk-faq-layout .fk-section-heading { position: static; }
  .fk-final-cta-inner { grid-template-columns: 1fr; }
  .fk-final-cta-inner > div:last-child { justify-content: flex-start; }
  .fk-footer-grid { grid-template-columns: 1.2fr repeat(2,1fr); }
  .fk-footer-grid nav:last-child { grid-column: 2 / -1; }
}

@media (max-width: 680px) {
  :root { --fk-wrap: calc(100% - 28px); --fk-radius: 21px; --fk-radius-lg: 27px; }
  .fk-nav-shell { min-height: 72px; }
  .fk-nav-panel { inset: 72px 0 auto; }
  .fk-brand img { width: 42px; height: 42px; }
  .fk-brand > span { font-size: 1.07rem; }
  .fk-header .fk-brand small { display: none; }
  .fk-section { padding: 74px 0; }
  .fk-hero { padding: 56px 0 66px; }
  .fk-hero-copy h1,
  .fk-hero:not(.fk-hero-home) .fk-hero-copy h1 { max-width: 100%; font-size: clamp(2.15rem, 11.2vw, 3.55rem); }
  .fk-lead { font-size: 1rem; }
  .fk-hero-actions { display: grid; }
  .fk-button { width: 100%; }
  .fk-hero-points { display: grid; }
  .fk-product-scene { min-height: 400px; margin-top: 7px; }
  .fk-screen { inset: 12px 3px 10px; border-radius: 22px; }
  .fk-screen-bar { height: 48px; padding-inline: 13px; }
  .fk-screen-body { min-height: 330px; grid-template-columns: 45px 1fr; }
  .fk-screen-body aside { gap: 15px; padding-top: 13px; }
  .fk-screen-body aside b { width: 29px; height: 29px; }
  .fk-dashboard { padding: 12px; }
  .fk-metric-grid article { padding: 9px; }
  .fk-metric-grid strong { font-size: 1.15rem; }
  .fk-agenda-list article { grid-template-columns: 46px minmax(0,1fr) 24px; padding: 9px; }
  .fk-agenda-list article:last-child { display: none; }
  .fk-phone { right: -3px; bottom: -15px; width: 155px; min-height: 275px; padding: 10px; border-width: 5px; border-radius: 28px; }
  .fk-phone > small { margin-top: 15px; font-size: .67rem; }
  .fk-progress { width: 82px; height: 82px; box-shadow: inset 0 0 0 11px #fff; }
  .fk-progress strong { font-size: 1.12rem; }
  .fk-phone article { margin-top: 11px; padding: 9px; }
  .fk-benefit-grid { grid-template-columns: 1fr; }
  .fk-benefit-grid article { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--fk-line) !important; }
  .fk-benefit-grid article:last-child { border-bottom: 0 !important; }
  .fk-feature-grid, .fk-sector-grid, .fk-demo-grid, .fk-related-grid { grid-template-columns: 1fr; }
  .fk-provider-map, .fk-provider-map-empty, .fk-provider-map > p { min-height: 380px; }
  .fk-provider-list > header { padding: 20px 18px 15px; }
  .fk-adoption-card { gap: 30px; padding: 30px 22px; }
  .fk-adoption-points li { min-height: 58px; }
  .fk-provider-item { grid-template-columns: 1fr; }
  .fk-provider-item > a { padding-left: 24px; }
  .fk-card { min-height: 245px; }
  .fk-section-heading h2, .fk-content-copy h2, .fk-form-copy h2, .fk-final-cta h2 { font-size: clamp(1.85rem,9vw,2.8rem); }
  .fk-content-row { grid-template-columns: 1fr; gap: 22px; padding: 27px; }
  .fk-content-list { grid-column: 1; }
  .fk-content-number { width: 48px; height: 48px; border-radius: 16px; }
  .fk-form { padding: 24px 18px; }
  .fk-form-grid { grid-template-columns: 1fr; }
  .fk-form-wide { grid-column: auto; }
  .fk-faq-list summary { padding: 17px; font-size: .84rem; }
  .fk-faq-list details p { padding: 0 17px 18px; font-size: .81rem; }
  .fk-final-cta { padding: 60px 0; }
  .fk-final-cta-inner > div:last-child { display: grid; width: 100%; }
  .fk-footer { padding-top: 56px; }
  .fk-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 24px; }
  .fk-footer-brand { grid-column: 1 / -1; }
  .fk-footer-grid nav:last-child { grid-column: auto; }
  .fk-footer-bottom { min-height: 92px; flex-direction: column; align-items: flex-start; justify-content: center; }
  .fk-footer-languages { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
