.cp-hero { position: relative; padding: 130px 0 70px; overflow: hidden; }
.cp-lead { max-width: 660px; margin-top: 22px; font-size: 1.1rem; line-height: 1.6; opacity: .85; }
.cp-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cp-h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 10px; letter-spacing: -.02em; }
.cp-sub { max-width: 640px; opacity: .75; line-height: 1.6; margin: 0 0 28px; }
.cp-scroll { overflow-x: auto; border-radius: 16px; border: 1px solid var(--line); }
.cp-table { width: 100%; min-width: 860px; border-collapse: collapse; font-size: .93rem; background: var(--surface); }
.cp-table th, .cp-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); line-height: 1.5; }
.cp-table thead th { font-size: .95rem; position: sticky; top: 0; }
.cp-table thead th small { display: block; font-weight: 400; opacity: .6; font-size: .78rem; }
.cp-table tbody th { width: 17%; font-weight: 600; }
.cp-table .is-us { background: rgba(99, 102, 241, .1); border-left: 2px solid #6366f1; border-right: 2px solid #6366f1; }
.cp-table thead .is-us { background: #6366f1; color: #fff; }
.cp-table tbody tr:last-child .is-us { border-bottom: 2px solid #6366f1; }
.cp-table .y { color: #059669; font-weight: 700; }
.cp-table .n { color: #dc2626; font-weight: 600; }
.cp-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: 24px; }
.cp-card { padding: 24px; border-radius: 18px; border: 1px solid var(--line); background: var(--surface); }
.cp-card h3 { margin: 0 0 8px; font-size: 1.1rem; }
.cp-card p { margin: 0; opacity: .78; line-height: 1.6; }
.cp-list { padding-left: 20px; line-height: 1.8; }
.cp-list li { margin-bottom: 8px; }
