:root {
  --dcv-bg: #f6f8fc;
  --dcv-ink: #0f172a;
  --dcv-muted: #64748b;
  --dcv-card: #fff;
  --dcv-line: #e2e8f0;
  --dcv-primary: #2563eb;
  --dcv-cyan: #06b6d4;
  --dcv-violet: #7c3aed;
  --dcv-green: #16a34a;
  --dcv-warn: #f59e0b;
  --dcv-dark: #07111f;
  --dcv-radius: 24px;
  --dcv-shadow: 0 18px 50px rgba(15, 23, 42, .10);
  --dcv-shadow-sm: 0 10px 30px rgba(15, 23, 42, .08);
  --dcv-grad: linear-gradient(135deg, #2563eb 0%, #06b6d4 48%, #7c3aed 100%)
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  font-family: emoji;
  background: var(--dcv-bg);
  color: var(--dcv-ink);
  overflow-x: hidden
}

.container-xl {
  max-width: 1180px
}

.text-gradient {
  background: var(--dcv-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.dcv-topbar {
  background: #08111f;
  color: #cbd5e1;
  font-size: .86rem
}

.dcv-topbar a {
  color: #fff;
  text-decoration: none
}

.dcv-header {
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(226, 232, 240, .8);
  transition: .2s
}

.dcv-brand {
  text-decoration: none;
  color: var(--dcv-ink)
}

.dcv-brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--dcv-grad);
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 10px 25px rgba(37, 99, 235, .25)
}

.dcv-brand-name {
  font-weight: 900;
  letter-spacing: -.03em
}

.dcv-brand-sub {
  font-size: .77rem;
  color: var(--dcv-muted);
  margin-top: -3px
}

.dcv-nav-link {
  color: #27364a;
  text-decoration: none;
  font-weight: 700;
  padding: .75rem .85rem;
  border-radius: 14px
}

.dcv-nav-link:hover,
.dcv-nav-link.active {
  background: #eff6ff;
  color: #1d4ed8
}

.dcv-dropdown {
  min-width: 430px;
  border: 1px solid var(--dcv-line);
  box-shadow: var(--dcv-shadow);
  border-radius: 22px;
  padding: 12px
}

.dcv-drop-item {
  display: flex;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  text-decoration: none;
  color: var(--dcv-ink)
}

.dcv-drop-item:hover {
  background: #f1f5f9
}

.dcv-drop-icon {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: #eff6ff;
  display: grid;
  place-items: center;
  font-size: 22px;
  flex: 0 0 auto
}

.dcv-btn {
  border: 0;
  border-radius: 999px;
  padding: .82rem 1.2rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  transition: .18s
}

.dcv-btn-primary {
  background: var(--dcv-grad);
  color: #fff;
  box-shadow: 0 16px 34px rgba(37, 99, 235, .22)
}

.dcv-btn-primary:hover {
  color: #fff;
  transform: translateY(-2px)
}

.dcv-btn-soft {
  background: #fff;
  color: #1d4ed8;
  border: 1px solid #dbeafe
}

.dcv-btn-dark {
  background: #0f172a;
  color: #fff
}

.dcv-btn-outline {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .35);
  color: #fff
}

.dcv-hero {
  position: relative;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, .22), transparent 36%), radial-gradient(circle at top right, rgba(6, 182, 212, .20), transparent 30%), linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
  overflow: hidden
}

.dcv-hero:after {
  content: "";
  position: absolute;
  inset: auto -15% -35% -15%;
  height: 420px;
  background: radial-gradient(circle, rgba(37, 99, 235, .12), transparent 60%);
  pointer-events: none
}

.dcv-badge {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: .45rem .75rem;
  font-weight: 800;
  font-size: .86rem
}

.dcv-hero-title {
  font-size: clamp(2.15rem, 2.5vw, 3.55rem);
  font-weight: 950;
  line-height: 1.02;
  letter-spacing: -.06em
}

.dcv-hero-lead {
  font-size: clamp(1rem, 2vw, 1.18rem);
  color: #475569;
  line-height: 1.85
}

.dcv-panel {
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: var(--dcv-radius);
  box-shadow: var(--dcv-shadow);
  backdrop-filter: blur(18px)
}

.dcv-stat {
  padding: 18px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--dcv-line)
}

.dcv-section {
  padding: 86px 0
}

.dcv-section-muted {
  background: #f1f5f9
}

