.cmp-page { overflow: hidden; }
.cmp-page em { color: var(--accent); font-style: normal; }
.cmp-hero, .cmp-section, .cmp-cta { max-width: 1200px; margin: 0 auto; padding-left: 48px; padding-right: 48px; }
.cmp-hero { padding-top: 150px; padding-bottom: 80px; }
.cmp-kicker, .cmp-index { color: #bba0ff; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.cmp-hero h1 { font-size: clamp(40px,4.8vw,68px); line-height: 1.02; letter-spacing: -.04em; margin: 26px 0 28px; max-width: 800px; }
.cmp-lead { color: var(--text-mid); font-size: 18px; line-height: 1.65; max-width: 680px; }
.cmp-note { color: var(--text-muted); font-size: 13px; line-height: 1.6; max-width: 680px; margin-top: 20px; padding-left: 14px; border-left: 2px solid rgba(187,160,255,.35); }
.cmp-section { padding-top: 90px; padding-bottom: 90px; border-top: 1px solid var(--border); }
.cmp-head { margin-bottom: 44px; }
.cmp-head h2, .cmp-cta h2 { font-size: clamp(32px,3.6vw,52px); line-height: 1.06; letter-spacing: -.03em; font-weight: 600; margin-top: 16px; }
.cmp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cmp-table-wrap { overflow-x: auto; }
.cmp-table { width: 100%; min-width: 860px; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.55; }
.cmp-table th, .cmp-table td { padding: 22px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); color: var(--text-muted); font-weight: 400; }
.cmp-table thead th { color: var(--text-mid); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.cmp-table tbody th { color: var(--text); font-weight: 500; width: 17%; }
.cmp-table .cmp-us { background: rgba(139,92,246,.07); color: var(--text); border-left: 1px solid rgba(139,92,246,.3); border-right: 1px solid rgba(139,92,246,.3); }
.cmp-table thead .cmp-us { color: #cbb3ef; border-top: 1px solid rgba(139,92,246,.3); border-radius: 12px 12px 0 0; }
.cmp-table tbody tr:last-child .cmp-us { border-bottom: 1px solid rgba(139,92,246,.3); border-radius: 0 0 12px 12px; }
.cmp-table a { color: #cbb3ef; }
.cmp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cmp-cols article { padding: 34px; border: 1px solid rgba(139,92,246,.35); border-radius: 16px; background: #141217; }
.cmp-cols .cmp-muted { border-color: var(--border); background: #111; }
.cmp-cols h3 { font-size: 20px; font-weight: 500; margin-bottom: 20px; }
.cmp-cols ul { list-style: none; display: grid; gap: 14px; }
.cmp-cols li { color: var(--text-mid); font-size: 14px; line-height: 1.55; padding-left: 20px; position: relative; }
.cmp-cols li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: #a98bdb; }
.cmp-muted li::before { background: #6b6672; }
.cmp-statement { font-size: 22px; line-height: 1.55; color: var(--text-mid); max-width: 820px; }
.cmp-faq { display: grid; gap: 10px; max-width: 820px; }
.cmp-faq details { border: 1px solid var(--border); border-radius: 10px; padding: 18px 22px; }
.cmp-faq summary { cursor: pointer; font-weight: 500; }
.cmp-faq p { color: var(--text-muted); line-height: 1.6; margin-top: 12px; font-size: 14px; }
.cmp-cta { padding-top: 90px; padding-bottom: 120px; border-top: 1px solid var(--border); }
.cmp-cta p { color: var(--text-muted); margin: 14px 0 28px; }
.cmp-actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 800px) {
  .cmp-hero, .cmp-section, .cmp-cta { padding-left: 20px; padding-right: 20px; }
  .cmp-hero { padding-top: 115px; padding-bottom: 50px; }
  .cmp-section { padding-top: 60px; padding-bottom: 60px; }
  .cmp-table { min-width: 0; }
  .cmp-table thead { display: none; }
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table th, .cmp-table td { display: block; width: 100%; }
  .cmp-table tr { margin-bottom: 16px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
  .cmp-table tbody th { width: 100%; background: #141217; padding: 14px 18px; }
  .cmp-table td { padding: 14px 18px; border-bottom: 1px solid var(--border); }
  .cmp-table td::before { content: attr(data-label); display: block; color: #a98bdb; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 6px; }
  .cmp-table .cmp-us, .cmp-table tbody tr:last-child .cmp-us { border: 0; border-radius: 0; }
  .cmp-cols { grid-template-columns: 1fr; }
  .cmp-cols article { padding: 26px; }
  .cmp-statement { font-size: 18px; }
}
