/* Free plan landing page — premium "aurora" look: soft colour mesh, glass cards, gold Free-forever ticket */
.fp-page { --fp-ink:#111827; --fp-text:#4b5563; --fp-indigo:#4f46e5; --fp-indigo-d:#3730a3; --fp-emerald:#059669; --fp-gold:#b7791f; --fp-gold-l:#fef3c7; --fp-line:rgba(17,24,39,.08); color:var(--fp-ink); background:#fbfbfe; overflow-x:hidden; }
.fp-page p { color:var(--fp-text); line-height:1.75; }
.fp-wrap { max-width:1180px; margin:0 auto; padding:0 16px; position:relative; }

/* hero */
.fp-hero { position:relative; padding:24px 0 84px; isolation:isolate; }
.fp-hero::before { content:""; position:absolute; inset:-120px -10% 0 -10%; z-index:-1;
  background:
    radial-gradient(600px 380px at 12% 18%, rgba(99,102,241,.22), transparent 70%),
    radial-gradient(520px 360px at 88% 8%, rgba(16,185,129,.20), transparent 70%),
    radial-gradient(640px 420px at 70% 90%, rgba(56,189,248,.16), transparent 70%),
    linear-gradient(180deg,#f7f7ff 0%,#fbfbfe 100%); }
.fp-topbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.fp-topbar .breadcrumb { margin:0; }
.fp-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.fp-kicker { display:inline-flex; align-items:center; gap:10px; font-weight:800; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--fp-gold); background:var(--fp-gold-l); border:1px solid #fde68a; padding:7px 14px; border-radius:999px; margin-bottom:20px; }
.fp-h1 { font-size:clamp(2.2rem,4.8vw,3.6rem); font-weight:900; line-height:1.06; letter-spacing:-1.5px; margin:0 0 22px; color:var(--fp-ink); }
.fp-h1 span { background:linear-gradient(95deg,var(--fp-indigo) 0%,#0ea5e9 50%,var(--fp-emerald) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fp-lead { font-size:1.12rem; margin:0 0 12px; max-width:600px; }
.fp-ctas { display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 16px; }
.fp-btn { display:inline-flex; align-items:center; gap:10px; padding:16px 30px; border-radius:14px; font-weight:800; font-size:1.02rem; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.fp-btn:hover { transform:translateY(-2px); }
.fp-btn-main { color:#fff; background:linear-gradient(95deg,var(--fp-indigo),#6366f1); box-shadow:0 14px 30px rgba(79,70,229,.32); }
.fp-btn-main:hover { color:#fff; box-shadow:0 18px 36px rgba(79,70,229,.4); }
.fp-btn-ghost { color:var(--fp-ink); background:rgba(255,255,255,.8); border:1px solid var(--fp-line); backdrop-filter:blur(6px); }
.fp-btn-ghost:hover { color:var(--fp-indigo); }
.fp-assure { display:flex; flex-wrap:wrap; gap:18px; font-size:.9rem; color:var(--fp-text); }
.fp-assure span::before { content:"\2713"; color:var(--fp-emerald); font-weight:900; margin-right:6px; }

/* the ticket */
.fp-ticket { position:relative; background:rgba(255,255,255,.82); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.9); border-radius:28px; padding:34px 32px 30px; box-shadow:0 30px 70px rgba(30,27,75,.14); }
.fp-ticket::before { content:""; position:absolute; inset:0; border-radius:28px; padding:1.5px; background:linear-gradient(140deg,#c7d2fe,#a7f3d0,#fde68a); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.fp-ticket-tag { position:absolute; top:-14px; right:26px; background:linear-gradient(95deg,#f59e0b,#b7791f); color:#fff; font-weight:800; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; padding:7px 14px; border-radius:999px; box-shadow:0 6px 16px rgba(183,121,31,.35); }
.fp-plan { font-weight:800; color:var(--fp-text); font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; }
.fp-price { display:flex; align-items:flex-start; gap:6px; margin:6px 0 2px; }
.fp-price b { font-size:5rem; font-weight:900; line-height:1; letter-spacing:-3px; color:var(--fp-ink); }
.fp-price small { font-size:1.4rem; font-weight:800; margin-top:10px; color:var(--fp-ink); }
.fp-per { color:var(--fp-text); font-weight:600; margin-bottom:20px; }
.fp-limits { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px; }
.fp-limits div { background:#f8fafc; border:1px solid var(--fp-line); border-radius:14px; padding:12px 14px; }
.fp-limits b { display:block; font-size:1.5rem; font-weight:900; color:var(--fp-indigo); line-height:1.1; }
.fp-limits span { font-size:.8rem; color:var(--fp-text); font-weight:600; }
.fp-ticket .fp-btn { width:100%; justify-content:center; }
.fp-ticket-foot { text-align:center; font-size:.82rem; color:var(--fp-text); margin-top:12px; }
.fp-ticket-foot a { color:var(--fp-indigo); font-weight:700; }

/* logo-less proof strip */
.fp-strip { margin-top:56px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fp-strip div { background:rgba(255,255,255,.75); border:1px solid var(--fp-line); border-radius:16px; padding:16px 18px; backdrop-filter:blur(6px); }
.fp-strip b { display:block; font-size:1.05rem; font-weight:850; color:var(--fp-ink); }
.fp-strip span { font-size:.86rem; color:var(--fp-text); }

/* sections */
.fp-sec { padding:84px 0; }
.fp-sec.tint { background:linear-gradient(180deg,#f5f5ff,#f7fdfb); }
.fp-eyebrow { font-weight:800; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--fp-indigo); margin-bottom:12px; display:block; }
.fp-h2 { font-size:clamp(1.7rem,3.2vw,2.5rem); font-weight:900; letter-spacing:-.8px; line-height:1.15; margin:0 0 16px; color:var(--fp-ink); }
.fp-intro { max-width:760px; font-size:1.05rem; }
.fp-center { text-align:center; margin:0 auto; }
.fp-bento { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; margin-top:40px; }
.fp-tile { background:#fff; border:1px solid var(--fp-line); border-radius:22px; padding:28px; box-shadow:0 2px 0 rgba(17,24,39,.02); }
.fp-tile.w3 { grid-column:span 3; } .fp-tile.w2 { grid-column:span 2; } .fp-tile.w4 { grid-column:span 4; }
.fp-tile.dark { background:linear-gradient(140deg,#1e1b4b,#312e81); border:0; }
.fp-tile.dark h3, .fp-tile.dark p { color:#e0e7ff; }
.fp-ico { width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; margin-bottom:16px; background:#eef2ff; color:var(--fp-indigo); }
.fp-tile.dark .fp-ico { background:rgba(255,255,255,.12); color:#a5b4fc; }
.fp-tile h3 { font-size:1.15rem; font-weight:850; margin:0 0 8px; color:var(--fp-ink); }
.fp-tile p { margin:0; font-size:.96rem; }
.fp-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; counter-reset:fp; }
.fp-step { position:relative; padding:30px 26px 26px; background:#fff; border-radius:22px; border:1px solid var(--fp-line); }
.fp-step::before { counter-increment:fp; content:"0" counter(fp); font-size:3rem; font-weight:900; line-height:1; background:linear-gradient(95deg,var(--fp-indigo),var(--fp-emerald)); -webkit-background-clip:text; background-clip:text; color:transparent; display:block; margin-bottom:12px; }
.fp-step h3 { font-size:1.1rem; font-weight:850; margin:0 0 8px; color:var(--fp-ink); }
.fp-step p { margin:0; font-size:.95rem; }
.fp-compare { margin-top:36px; background:#fff; border:1px solid var(--fp-line); border-radius:22px; overflow:hidden; }
.fp-compare table { width:100%; border-collapse:collapse; font-size:.95rem; }
.fp-compare th, .fp-compare td { padding:16px 20px; text-align:left; border-bottom:1px solid var(--fp-line); }
.fp-compare thead th { background:#f8fafc; font-weight:800; color:var(--fp-text); font-size:.85rem; letter-spacing:.04em; text-transform:uppercase; }
.fp-compare thead th.us { color:var(--fp-indigo); background:#eef2ff; }
.fp-compare td.us { background:#f8f9ff; font-weight:700; color:var(--fp-ink); }
.fp-compare tr:last-child td { border-bottom:0; }
.fp-scroll { overflow-x:auto; }
.fp-ladder { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:36px; }
.fp-rung { border-radius:20px; padding:24px; background:#fff; border:1px solid var(--fp-line); position:relative; }
.fp-rung.now { border:2px solid var(--fp-gold); background:linear-gradient(180deg,#fffbeb,#fff); }
.fp-rung.now::after { content:"You start here"; position:absolute; top:-12px; left:20px; background:var(--fp-gold); color:#fff; font-size:.72rem; font-weight:800; padding:4px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:.05em; }
.fp-rung h3 { font-size:1.05rem; font-weight:850; margin:0 0 4px; color:var(--fp-ink); }
.fp-rung .amt { font-size:1.7rem; font-weight:900; color:var(--fp-ink); margin-bottom:8px; }
.fp-rung .amt small { font-size:.85rem; font-weight:600; color:var(--fp-text); }
.fp-rung p { font-size:.9rem; margin:0; }

/* demo form */
.fp-demo { display:grid; grid-template-columns:.9fr 1.1fr; gap:46px; align-items:start; }
.fp-demo-card { background:#fff; border-radius:26px; padding:34px; box-shadow:0 26px 60px rgba(30,27,75,.12); border:1px solid var(--fp-line); }
.fp-demo-card h3 { font-size:1.3rem; font-weight:900; margin:0 0 6px; color:var(--fp-ink); }
.fp-demo-card > p { margin:0 0 20px; font-size:.95rem; }
.fp-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fp-field { margin-bottom:14px; }
.fp-field label { display:block; font-weight:700; font-size:.84rem; margin-bottom:6px; color:var(--fp-ink); }
.fp-field input, .fp-field textarea, .fp-field select { width:100%; border:1.5px solid #e5e7eb; border-radius:12px; padding:12px 14px; font-size:.98rem; background:#fbfbfe; font-family:inherit; }
.fp-field input:focus, .fp-field textarea:focus, .fp-field select:focus { outline:none; border-color:var(--fp-indigo); box-shadow:0 0 0 4px rgba(79,70,229,.12); background:#fff; }
.fp-field .err { border-color:#dc2626; }
.fp-submit { width:100%; border:0; cursor:pointer; padding:15px; border-radius:14px; font-weight:800; font-size:1rem; color:#fff; background:linear-gradient(95deg,var(--fp-indigo),#6366f1); box-shadow:0 12px 26px rgba(79,70,229,.28); }
.fp-submit:disabled { opacity:.6; cursor:wait; }
.fp-form-error { display:none; color:#b91c1c; font-size:.9rem; margin-top:12px; text-align:center; }
.fp-demo-list { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:14px; }
.fp-demo-list li { display:flex; gap:14px; align-items:flex-start; color:var(--fp-text); line-height:1.65; }
.fp-demo-list i { width:34px; height:34px; border-radius:10px; background:#ecfdf5; color:var(--fp-emerald); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.fp-demo-list b { color:var(--fp-ink); }

/* faq */
.fp-faq { max-width:860px; margin:36px auto 0; }
.fp-faq details { background:#fff; border:1px solid var(--fp-line); border-radius:18px; margin-bottom:12px; overflow:hidden; }
.fp-faq summary { list-style:none; cursor:pointer; padding:20px 24px; font-weight:800; color:var(--fp-ink); display:flex; justify-content:space-between; gap:14px; align-items:center; }
.fp-faq summary::-webkit-details-marker { display:none; }
.fp-faq summary::after { content:"+"; width:28px; height:28px; border-radius:50%; background:#eef2ff; color:var(--fp-indigo); display:flex; align-items:center; justify-content:center; font-weight:900; flex-shrink:0; }
.fp-faq details[open] summary::after { content:"\2212"; }
.fp-faq details p { padding:0 24px 22px; margin:0; }

/* closing */
.fp-final { position:relative; overflow:hidden; border-radius:32px; padding:64px 40px; text-align:center; background:linear-gradient(120deg,#eef2ff 0%,#ecfeff 50%,#ecfdf5 100%); border:1px solid #e0e7ff; }
.fp-final .fp-ctas { justify-content:center; }
.fp-final p { max-width:640px; margin:0 auto; }

@media (max-width:991px) {
  .fp-hero-grid, .fp-demo { grid-template-columns:1fr; }
  .fp-strip, .fp-ladder { grid-template-columns:1fr 1fr; }
  .fp-bento { grid-template-columns:1fr 1fr; }
  .fp-tile.w3, .fp-tile.w2, .fp-tile.w4 { grid-column:span 1; }
  .fp-steps { grid-template-columns:1fr; }
}
@media (max-width:575px) {
  .fp-strip, .fp-ladder, .fp-bento, .fp-form-row, .fp-limits { grid-template-columns:1fr; }
  .fp-ticket, .fp-demo-card { padding:26px 20px; }
  .fp-price b { font-size:4rem; }
  .fp-sec { padding:56px 0; }
  .fp-final { padding:40px 20px; border-radius:22px; }
  .fp-btn { width:100%; justify-content:center; }
}
