/*
 * Home page (templates/landing/home.php) only.
 *
 * Loaded through the marketing layout's `head` section, so no other page
 * pays for it. Everything is scoped under `.lp` and prefixed `lp-` so it
 * can't collide with the compiled Tailwind utilities used by the app.
 *
 * Design rules for this page:
 *  - One brand pair: navy for weight, blue for action. Green only means
 *    "done/paid"; amber and red only mean status. No decorative gradients.
 *  - Hairline rules instead of stacked card shadows. A single soft shadow
 *    is reserved for the product visuals.
 *  - Instrument Serif for display type, DM Sans for everything else,
 *    tabular figures wherever money appears.
 */

.lp {
  --lp-navy: #0c1527;
  --lp-navy-2: #16223a;
  --lp-ink: #0f172a;
  --lp-text: #334155;
  --lp-muted: #5b6678;
  --lp-faint: #8792a4;
  --lp-line: #e6eaf0;
  --lp-line-2: #d6dce5;
  --lp-alt: #f6f7f9;
  --lp-blue: #2563eb;
  --lp-blue-2: #1d4ed8;
  --lp-blue-soft: #eef3fe;
  --lp-green: #047857;
  --lp-green-soft: #e8f5ef;
  --lp-amber: #a15c07;
  --lp-amber-soft: #fdf3e2;
  --lp-red: #b42336;
  --lp-red-soft: #fcecee;
  --lp-radius: 12px;
  --lp-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 24px 48px -28px rgba(15, 23, 42, .28);
  color: var(--lp-text);
  font-size: 15px;
  line-height: 1.65;
}
.lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
.lp .num { font-variant-numeric: tabular-nums; }
.lp-nowrap { white-space: nowrap; }

