:root {
  --pm-ink:#0f172a;
  --pm-muted:#5b6475;
  --pm-line:#dbe4ee;
  --pm-panel:#ffffff;
  --pm-panel-soft:rgba(255,255,255,.88);
  --pm-blue:#175cd3;
  --pm-blue-dark:#123a8f;
  --pm-blue-soft:#eff6ff;
  --pm-teal:#0f766e;
  --pm-warm:#fff7ed;
  --pm-shadow:0 18px 40px rgba(15,23,42,.10);
}

.pm-page {
  position:relative;
  padding:56px 0 24px;
  background:
    radial-gradient(circle at top left, rgba(23,92,211,.10), transparent 30%),
    radial-gradient(circle at top right, rgba(15,118,110,.10), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  overflow:hidden;
}

.pm-shell,
.pm-sections {
  position:relative;
}

.pm-hero,
.pm-demo-form-grid {
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, .8fr);
  gap:24px;
}

.pm-hero--single {
  grid-template-columns:minmax(0, 1fr);
}

.pm-panel,
.pm-card,
.pm-form-card,
.pm-note-card,
.pm-highlight-card {
  background:var(--pm-panel-soft);
  border:1px solid var(--pm-line);
  border-radius:26px;
  box-shadow:var(--pm-shadow);
  backdrop-filter:blur(16px);
}

.pm-panel--hero,
.pm-form-card,
.pm-note-card {
  padding:32px;
}

.pm-highlight-grid {
  display:grid;
  gap:16px;
}

.pm-highlight-card {
  padding:20px 22px;
}

.pm-highlight-card strong {
  display:block;
  font-size:1.125rem;
  color:var(--pm-ink);
}

.pm-highlight-card p {
  margin:10px 0 0;
  color:var(--pm-muted);
  line-height:1.65;
}

.pm-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--pm-blue-soft);
  color:var(--pm-blue);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pm-panel h1,
.pm-panel h2,
.pm-form-card h2,
.pm-note-card h2,
.pm-final-cta h2,
.pm-section-head h2 {
  margin:16px 0 0;
  color:var(--pm-ink);
  line-height:1.08;
}

.pm-panel h1 {
  font-size:clamp(2.4rem, 4vw, 4.4rem);
  max-width:12ch;
}

.pm-section-head h2,
.pm-form-card h2,
.pm-note-card h2,
.pm-final-cta h2 {
  font-size:clamp(1.65rem, 2.5vw, 2.5rem);
}

.pm-panel p,
.pm-form-card p,
.pm-note-card p,
.pm-section-head p,
.pm-final-cta p {
  margin:16px 0 0;
  color:var(--pm-muted);
  line-height:1.72;
  max-width:66ch;
}

.pm-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.pm-actions--stacked {
  align-items:flex-start;
}

.pm-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid transparent;
  text-decoration:none !important;
  font-size:.96rem;
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.pm-btn:hover {
  transform:translateY(-1px);
}

.pm-btn--primary {
  background:linear-gradient(135deg, var(--pm-blue) 0%, var(--pm-blue-dark) 100%);
  color:#fff !important;
  box-shadow:0 14px 26px rgba(23,92,211,.22);
}

.pm-btn--secondary {
  background:#fff;
  color:var(--pm-blue) !important;
  border-color:rgba(23,92,211,.22);
}

.pm-btn--light {
  background:#fff;
  color:var(--pm-blue-dark) !important;
}

.pm-btn--ghost-light {
  background:transparent;
  color:#fff !important;
  border-color:rgba(255,255,255,.24);
}

.pm-section {
  padding:18px 0 8px;
}

.pm-card-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:24px;
}

.pm-card-grid--compact {
  margin-top:28px;
}

.pm-card {
  padding:24px;
}

.pm-card__icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:15px;
  background:linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color:var(--pm-blue);
  font-size:1.25rem;
}

.pm-card h3 {
  margin:18px 0 0;
  color:var(--pm-ink);
  font-size:1.06rem;
}

.pm-card__kicker {
  display:inline-flex;
  margin-top:16px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--pm-warm);
  color:#9a3412;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pm-card p {
  margin:10px 0 0;
  color:var(--pm-muted);
  line-height:1.68;
}

.pm-bullet-list,
.pm-check-list {
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:10px;
}

.pm-bullet-list li,
.pm-check-list li {
  position:relative;
  padding-left:20px;
  color:var(--pm-ink);
  line-height:1.62;
}

.pm-bullet-list li::before,
.pm-check-list li::before {
  content:'';
  position:absolute;
  top:.62em;
  left:0;
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--pm-teal);
}

.pm-card__link {
  display:inline-flex;
  margin-top:18px;
  color:var(--pm-blue) !important;
  font-weight:700;
  text-decoration:none !important;
}

.pm-final-cta-wrap {
  padding:14px 0 0;
}

.pm-final-cta {
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) auto;
  gap:22px;
  align-items:center;
  padding:32px;
  border-radius:28px;
  background:linear-gradient(135deg, #0f172a 0%, #123a8f 55%, #0f766e 100%);
  box-shadow:0 22px 48px rgba(15,23,42,.18);
}

.pm-final-cta .pm-eyebrow,
.pm-form-card__head .pm-eyebrow,
.pm-note-card .pm-eyebrow {
  background:rgba(255,255,255,.12);
  color:#dbeafe;
}

