
.cp-hero{padding-bottom:88px}
.cp-main{padding:88px 0 96px;background:var(--cream,#F4F6FA)}
.cp-grid{display:grid;grid-template-columns:1fr 520px;gap:72px;align-items:start}
.cp-toc{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--divider,#C6CEDA)}
.cp-toc li{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:baseline;
 padding:19px 0;border-bottom:1px solid var(--divider,#C6CEDA)}
.cp-toc b{font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--olive,#12459E)}
.cp-toc span{font-size:17px;line-height:1.6;color:var(--slate-light,#57606E);word-break:keep-all}
.cp-toc em{font-style:normal;font-weight:700;color:var(--ink,#10141C)}
.cp-note{margin-top:26px;font-size:15px;line-height:1.8;color:var(--muted-light,#4F5866);word-break:keep-all}
.cp-card{background:var(--ink,#10141C);color:#fff;padding:44px 40px}
.cp-card h3{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0}
.cp-sub{margin:12px 0 4px;font-size:15px;line-height:1.7;color:var(--slate-dark,#A5AEBE)}
.cp-card .fld label i{font-style:normal;color:var(--mint,#4D8DFF)}
.cp-card .fld label .opt{color:#57606E;font-weight:400}
.cp-consent{margin-top:26px;padding-top:22px;border-top:1px solid var(--border-dark,#242C3B)}
.cp-chk{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;margin-top:14px;
 font-size:14px;line-height:1.65;color:var(--slate-dark,#A5AEBE);cursor:pointer}
.cp-chk input{width:20px;height:20px;margin-top:1px;accent-color:var(--mint,#4D8DFF)}
.cp-chk b{color:#fff}
.cp-consent details{margin:8px 0 0 34px}
.cp-consent summary{cursor:pointer;font-size:13px;color:var(--sage,#6B7689);text-decoration:underline}
.cp-detail{margin-top:10px;padding:14px;background:#0A0E15;border-left:3px solid var(--sage,#6B7689);
 font-size:13px;line-height:1.75;color:var(--slate-dark,#A5AEBE)}
.cp-fine{margin-top:14px;font-size:13px;line-height:1.7;color:#57606E}
.cp-alt{margin-top:64px;padding-top:40px;border-top:1px solid var(--divider,#C6CEDA);
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.cp-alt p{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0;word-break:keep-all}
.cp-alt span{display:block;margin-top:8px;font-size:15px;font-weight:400;color:var(--muted-light,#4F5866)}
@media(max-width:1024px){.cp-grid{grid-template-columns:1fr;gap:44px}}
@media(max-width:640px){.cp-main{padding:56px 0 64px}.cp-card{padding:32px 22px}}