/* ── Layout ─────────────────────────────────────────────────────────── */
/* Matches the nav's max-w-7xl + px-6 so every edge lines up with the logo. */
.lp-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.lp-section { padding: 112px 0; }
.lp-section--alt { background: var(--lp-alt); }
.lp-section--dark { background: var(--lp-navy); color: #c3cad6; }
.lp-section--tight { padding: 88px 0; }
.lp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.lp-split--wide-right { grid-template-columns: .92fr 1.08fr; }
.lp-split + .lp-split { margin-top: 128px; }

/* ── Type ───────────────────────────────────────────────────────────── */
.lp-eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin: 0 0 18px; font-size: 13px; font-weight: 600; letter-spacing: .01em;
  color: var(--lp-blue);
}
.lp-eyebrow::before { content: ""; width: 18px; height: 1.5px; background: currentColor; flex: 0 0 18px; }
.lp-section--dark .lp-eyebrow { color: #8fb1ff; }

.lp-h1, .lp-h2 {
  font-family: 'Instrument Serif', Georgia, serif; font-weight: 400;
  color: var(--lp-ink); margin: 0; letter-spacing: -.012em;
}
.lp-h1 { font-size: 62px; line-height: 1.02; }
.lp-h2 { font-size: 44px; line-height: 1.07; }
.lp-h2--sm { font-size: 34px; }
.lp-sub { margin-top: 112px; }
.lp-section--dark .lp-h2 { color: #fff; }
.lp-h3 { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 600; color: var(--lp-ink); }
.lp-lead { margin: 20px 0 0; font-size: 18px; line-height: 1.6; color: var(--lp-muted); max-width: 54ch; }
.lp-section--dark .lp-lead { color: #a9b3c3; }
.lp-body { margin: 6px 0 0; font-size: 14.5px; line-height: 1.65; color: var(--lp-muted); }
.lp-section--dark .lp-body { color: #a9b3c3; }

.lp-head { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: end; margin-bottom: 64px; }
.lp-head .lp-lead { margin-top: 0; }
.lp-head--stack { display: block; }
.lp-head--stack .lp-lead { margin-top: 20px; }

/* ── Buttons & links ────────────────────────────────────────────────── */
.lp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 36px; }
.lp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 22px; border-radius: 10px; border: 1px solid transparent;
  font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.lp-btn svg { width: 16px; height: 16px; transition: transform .15s ease; }
.lp-btn:hover svg { transform: translateX(2px); }
.lp-btn:focus-visible, .lp-link:focus-visible, .lp-faq summary:focus-visible {
  outline: 2px solid var(--lp-blue); outline-offset: 3px;
}
.lp-btn--primary { background: var(--lp-navy); color: #fff; }
.lp-btn--primary:hover { background: #1b2a47; }
.lp-btn--ghost { background: #fff; color: var(--lp-ink); border-color: var(--lp-line-2); }
.lp-btn--ghost:hover { border-color: #b9c2cf; background: #fbfcfd; }
.lp-btn--light { background: #fff; color: var(--lp-navy); }
.lp-btn--light:hover { background: #e9eef7; }
.lp-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.28); }
.lp-btn--outline-light:hover { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.04); }
.lp-btn--block { width: 100%; }
.lp-btn--sm { height: 42px; font-size: 14px; padding: 0 16px; }

.lp-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 15px; font-weight: 600; color: var(--lp-blue-2); text-decoration: none;
  border-radius: 4px;
}
.lp-link svg { width: 15px; height: 15px; transition: transform .15s ease; }
.lp-link:hover { color: var(--lp-navy); }
.lp-link:hover svg { transform: translateX(3px); }
.lp-section--dark .lp-link { color: #fff; }
.lp-section--dark .lp-link:hover { color: #c7d7ff; }
.lp-links { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 32px; }

/* ── Checklists ─────────────────────────────────────────────────────── */
.lp-checks { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 12px; }
.lp-checks--2 { grid-template-columns: 1fr 1fr; column-gap: 28px; }
.lp-checks li { position: relative; padding-left: 26px; font-size: 14.5px; line-height: 1.55; color: var(--lp-text); }
.lp-checks li::before {
  content: ""; position: absolute; left: 0; top: .42em; width: 14px; height: 8px;
  border-left: 2px solid var(--lp-blue); border-bottom: 2px solid var(--lp-blue);
  transform: rotate(-45deg) translate(1px, -2px);
}
.lp-section--dark .lp-checks li { color: #c3cad6; }
.lp-section--dark .lp-checks li::before { border-color: #8fb1ff; }

/* ── Hero ───────────────────────────────────────────────────────────── */
.lp-hero { padding: 88px 0 96px; }
.lp-hero__grid { display: grid; grid-template-columns: 1fr 1.06fr; gap: 64px; align-items: center; }
.lp-hero__lead { margin: 24px 0 0; font-size: 19px; line-height: 1.6; color: var(--lp-muted); max-width: 46ch; }
.lp-hero__note { margin: 18px 0 0; font-size: 13.5px; color: var(--lp-muted); }

.lp-standards { border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); }
.lp-standards__row {
  display: flex; align-items: center; gap: 40px; min-height: 76px; flex-wrap: wrap;
  padding-top: 18px; padding-bottom: 18px;
}
.lp-standards__label { font-size: 13px; color: var(--lp-muted); margin-right: auto; }
.lp-standards__list { display: flex; flex-wrap: wrap; gap: 12px 36px; margin: 0; padding: 0; list-style: none; }
.lp-standards__list li { font-size: 14px; font-weight: 600; color: var(--lp-ink); letter-spacing: -.005em; }
.lp-standards__list span { font-weight: 500; color: var(--lp-faint); margin-left: 6px; font-size: 12.5px; }

/* ── Product visual (hero) ──────────────────────────────────────────── */
.lp-visual { position: relative; margin-bottom: 72px; }
.lp-app {
  display: grid; grid-template-columns: 52px 1fr;
  background: #fff; border: 1px solid var(--lp-line-2); border-radius: 14px;
  box-shadow: var(--lp-shadow); overflow: hidden;
}
.lp-app__side { background: var(--lp-navy); padding: 14px 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.lp-app__logo { width: 28px; height: 28px; border-radius: 8px; background: var(--lp-blue); display: grid; place-items: center; margin-bottom: 8px; }
.lp-app__logo svg { width: 16px; height: 16px; }
.lp-app__nav { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; color: #6f7d95; }
.lp-app__nav svg { width: 17px; height: 17px; }
.lp-app__nav--on { background: rgba(37, 99, 235, .22); color: #fff; }
.lp-app__main { min-width: 0; }
.lp-app__bar { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--lp-line); }
.lp-app__title { font-size: 14px; font-weight: 700; color: var(--lp-ink); }
.lp-app__who { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--lp-muted); }
.lp-app__avatar { width: 24px; height: 24px; border-radius: 7px; background: var(--lp-navy); color: #fff; font-size: 10px; font-weight: 700; display: grid; place-items: center; }
.lp-kpis { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--lp-line); }
.lp-kpi { padding: 16px 20px; }
.lp-kpi + .lp-kpi { border-left: 1px solid var(--lp-line); }
.lp-kpi dt { font-size: 11.5px; color: var(--lp-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-kpi dd { margin: 6px 0 0; font-family: 'Instrument Serif', Georgia, serif; font-size: 26px; line-height: 1; color: var(--lp-ink); font-variant-numeric: tabular-nums; }
.lp-app__table { padding: 6px 20px 12px; }
.lp-app__caption { font-size: 12px; font-weight: 600; color: var(--lp-ink); padding: 10px 0 6px; }
.lp-inv { display: grid; grid-template-columns: 86px 1fr auto 96px; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--lp-line); font-size: 13px; }
.lp-inv__no { font-weight: 600; color: var(--lp-ink); font-variant-numeric: tabular-nums; }
.lp-inv__client { color: var(--lp-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-inv__amt { text-align: right; font-weight: 600; color: var(--lp-ink); font-variant-numeric: tabular-nums; }

.lp-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; padding: 3px 8px; border-radius: 6px; white-space: nowrap; }
.lp-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.lp-status--paid { background: var(--lp-green-soft); color: var(--lp-green); }
.lp-status--sent { background: var(--lp-blue-soft); color: var(--lp-blue-2); }
.lp-status--overdue { background: var(--lp-red-soft); color: var(--lp-red); }
.lp-status--pending { background: var(--lp-amber-soft); color: var(--lp-amber); }

.lp-toast {
  /* Anchored by its top edge so longer translations grow downward, never over the table. */
  position: absolute; left: -32px; top: calc(100% - 16px); width: 300px;
  display: flex; gap: 12px; align-items: flex-start;
  background: #fff; border: 1px solid var(--lp-line-2); border-radius: 12px; padding: 14px 16px;
  box-shadow: 0 1px 2px rgba(15,23,42,.05), 0 16px 32px -16px rgba(15,23,42,.30);
}
.lp-toast__icon { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 8px; background: var(--lp-green-soft); color: var(--lp-green); display: grid; place-items: center; }
.lp-toast__icon svg { width: 15px; height: 15px; }
.lp-toast__title { font-size: 13.5px; font-weight: 600; color: var(--lp-ink); line-height: 1.3; }
.lp-toast__meta { font-size: 12px; color: var(--lp-muted); margin-top: 2px; line-height: 1.4; }
.lp-toast__id { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; color: var(--lp-faint); margin-top: 4px; }

/* ── Panels (generic product surfaces) ──────────────────────────────── */
.lp-panel { background: #fff; border: 1px solid var(--lp-line-2); border-radius: var(--lp-radius); box-shadow: var(--lp-shadow); overflow: hidden; color: var(--lp-text); }
.lp-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--lp-line); }
.lp-panel__kicker { font-size: 11.5px; color: var(--lp-muted); margin: 0 0 2px; }
.lp-panel__title { font-size: 15px; font-weight: 600; color: var(--lp-ink); margin: 0; line-height: 1.35; }
.lp-panel__sub { font-size: 12px; color: var(--lp-muted); margin: 2px 0 0; }
.lp-panel__body { padding: 8px 20px 16px; }
.lp-live { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--lp-green); white-space: nowrap; }
.lp-live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px var(--lp-green-soft); }

.lp-feed { list-style: none; margin: 0; padding: 0; }
.lp-feed li { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: start; padding: 14px 0; border-top: 1px solid var(--lp-line); }
.lp-feed li:first-child { border-top: 0; }
.lp-feed__dir { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; }
.lp-feed__dir svg { width: 14px; height: 14px; }
.lp-feed__dir--out { background: var(--lp-blue-soft); color: var(--lp-blue-2); }
.lp-feed__dir--in { background: var(--lp-green-soft); color: var(--lp-green); }
.lp-feed__type { font-size: 13.5px; font-weight: 600; color: var(--lp-ink); line-height: 1.35; }
.lp-feed__txt { font-size: 12px; color: var(--lp-muted); margin-top: 2px; }
.lp-feed__mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; color: var(--lp-muted); }
.lp-feed__time { font-size: 11.5px; color: var(--lp-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ── Steps (e-invoicing) ────────────────────────────────────────────── */
.lp-steps { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 32px 36px; counter-reset: lp-step; }
.lp-steps li { counter-increment: lp-step; border-top: 1px solid var(--lp-line-2); padding-top: 18px; }
.lp-steps li::before {
  content: counter(lp-step, decimal-leading-zero);
  display: block; margin-bottom: 10px; font-size: 12.5px; font-weight: 600; color: var(--lp-blue);
  font-variant-numeric: tabular-nums; letter-spacing: .02em;
}

/* ── Column lists (features, formats, trust, integrations, tools) ──── */
.lp-cols { display: grid; gap: 48px 40px; }
.lp-cols--4 { grid-template-columns: repeat(4, 1fr); }
.lp-cols--5 { grid-template-columns: repeat(5, 1fr); }
.lp-col { border-top: 1px solid var(--lp-line-2); padding-top: 22px; }
.lp-section--dark .lp-col { border-color: rgba(255,255,255,.12); }

.lp-group__label { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; font-size: 13px; font-weight: 600; color: var(--lp-ink); }
.lp-group__icon { width: 30px; height: 30px; border-radius: 8px; background: var(--lp-blue-soft); color: var(--lp-blue-2); display: grid; place-items: center; flex: 0 0 30px; }
.lp-group__icon svg { width: 16px; height: 16px; }
.lp-group__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
/* The home page is a teaser: keep columns even and send detail to /features. */
.lp-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }

.lp-code {
  display: inline-block; margin-bottom: 14px; padding: 3px 8px; border-radius: 6px;
  background: #fff; border: 1px solid var(--lp-line-2);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; font-weight: 600; color: var(--lp-ink); letter-spacing: .04em;
}
.lp-section--alt .lp-code { background: #fff; }

.lp-mono-tile { width: 36px; height: 36px; border-radius: 9px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em; display: grid; place-items: center; margin-bottom: 16px; }

.lp-icon { width: 36px; height: 36px; border-radius: 9px; background: var(--lp-blue-soft); color: var(--lp-blue-2); display: grid; place-items: center; margin-bottom: 16px; }
.lp-icon svg { width: 18px; height: 18px; }

.lp-tool { display: block; text-decoration: none; }
.lp-tool .lp-h3 svg { display: inline-block; vertical-align: -2px; margin-left: 5px; width: 15px; height: 15px; color: var(--lp-blue); transition: transform .15s ease; }
.lp-tool:hover .lp-h3 { color: var(--lp-blue-2); }
.lp-tool:hover .lp-h3 svg { transform: translateX(3px); }
.lp-tool:focus-visible { outline: 2px solid var(--lp-blue); outline-offset: 4px; border-radius: 4px; }

/* ── Contracts demo ─────────────────────────────────────────────────── */
.lp-signers { display: grid; gap: 10px; padding: 16px 20px 20px; }
.lp-signer { display: grid; grid-template-columns: 4px 1fr 104px 70px; align-items: center; gap: 14px; padding: 12px 14px 12px 0; border: 1px solid var(--lp-line); border-radius: 10px; overflow: hidden; }
.lp-signer__ink { align-self: stretch; }
.lp-signer__role { font-size: 11px; font-weight: 600; letter-spacing: .03em; }
.lp-signer__name { font-size: 14px; font-weight: 600; color: var(--lp-ink); }
.lp-signer__sig { height: 40px; border: 1px solid var(--lp-line); border-radius: 8px; background: #fff; display: grid; place-items: center; }
.lp-signer__sig svg { width: 84px; height: 30px; }
.lp-signer__sig--todo { border: 1.5px dashed; background: transparent; font-size: 11px; font-weight: 600; }
.lp-signer__state { font-size: 11.5px; font-weight: 600; text-align: right; }
.lp-panel__foot { display: flex; align-items: center; gap: 8px; margin: 0 20px 20px; padding: 10px 12px; border-radius: 8px; background: var(--lp-alt); font-size: 12px; color: var(--lp-muted); }
.lp-panel__foot svg { width: 14px; height: 14px; flex: 0 0 14px; }

/* ── E-sign demo ────────────────────────────────────────────────────── */
.lp-doc { position: relative; margin: 16px 20px 0; height: 188px; border: 1px solid var(--lp-line); border-radius: 8px; background: #fcfcfd; padding: 20px; }
.lp-doc__line { height: 7px; border-radius: 4px; background: #e8ecf2; margin-bottom: 10px; }
.lp-field { position: absolute; bottom: 42px; padding: 8px 12px; border-radius: 6px; border: 1.5px dashed; font-size: 11.5px; font-weight: 600; background: #fff; }
.lp-field--sign { left: 20px; color: var(--lp-green); border-color: #6fbf9a; }
.lp-field--date { left: 150px; color: var(--lp-blue-2); border-color: #8fb1ff; }
.lp-doc__hint { position: absolute; left: 20px; bottom: 14px; font-size: 11px; color: var(--lp-faint); }
.lp-route { list-style: none; margin: 0; padding: 12px 20px 4px; }
.lp-route li { display: flex; align-items: center; gap: 12px; padding: 10px 0; font-size: 14px; color: var(--lp-ink); border-top: 1px solid var(--lp-line); }
.lp-route li:first-child { border-top: 0; }
.lp-route__n { width: 22px; height: 22px; border-radius: 6px; background: var(--lp-alt); border: 1px solid var(--lp-line); font-size: 11.5px; font-weight: 600; color: var(--lp-muted); display: grid; place-items: center; }
.lp-route .lp-status { margin-left: auto; }
.lp-seal { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 20px 20px; padding: 10px 14px; border-radius: 8px; background: var(--lp-navy); color: #c3cad6; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.lp-seal strong { color: #86d4b1; font-family: 'DM Sans', sans-serif; font-weight: 600; }

/* ── AI demos ───────────────────────────────────────────────────────── */
.lp-chat { padding: 20px; display: grid; gap: 16px; font-size: 14px; }
.lp-chat__q { justify-self: end; max-width: 82%; background: var(--lp-navy); color: #fff; padding: 10px 14px; border-radius: 12px 12px 4px 12px; line-height: 1.5; }
.lp-chat__a { display: grid; grid-template-columns: 28px 1fr; gap: 12px; }
.lp-chat__avatar { width: 28px; height: 28px; border-radius: 8px; background: var(--lp-blue-soft); color: var(--lp-blue-2); display: grid; place-items: center; }
.lp-chat__avatar svg { width: 15px; height: 15px; }
.lp-chat__text { color: var(--lp-text); line-height: 1.6; white-space: pre-line; }
.lp-chat__input { display: flex; align-items: center; gap: 10px; margin: 0 20px 20px; padding: 9px 9px 9px 14px; border: 1px solid var(--lp-line-2); border-radius: 10px; font-size: 13px; color: var(--lp-faint); }
.lp-chat__input span:first-child { flex: 1; }
.lp-chat__send { width: 30px; height: 30px; border-radius: 8px; background: var(--lp-navy); color: #fff; display: grid; place-items: center; }
.lp-chat__send svg { width: 14px; height: 14px; }
.lp-provider { display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 600; color: var(--lp-muted); letter-spacing: .02em; }

.lp-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 0 20px 8px; }
.lp-fields div { padding: 12px 0; border-top: 1px solid var(--lp-line); }
.lp-fields div:nth-child(odd) { padding-right: 16px; }
.lp-fields div:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--lp-line); }
.lp-fields dt { display: flex; justify-content: space-between; font-size: 11px; color: var(--lp-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.lp-fields dd { margin: 4px 0 0; font-size: 14px; font-weight: 600; color: var(--lp-ink); font-variant-numeric: tabular-nums; }
.lp-conf { font-weight: 600; }
.lp-conf--hi { color: var(--lp-green); }
.lp-conf--mid { color: var(--lp-amber); }

.lp-note { display: flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 13px; color: var(--lp-muted); }
.lp-section--dark .lp-note { color: #8792a4; }
.lp-note svg { width: 15px; height: 15px; flex: 0 0 15px; }

/* ── Pricing ────────────────────────────────────────────────────────── */
.lp-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lp-plan { position: relative; display: flex; flex-direction: column; padding: 28px; background: #fff; border: 1px solid var(--lp-line-2); border-radius: var(--lp-radius); }
.lp-plan--featured { border-color: var(--lp-navy); box-shadow: 0 0 0 1px var(--lp-navy); }
.lp-plan__tag { position: absolute; top: -11px; left: 27px; padding: 2px 10px; border-radius: 6px; background: var(--lp-navy); color: #fff; font-size: 11.5px; font-weight: 600; }
.lp-plan__name { margin: 0; font-size: 17px; font-weight: 600; color: var(--lp-ink); }
.lp-plan__desc { margin: 2px 0 0; font-size: 13.5px; color: var(--lp-muted); min-height: 1.5em; }
.lp-plan__price { margin: 22px 0 0; display: flex; align-items: baseline; gap: 6px; }
.lp-plan__price strong { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 44px; line-height: 1; color: var(--lp-ink); font-variant-numeric: tabular-nums; }
.lp-plan__price span { font-size: 14px; color: var(--lp-muted); }
.lp-plan .lp-checks { margin: 24px 0 28px; gap: 9px; flex: 1; align-content: start; }
.lp-plan .lp-checks li { font-size: 14px; }
.lp-pricing-foot { display: flex; justify-content: center; margin-top: 40px; }
.lp-features-foot { margin-top: 56px; }

/* ── FAQ ────────────────────────────────────────────────────────────── */
.lp-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
.lp-faq { border-top: 1px solid var(--lp-line-2); }
.lp-faq details { border-bottom: 1px solid var(--lp-line-2); }
.lp-faq summary {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  padding: 20px 0; cursor: pointer; list-style: none;
  font-size: 16px; font-weight: 600; color: var(--lp-ink); line-height: 1.45; border-radius: 4px;
}
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after {
  content: ""; flex: 0 0 11px; width: 11px; height: 11px; margin-top: 7px;
  background:
    linear-gradient(currentColor, currentColor) center / 11px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1.5px 11px no-repeat;
  color: var(--lp-muted); transition: transform .2s ease;
}
.lp-faq details[open] summary::after { transform: rotate(45deg); }
.lp-faq summary:hover { color: var(--lp-blue-2); }
.lp-faq p { margin: -6px 0 22px; max-width: 62ch; font-size: 15px; line-height: 1.7; color: var(--lp-muted); }

/* ── Testimonials (render only when real quotes exist) ──────────────── */
.lp-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 72px; }
.lp-quote blockquote { margin: 0; font-family: 'Instrument Serif', Georgia, serif; font-size: 22px; line-height: 1.35; color: var(--lp-ink); }
.lp-quote figcaption { margin-top: 16px; font-size: 13.5px; color: var(--lp-muted); }
.lp-quote figcaption strong { color: var(--lp-ink); font-weight: 600; }

/* ── Final CTA ──────────────────────────────────────────────────────── */
.lp-final { padding: 104px 0; background: var(--lp-navy); }
.lp-final__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: end; }
.lp-final .lp-h2 { color: #fff; font-size: 48px; }
.lp-final .lp-lead { color: #a9b3c3; }
.lp-final .lp-actions { margin-top: 0; justify-content: flex-end; }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .lp-cols--5 { grid-template-columns: repeat(3, 1fr); }
  .lp-h1 { font-size: 56px; }
}
@media (max-width: 1024px) {
  .lp-section { padding: 88px 0; }
  .lp-hero { padding: 64px 0 80px; }
  .lp-hero__grid, .lp-split, .lp-split--wide-right { grid-template-columns: 1fr; gap: 56px; }
  .lp-split + .lp-split { margin-top: 96px; }
  .lp-sub { margin-top: 88px; }
  .lp-split--flip > :first-child { order: 2; }
  .lp-head, .lp-faq-grid, .lp-final__inner { grid-template-columns: 1fr; gap: 20px; }
  .lp-head { margin-bottom: 48px; }
  .lp-final .lp-actions { justify-content: flex-start; margin-top: 16px; }
  .lp-cols--4 { grid-template-columns: repeat(2, 1fr); }
  .lp-plans { grid-template-columns: repeat(2, 1fr); }
  .lp-quotes { grid-template-columns: 1fr; }
  .lp-toast { left: 16px; }
  .lp-features-foot { margin-top: 40px; }
  .lp-faq-grid { gap: 32px; }
}
@media (max-width: 640px) {
  .lp { font-size: 15px; }
  .lp-wrap { padding: 0 16px; }
  .lp-section, .lp-section--tight { padding: 72px 0; }
  .lp-hero { padding: 44px 0 64px; }
  .lp-h1 { font-size: 42px; line-height: 1.04; }
  .lp-h2, .lp-final .lp-h2 { font-size: 34px; }
  .lp-h2--sm { font-size: 28px; }
  .lp-sub { margin-top: 64px; }
  .lp-hero__lead { font-size: 17px; }
  .lp-lead { font-size: 16.5px; }
  .lp-actions { margin-top: 28px; }
  .lp-actions .lp-btn { flex: 1 1 auto; }
  .lp-checks--2 { grid-template-columns: 1fr; }
  .lp-steps { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
  .lp-cols--4, .lp-cols--5 { grid-template-columns: 1fr; gap: 36px; }
  .lp-plans { grid-template-columns: 1fr; }
  .lp-standards__row { gap: 12px; padding-top: 22px; padding-bottom: 22px; }
  .lp-standards__label { width: 100%; }
  .lp-standards__list { gap: 8px 22px; }
  .lp-app { grid-template-columns: 1fr; }
  .lp-app__side { display: none; }
  .lp-kpis { grid-template-columns: 1fr 1fr; }
  .lp-kpi:nth-child(3) { display: none; }
  .lp-kpi { padding: 14px 14px; }
  .lp-kpi dd { font-size: 22px; white-space: nowrap; }
  .lp-app__bar, .lp-app__table { padding-left: 14px; padding-right: 14px; }
  .lp-inv { grid-template-columns: 1fr auto; row-gap: 4px; }
  .lp-inv__client { grid-column: 1; grid-row: 2; font-size: 12px; color: var(--lp-muted); }
  .lp-inv__no { grid-column: 1; grid-row: 1; }
  .lp-inv__amt { grid-column: 2; grid-row: 1; }
  .lp-inv .lp-status { grid-column: 2; grid-row: 2; justify-self: end; }
  .lp-visual { margin-bottom: 0; }
  .lp-toast { position: relative; left: auto; top: auto; width: auto; margin: -18px 14px 0; }
  .lp-signer { grid-template-columns: 4px 1fr 64px; }
  .lp-signer__sig { display: none; }
  .lp-field--date { left: auto; right: 20px; }
  .lp-fields { grid-template-columns: 1fr; }
  .lp-fields div:nth-child(odd), .lp-fields div:nth-child(even) { padding-left: 0; padding-right: 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .lp *, .lp *::before, .lp *::after { transition: none !important; }
}
