/* ============================================================
   Factospace — Landing page (shortcode [factospace_landing]).
   Buduje na design-systemie fs-* (factospace-ds.css).
   ============================================================ */

/* ---- Hero ---- */
.fs-root .lp-hero { position:relative; overflow:hidden; background:var(--slate-950); padding:88px 0 72px; }
.fs-root .lp-hero__kicker { font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--signal-500); }
.fs-root .lp-hero__title { font-family:var(--font-display); font-weight:600; color:#fff; font-size:52px; letter-spacing:-.03em; line-height:1.06; margin:18px 0 0; max-width:900px; }
.fs-root .lp-hero__title em { font-style:normal; color:var(--signal-500); }
.fs-root .lp-hero__lead { color:var(--slate-300); font-size:18px; line-height:1.65; max-width:720px; margin:24px 0 0; }
.fs-root .lp-hero__lead strong { color:#fff; font-weight:600; }
.fs-root .lp-hero__cta { display:flex; gap:12px; margin-top:36px; flex-wrap:wrap; }
.fs-root .lp-hero__cta .fs-btn--ghost { background:transparent; border-color:var(--slate-700); color:#fff; }

/* ---- Sekcje ---- */
.fs-root .lp-section { padding:72px 0; }
.fs-root .lp-section--dark { background:var(--slate-950); }
.fs-root .lp-kicker { font-family:var(--font-mono); font-size:11px; letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--text-muted); }
.fs-root .lp-section--dark .lp-kicker { color:var(--signal-500); }
.fs-root .lp-h2 { font-family:var(--font-display); font-weight:600; font-size:34px; letter-spacing:-.02em; color:var(--text-strong); line-height:1.15; margin:12px 0 0; max-width:720px; }
.fs-root .lp-section--dark .lp-h2 { color:#fff; }
.fs-root .lp-intro { font-size:16px; line-height:1.65; color:var(--text-muted); max-width:680px; margin:16px 0 0; }
.fs-root .lp-section--dark .lp-intro { color:var(--slate-300); }

/* ---- Karty problemów / rozwiązań ---- */
.fs-root .lp-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.fs-root .lp-card { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); padding:26px; }
.fs-root .lp-section--dark .lp-card { background:var(--slate-900); border-color:var(--slate-800); }
.fs-root .lp-card__ico { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:var(--radius-md); margin-bottom:16px; }
.fs-root .lp-card__ico--bad { background:#FBE9E9; color:var(--mark-red); }
.fs-root .lp-card__ico--good { background:var(--slate-950); color:var(--signal-500); }
.fs-root .lp-card__ico svg { width:22px; height:22px; }
.fs-root .lp-card__title { font-family:var(--font-display); font-weight:600; font-size:17px; color:var(--text-strong); margin:0 0 8px; }
.fs-root .lp-section--dark .lp-card__title { color:#fff; }
.fs-root .lp-card__desc { font-size:14px; line-height:1.6; color:var(--text-muted); margin:0; }
.fs-root .lp-section--dark .lp-card__desc { color:var(--slate-300); }
.fs-root .lp-question { font-family:var(--font-display); font-weight:600; font-size:20px; color:var(--text-strong); margin:36px 0 0; }

/* ---- Mechanizm — pasek statystyk ---- */
.fs-root .lp-mech { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--slate-800); border:1px solid var(--slate-800); border-radius:var(--radius-lg); overflow:hidden; margin-top:40px; }
.fs-root .lp-mech__cell { background:var(--slate-900); padding:22px 20px; }
.fs-root .lp-mech__cell--accent { background:var(--signal-500); }
.fs-root .lp-mech__label { font-family:var(--font-mono); font-size:10px; letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--slate-400); }
.fs-root .lp-mech__cell--accent .lp-mech__label { color:rgba(12,17,24,.6); }
.fs-root .lp-mech__value { font-family:var(--font-display); font-weight:600; font-size:26px; letter-spacing:-.02em; color:#fff; margin-top:8px; line-height:1.1; }
.fs-root .lp-mech__cell--accent .lp-mech__value { color:var(--slate-950); }

/* ---- Checklista ---- */
.fs-root .lp-check { display:flex; flex-direction:column; gap:14px; margin-top:36px; max-width:760px; }
.fs-root .lp-check__row { display:flex; gap:14px; align-items:flex-start; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); padding:18px 20px; }
.fs-root .lp-check__tick { flex:none; width:26px; height:26px; border-radius:50%; background:var(--signal-500); color:var(--slate-950); display:inline-flex; align-items:center; justify-content:center; margin-top:1px; }
.fs-root .lp-check__tick svg { width:14px; height:14px; }
.fs-root .lp-check__row p { margin:0; font-size:15px; line-height:1.6; color:var(--text-body); }

/* ---- Dostawa + efekty ---- */
.fs-root .lp-split { display:grid; grid-template-columns:1.1fr .9fr; gap:40px; margin-top:40px; align-items:start; }
.fs-root .lp-split__body p { font-size:15.5px; line-height:1.7; color:var(--text-body); margin:0 0 14px; }
.fs-root .lp-split__body strong { color:var(--text-strong); }
.fs-root .lp-proof { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); padding:24px; }
.fs-root .lp-proof__label { font-family:var(--font-mono); font-size:10px; letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--text-muted); margin-bottom:14px; }
.fs-root .lp-proof__stat { font-family:var(--font-display); font-weight:600; font-size:32px; letter-spacing:-.02em; color:var(--text-strong); line-height:1.1; }
.fs-root .lp-proof__cap { font-size:13.5px; color:var(--text-muted); margin:6px 0 0; }
.fs-root .lp-proof + .lp-proof { margin-top:16px; }
.fs-root .lp-beforeafter { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.fs-root .lp-ba { position:relative; aspect-ratio:4/3; border-radius:var(--radius-md); overflow:hidden; background:var(--slate-100); }
.fs-root .lp-ba img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fs-root .lp-ba__tag { position:absolute; top:8px; left:8px; z-index:2; font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:var(--radius-sm); }
.fs-root .lp-ba--before .lp-ba__tag { background:rgba(255,255,255,.9); color:var(--mark-red); }
.fs-root .lp-ba--after .lp-ba__tag { background:var(--signal-500); color:var(--slate-950); }
.fs-root .lp-ba__ph { position:absolute; inset:0; background-image:repeating-linear-gradient(-45deg,#E2E6EB 0 14px,#ECEFF3 14px 28px); }
.fs-root .lp-ba--after .lp-ba__ph { background:var(--slate-950); }
.fs-root .lp-ba--after .lp-ba__beam { position:absolute; left:50%; top:0; width:120px; height:100%; transform:translateX(-50%); background:linear-gradient(180deg,rgba(234,209,26,0) 0%,rgba(234,209,26,.28) 55%,rgba(234,209,26,.55) 100%); clip-path:polygon(42% 0,58% 0,100% 100%,0 100%); }
.fs-root .lp-ba--after .lp-ba__mark { position:absolute; left:50%; bottom:12%; transform:translateX(-50%); width:56%; height:16%; border:2px solid var(--signal-500); border-radius:3px; box-shadow:0 0 24px rgba(234,209,26,.5); }

/* ---- Metafora ---- */
.fs-root .lp-quote { border-left:3px solid var(--signal-500); padding:6px 0 6px 26px; margin:40px 0 0; max-width:760px; }
.fs-root .lp-quote p { font-family:var(--font-display); font-weight:500; font-size:22px; line-height:1.45; letter-spacing:-.01em; color:#fff; margin:0; }
.fs-root .lp-quote small { display:block; font-size:14.5px; line-height:1.6; color:var(--slate-300); margin-top:14px; }

/* ---- Crossroads ---- */
.fs-root .lp-cross { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:40px; }
.fs-root .lp-cross__opt { border-radius:var(--radius-lg); padding:28px; }
.fs-root .lp-cross__opt--no { background:var(--surface-card); border:1px solid var(--border-subtle); }
.fs-root .lp-cross__opt--yes { background:var(--slate-950); }
.fs-root .lp-cross__tag { font-family:var(--font-mono); font-size:10px; letter-spacing:var(--tracking-caps); text-transform:uppercase; }
.fs-root .lp-cross__opt--no .lp-cross__tag { color:var(--mark-red); }
.fs-root .lp-cross__opt--yes .lp-cross__tag { color:var(--signal-500); }
.fs-root .lp-cross__opt h3 { font-family:var(--font-display); font-weight:600; font-size:19px; margin:10px 0 8px; color:var(--text-strong); }
.fs-root .lp-cross__opt--yes h3 { color:#fff; }
.fs-root .lp-cross__opt p { font-size:14.5px; line-height:1.6; margin:0; color:var(--text-muted); }
.fs-root .lp-cross__opt--yes p { color:var(--slate-300); }

/* ---- CTA / formularz ---- */
.fs-root .lp-cta { background:var(--signal-500); }
.fs-root .lp-cta__inner { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:64px 0; align-items:center; }
.fs-root .lp-cta__title { font-family:var(--font-display); font-weight:600; font-size:32px; letter-spacing:-.02em; color:var(--slate-950); line-height:1.15; margin:0; }
.fs-root .lp-cta__text { color:rgba(12,17,24,.75); font-size:15.5px; line-height:1.65; margin:14px 0 0; }
.fs-root .lp-cta__form { background:var(--slate-950); border-radius:var(--radius-lg); padding:28px; }
.fs-root .lp-cta__form .fs-label { color:#fff; }
.fs-root .lp-cta__form .fs-consent__text { color:var(--slate-400); }
.fs-root .lp-cta__form .fs-consent__text a { color:var(--signal-500); }

@media (max-width:900px) {
  .fs-root .lp-hero__title { font-size:36px; }
  .fs-root .lp-h2 { font-size:27px; }
  .fs-root .lp-cards { grid-template-columns:1fr; }
  .fs-root .lp-mech { grid-template-columns:1fr 1fr; }
  .fs-root .lp-split, .fs-root .lp-cross, .fs-root .lp-cta__inner { grid-template-columns:1fr; }
}