.pm-final-cta h2,
.pm-final-cta p {
  color:#fff;
}

.pm-decision-banner {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-top:26px;
  padding:20px 22px;
  border-radius:20px;
  border:1px solid rgba(23,92,211,.14);
  background:linear-gradient(135deg, rgba(239,246,255,.95) 0%, rgba(240,253,250,.95) 100%);
}

.pm-decision-banner strong {
  display:block;
  color:var(--pm-ink);
  font-size:1rem;
}

.pm-decision-banner p {
  margin:8px 0 0;
}

.pm-form-card__head {
  margin-bottom:22px;
}

.pm-form-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.pm-field {
  display:grid;
  gap:8px;
}

.pm-field--full,
.pm-field--actions {
  grid-column:1 / -1;
}

.pm-field span {
  color:var(--pm-ink);
  font-size:.92rem;
  font-weight:700;
}

.pm-field input,
.pm-field select,
.pm-field textarea {
  width:100%;
  border:1px solid var(--pm-line);
  border-radius:14px;
  padding:13px 14px;
  background:#fff;
  color:var(--pm-ink);
  font-size:.96rem;
}

.pm-field textarea {
  resize:vertical;
}

.pm-field small {
  color:#b42318;
  font-size:.82rem;
}

.pm-alert {
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:14px;
  font-weight:600;
}

.pm-alert--success {
  background:#ecfdf3;
  color:#166534;
  border:1px solid #bbf7d0;
}

.pm-alert--error {
  background:#fef2f2;
  color:#991b1b;
  border:1px solid #fecaca;
}

.pm-note-card__block {
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--pm-line);
}

.pm-note-card__block strong {
  display:block;
  color:var(--pm-ink);
}

.pm-note-card__block--accent {
  padding:18px;
  border:1px solid rgba(23,92,211,.16);
  border-radius:18px;
  background:var(--pm-blue-soft);
}

.pm-note-card__block a {
  color:var(--pm-blue) !important;
  font-weight:700;
  text-decoration:none !important;
}

.rk-public-footer {
  margin-top:72px;
  padding:72px 0 32px;
  background:linear-gradient(180deg, #0f172a 0%, #111827 100%);
}

.rk-public-footer__cta {
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) auto;
  gap:22px;
  align-items:center;
  padding:32px;
  border-radius:30px;
  background:linear-gradient(135deg, rgba(23,92,211,.92) 0%, rgba(18,58,143,.92) 55%, rgba(15,118,110,.92) 100%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 22px 50px rgba(2,6,23,.28);
}

.rk-public-footer__eyebrow {
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#bfdbfe;
}

.rk-public-footer__cta h2,
.rk-public-footer__cta p {
  margin:10px 0 0;
  color:#fff;
}

.rk-public-footer__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.rk-public-footer .rk-btn-demo {
  border-color:rgba(255,255,255,.38) !important;
  color:#fff !important;
}

.rk-public-footer .rk-btn-demo:hover {
  background:#fff !important;
  color:var(--pm-blue-dark) !important;
}

.rk-public-footer .rk-btn-login {
  background:#fff !important;
  border-color:#fff !important;
  color:var(--pm-blue-dark) !important;
}

.rk-public-footer__grid {
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) repeat(4, minmax(0, .8fr));
  gap:24px;
  margin-top:34px;
}

.rk-public-footer__brand,
.rk-public-footer__col {
  color:#cbd5e1;
}

.rk-public-footer__logo-link img {
  width:auto;
  max-width:180px;
  display:block;
}

.rk-public-footer__brand p {
  margin:18px 0 0;
  line-height:1.72;
}

.rk-public-footer__meta-links {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.rk-public-footer__meta-links a,
.rk-public-footer__col a,
.rk-public-footer__bottom a {
  color:#e2e8f0 !important;
  text-decoration:none !important;
}

.rk-public-footer__col h4 {
  margin:0 0 14px;
  color:#fff;
}

.rk-public-footer__col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.rk-public-footer__col li {
  line-height:1.55;
}

.rk-public-footer__bottom {
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#94a3b8;
  font-size:.92rem;
}

@media (max-width: 1199px) {
  .pm-card-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .rk-public-footer__grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .rk-public-footer__brand {
    grid-column:1 / -1;
  }
}

@media (max-width: 991px) {
  .pm-hero,
  .pm-demo-form-grid,
  .pm-final-cta,
  .rk-public-footer__cta {
    grid-template-columns:minmax(0, 1fr);
  }

  .pm-panel--hero,
  .pm-form-card,
  .pm-note-card,
  .pm-final-cta,
  .rk-public-footer__cta {
    padding:26px;
  }

  .pm-card-grid {
    grid-template-columns:minmax(0, 1fr);
  }

  .rk-public-footer__grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pm-page {
    padding-top:34px;
  }

  .pm-form-grid {
    grid-template-columns:minmax(0, 1fr);
  }

  .pm-decision-banner,
  .rk-public-footer__bottom {
    flex-direction:column;
  }

  .rk-public-footer {
    padding-top:56px;
  }

  .rk-public-footer__grid {
    grid-template-columns:minmax(0, 1fr);
  }
}