:root {
  --rf-primary: #0891b2;
  --rf-primary-strong: #0e7490;
  --rf-primary-soft: #ecfeff;
  --rf-accent: #c0268f;
  --rf-text: #172033;
  --rf-muted: #667085;
  --rf-border: #e4e9f1;
  --rf-radius: 16px;
  --rf-shadow: 0 12px 34px rgba(23,32,51,.08);
}

.landing-page { color: var(--rf-text); }
.landing-page .skip-link {
  position: fixed;
  top: -5rem;
  left: 1rem;
  z-index: 100000;
  padding: .75rem 1rem;
  border-radius: .6rem;
  background: #111827;
  color: #fff;
}
.landing-page .skip-link:focus { top: 1rem; }
.landing-page :focus-visible { outline: 2px solid var(--rf-primary); outline-offset: 3px; }

.landing-page .navbar-landing {
  border-bottom: 1px solid rgba(228,233,241,.9);
  background: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 2px 12px rgba(23,32,51,.04);
}
.landing-page .navbar-landing .nav-link { color: #344054; font-weight: 600; }
.landing-page .navbar-landing .nav-link:hover { color: var(--rf-primary-strong); }
.landing-page .btn-cta,
.landing-page .btn-primary {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--rf-primary) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.landing-page .btn-cta:hover,
.landing-page .btn-primary:hover { background: var(--rf-primary-strong) !important; transform: none !important; }
.landing-page .btn { min-height: 46px; font-weight: 650; }
.landing-page .navbar-landing .btn-outline-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  line-height: 1;
  border-radius: 999px !important;
}
.landing-page .navbar-landing .btn-outline-primary i,
.landing-page .navbar-landing .btn-outline-primary [class^="ti-"] {
  line-height: 1;
  flex-shrink: 0;
}

.landing-page .hero-gradient {
  padding: 150px 0 82px !important;
  background: linear-gradient(125deg, #0e7490 0%, #2563a8 54%, #9d3f9c 100%) !important;
}
.landing-page .hero-gradient h1 { max-width: 680px; font-size: clamp(2.5rem, 5vw, 4.4rem) !important; line-height: 1.02; }
.landing-page .hero-gradient .bg-white { border: 1px solid rgba(255,255,255,.6); box-shadow: 0 22px 60px rgba(13,31,55,.24) !important; }
.landing-page section[style*="padding: 100px"] { padding: 76px 0 !important; }

.landing-page .feature-card,
.landing-page .pricing-card {
  border: 1px solid var(--rf-border) !important;
  border-radius: var(--rf-radius) !important;
  box-shadow: 0 5px 18px rgba(23,32,51,.05) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.landing-page .feature-card:hover,
.landing-page .pricing-card:hover {
  transform: none !important;
  border-color: #9adbe5 !important;
  box-shadow: var(--rf-shadow) !important;
}
.landing-page .pricing-card.popular { border: 2px solid var(--rf-primary) !important; }
.landing-page .badge-popular { background: var(--rf-primary) !important; }
.landing-page .pricing-card li { display: flex; align-items: flex-start; line-height: 1.45; }
.landing-page .pricing-card li i { flex: 0 0 auto; margin-top: .15rem; }

.landing-page .table-responsive {
  border: 1px solid var(--rf-border);
  border-radius: var(--rf-radius);
  background: #fff;
  box-shadow: 0 5px 18px rgba(23,32,51,.04);
}
.landing-page .table { margin-bottom: 0; }
.landing-page .table th,
.landing-page .table td { padding: .9rem 1rem; border-color: var(--rf-border); }

.landing-page .accordion-item { border-color: var(--rf-border) !important; }
.landing-page .accordion-button { min-height: 58px; color: var(--rf-text); }
.landing-page .accordion-button:not(.collapsed) { background: var(--rf-primary-soft); color: var(--rf-primary-strong); }

.landing-page .modal-content { border-radius: 18px !important; }
.landing-page .modal-header { background: #15223a !important; }
.landing-page .form-control,
.landing-page .form-select { min-height: 48px; border-radius: 10px !important; }
.landing-page .form-control:focus,
.landing-page .form-select:focus { border-color: var(--rf-primary) !important; box-shadow: 0 0 0 3px rgba(8,145,178,.16) !important; }
.landing-page .form-label { color: #344054 !important; }

@media (max-width: 991px) {
  .landing-page .navbar-collapse {
    margin-top: .75rem;
    padding: 1rem;
    border: 1px solid var(--rf-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--rf-shadow);
  }
  .landing-page .hero-gradient { padding: 122px 0 60px !important; }
}

@media (max-width: 767px) {
  .landing-page section[style*="padding: 100px"] { padding: 52px 0 !important; }
  .landing-page .hero-gradient { padding: 108px 0 48px !important; }
  .landing-page .hero-gradient h1 { font-size: 2.35rem !important; }
  .landing-page .hero-gradient .fs-5 { font-size: 1rem !important; }
  .landing-page .hero-gradient .btn { width: 100%; padding-left: 1rem !important; padding-right: 1rem !important; }
  .landing-page .display-5 { font-size: 1.9rem !important; }
  .landing-page .feature-card .card-body,
  .landing-page .pricing-card .card-body { padding: 1.25rem !important; }
  .landing-page .table { min-width: 720px; }
  .landing-page .table th:first-child,
  .landing-page .table td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    max-width: 165px;
    background: #fff;
    white-space: normal;
  }
  .landing-page .modal-dialog { margin: .5rem; }
  .landing-page .modal-header { padding: 1.5rem 1.25rem !important; }
  .landing-page .modal-body { padding: 1.25rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page *, .landing-page *::before, .landing-page *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