.dcv-section-dark {
  background: linear-gradient(180deg, #08111f, #0f172a);
  color: #fff
}

.dcv-section-title {
  font-size: clamp(1.85rem, 3vw, 2.8rem);
  font-weight: 950;
  letter-spacing: -.04em
}

.dcv-section-lead {
  color: #64748b;
  line-height: 1.8;
  max-width: 820px
}

.dcv-section-dark .dcv-section-lead {
  color: #cbd5e1
}

.dcv-card {
  background: #fff;
  border: 1px solid var(--dcv-line);
  border-radius: var(--dcv-radius);
  box-shadow: var(--dcv-shadow-sm);
  height: 100%;
  transition: .18s
}

.dcv-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--dcv-shadow)
}

.dcv-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: #eff6ff;
  display: grid;
  place-items: center;
  font-size: 26px
}

.dcv-price {
  font-size: 2.15rem;
  font-weight: 950;
  letter-spacing: -.04em
}

.dcv-plan-featured {
  background: linear-gradient(180deg, #1d4ed8, #4338ca);
  color: #fff;
  border: 0
}

.dcv-plan-featured .text-muted,
.dcv-plan-featured .dcv-muted {
  color: #dbeafe !important
}

.dcv-check {
  list-style: none;
  padding: 0;
  margin: 0
}

.dcv-check li {
  padding: .42rem 0;
  color: #475569
}

.dcv-check li:before {
  content: "✓";
  font-weight: 900;
  color: #16a34a;
  margin-right: .55rem
}

.dcv-plan-featured .dcv-check li {
  color: #eef2ff
}

.dcv-plan-featured .dcv-check li:before {
  color: #facc15
}

.dcv-table {
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--dcv-shadow-sm);
  border: 1px solid var(--dcv-line)
}

.dcv-table table {
  margin: 0
}

.dcv-table th {
  background: #0f172a;
  color: #fff
}

.dcv-faq .accordion-item {
  border: 1px solid var(--dcv-line);
  border-radius: 18px !important;
  overflow: hidden;
  margin-bottom: 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04)
}

.dcv-faq .accordion-button {
  font-weight: 850
}

.dcv-footer {
  background: #07111f;
  color: #cbd5e1
}

.dcv-footer a {
  color: #dbeafe;
  text-decoration: none
}

.dcv-footer a:hover {
  color: #fff;
  text-decoration: underline
}

.dcv-footer-title {
  color: #fff;
  font-weight: 900
}

.dcv-mobile-btn {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  border: 1px solid var(--dcv-line);
  background: #fff;
  display: grid;
  place-items: center
}

.dcv-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, .58);
  z-index: 1040;
  opacity: 0;
  visibility: hidden;
  transition: .2s
}

.dcv-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(92vw, 390px);
  height: 100dvh;
  background: #fff;
  z-index: 1050;
  transform: translateX(100%);
  transition: .25s ease;
  box-shadow: -20px 0 60px rgba(2, 6, 23, .22);
  display: flex;
  flex-direction: column
}

.mobile-open .dcv-mobile-overlay {
  opacity: 1;
  visibility: visible
}

.mobile-open .dcv-mobile-drawer {
  transform: translateX(0)
}

.dcv-mobile-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  color: #0f172a;
  text-decoration: none;
  font-weight: 850;
  border-bottom: 1px solid #eef2f7
}

.dcv-mobile-sub {
  display: none;
  padding: 8px 0 8px 12px
}

.dcv-mobile-sub a {
  display: block;
  padding: 10px 0;
  color: #475569;
  text-decoration: none
}

.dcv-mobile-group.is-open .dcv-mobile-sub {
  display: block
}

.policy-prose {
  line-height: 1.85;
  color: #334155
}

.policy-prose h2,
.policy-prose h3 {
  font-weight: 950;
  letter-spacing: -.02em;
  color: #0f172a;
  margin-top: 1.5rem
}

.policy-prose .card {
  border: 1px solid var(--dcv-line);
  border-radius: 22px;
  box-shadow: var(--dcv-shadow-sm)
}

@media(max-width:767.98px) {
  .dcv-topbar {
    display: none
  }

  .dcv-section {
    padding: 56px 0
  }

  .dcv-hero {
    padding-top: 24px
  }

  .dcv-hero-title {
    letter-spacing: -.045em
  }

  .dcv-panel {
    border-radius: 22px
  }

  .dcv-btn {
    width: 100%;
    padding: .9rem 1rem
  }

  .dcv-card:hover {
    transform: none
  }

  .dcv-table {
    overflow-x: auto
  }

  .dcv-header .container-xl {
    padding-left: 14px !important;
    padding-right: 14px !important
  }

  .dcv-brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 13px
  }

  .dcv-brand-sub {
    display: none
  }
}

@media(prefers-reduced-motion:reduce) {
  * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important
  }
}