.cp-main { color:#183344; background:#fff; padding-bottom:4rem; }
    .cp-hero { background:linear-gradient(120deg,#eef7fb,#f6f8ff 65%,#fff); border-bottom:1px solid #e6edf1; padding:4.5rem 0; }
    .cp-hero h1 { font-size:clamp(2.1rem,4vw,3.5rem); letter-spacing:-.045em; line-height:1.12; color:#122f42; max-width:800px; }
    .cp-kicker { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#167888; margin:1rem 0; }
    .cp-lead { font-size:1.15rem; line-height:1.8; color:#526879; max-width:720px; }
    .cp-workflow { background:#fff; border:1px solid #dce9ee; border-radius:1.4rem; padding:2rem; box-shadow:0 18px 60px #15394c0c; }
    .cp-step { display:flex; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid #eaf0f4; }
    .cp-step:last-child { border:0; }
    .cp-number { background:#e4f3f5; color:#126879; border-radius:50%; width:2.3rem; height:2.3rem; display:grid; place-items:center; flex-shrink:0; font-weight:700; }
    .cp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
    .cp-card { border:1px solid #e0e8ed; border-radius:1.2rem; padding:2rem; background:#fff; }
    .cp-card h2,.cp-section h2 { font-size:1.4rem; letter-spacing:-.025em; line-height:1.4; color:#163448; }
    .cp-copy { color:#526879; line-height:1.9; white-space:pre-line; overflow-wrap:anywhere; }
    .cp-card-link { display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:border-color .2s,box-shadow .2s; }
    .cp-card-link:hover { border-color:#377dff; box-shadow:0 12px 30px #1634480a; }
    .cp-card-link .cp-arrow { margin-top:auto; padding-top:1rem; color:#2465bd; font-weight:600; }
    .cp-topic-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:4rem; padding-top:3rem; }
    .cp-toc { position:sticky; top:2rem; align-self:start; border-left:2px solid #dce9ee; padding-left:1.25rem; }
    .cp-toc a { display:block; color:#526879; font-size:.9rem; padding:.5rem 0; }
    .cp-section { border-bottom:1px solid #e6edf1; padding:0 0 2rem; margin-bottom:2rem; scroll-margin-top:2rem; }
    .cp-related { margin-top:3rem; border-top:1px solid #e6edf1; padding-top:2.5rem; }
    .cp-cta { background:#123647; border-radius:1.25rem; padding:2.5rem; color:#fff; margin-top:3rem; }
    .cp-cta h2 { color:#fff; font-size:1.5rem; }
    .cp-faq details { border-bottom:1px solid #e0e8ed; padding:1rem 0; }
    .cp-faq summary { cursor:pointer; font-weight:600; }
    @media(max-width:767px) { .cp-hero{padding:2.5rem 0}.cp-grid{grid-template-columns:1fr}.cp-topic-layout{grid-template-columns:1fr;gap:2rem}.cp-toc{position:static}.cp-card{padding:1.5rem}.cp-cta{padding:1.5rem} }

/* Content hubs: quiet typography, useful detail and a shared review language. */
.cp-main { --cp-ink:#142f3d; --cp-muted:#506673; --cp-teal:#086d65; --cp-line:#dce6e7; --cp-mint:#e8f4ee; }
.cp-hub { padding-bottom:0; }
.cp-hub .container { max-width:1224px; padding-left:32px; padding-right:32px; }
.cp-hub h1,.cp-hub h2,.cp-hub h3 { color:var(--cp-ink); letter-spacing:-.035em; }
.cp-hub p { overflow-wrap:break-word; }
.cp-hub a:focus-visible,.cp-hub summary:focus-visible,.cp-detail a:focus-visible,.cp-detail summary:focus-visible { outline:3px solid #087b72; outline-offset:5px; border-radius:4px; }
.cp-hub a { text-underline-offset:4px; }
.cp-hub-hero { background:radial-gradient(ellipse at 95% 5%,#e3f0e9 0,transparent 56%),linear-gradient(125deg,#f7faf8,#f0f7f5); padding:28px 0 72px; border-bottom:1px solid var(--cp-line); }
.cp-breadcrumb { display:flex; gap:12px; font-size:12px; color:#526b70; margin-bottom:56px; }
.cp-breadcrumb a { color:#526b70; }
.cp-breadcrumb [aria-current] { color:var(--cp-ink); }
.cp-hero-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:72px; align-items:center; }
.cp-hub .cp-kicker { font-size:10px; line-height:1.6; letter-spacing:.15em; margin:0 0 20px; color:var(--cp-teal); font-weight:700; }
.cp-dot { display:inline-block; width:7px; height:7px; background:var(--cp-teal); border-radius:50%; margin-right:10px; vertical-align:1px; }
.cp-hub h1 { text-wrap:balance; font-size:clamp(36px,4vw,58px); line-height:1.12; font-weight:650; margin:0 0 24px; }
.cp-hub h1 span { display:block; color:var(--cp-teal); }
.cp-hub .cp-lead { font-size:16px; line-height:1.85; max-width:560px; color:var(--cp-muted); margin-bottom:30px; }
.cp-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px 24px; }
.cp-button { display:inline-flex; justify-content:center; align-items:center; gap:22px; padding:14px 20px; font-size:13px; font-weight:600; line-height:1.5; border-radius:6px; text-decoration:none; transition:background .2s,box-shadow .2s; }
.cp-button-primary { background:var(--cp-teal); color:#fff; border:1px solid var(--cp-teal); }
.cp-button-primary:hover { background:#05544e; color:#fff; box-shadow:0 6px 18px #0b4f4720; }
.cp-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--cp-ink); font-size:13px; font-weight:600; text-decoration:none; }
.cp-text-link:hover { color:var(--cp-teal); text-decoration:underline; }
.cp-review-panel { background:#fff; border:1px solid #cfdfd9; border-radius:12px; box-shadow:0 20px 60px #153d3010; overflow:hidden; }
.cp-hero-art { position:relative; background:#e6eee7; aspect-ratio:16/9; overflow:hidden; }
.cp-hero-art img { display:block; width:100%; height:100%; object-fit:cover; }
.cp-art-seal { position:absolute; bottom:16px; right:18px; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; border:1px solid #ffffffa0; background:#ffffffda; color:var(--cp-teal); font-size:20px; box-shadow:0 4px 14px #234f3410; }
.cp-visual-caption { padding:24px 26px; }
.cp-visual-caption .cp-kicker { margin-bottom:10px; font-size:10px; }
.cp-hub .cp-review-panel h2 { font-size:23px; line-height:1.3; margin:0 0 22px; }
.cp-visual-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:20px 0 0; margin:0; border-top:1px solid var(--cp-line); }
.cp-visual-steps li { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:0 13px; font-size:11px; line-height:1.55; color:var(--cp-muted); }
.cp-visual-steps li:first-child { padding-left:0; }
.cp-visual-steps li:last-child { padding-right:0; }
.cp-visual-steps li+li { border-left:1px solid var(--cp-line); }
.cp-visual-steps i { color:var(--cp-teal); font-size:19px; }
.cp-section-nav { border-bottom:1px solid var(--cp-line); background:#fff; }
.cp-nav-inner { display:flex; justify-content:space-between; align-items:center; gap:25px; min-height:68px; }
.cp-nav-inner>div { display:flex; flex-wrap:wrap; gap:28px; }
.cp-nav-inner a { color:var(--cp-muted); font-size:12px; font-weight:600; text-decoration:none; padding:23px 0; }
.cp-nav-inner a:hover { color:var(--cp-teal); }
.cp-nav-inner>span { display:flex; align-items:center; gap:8px; font-size:10px; color:#557067; }
.cp-nav-inner>span i { font-size:14px; }
.cp-hub-section { padding-top:80px; padding-bottom:80px; scroll-margin-top:24px; }
.cp-hub h2 { font-size:clamp(26px,2.7vw,36px); line-height:1.25; font-weight:600; }
.cp-section-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:end; margin-bottom:36px; }
.cp-section-heading .cp-kicker { margin-bottom:12px; }
.cp-section-heading h2 { max-width:540px; margin:0; }
.cp-section-heading>p { font-size:14px; line-height:1.9; color:var(--cp-muted); margin:0; }
.cp-choice-grid { display:grid; gap:20px; }
.cp-choice-grid-scenario { grid-template-columns:repeat(6,minmax(0,1fr)); }
.cp-choice-grid-scenario .cp-choice-card { grid-column:span 2; }
.cp-choice-grid-scenario .cp-choice-card:nth-child(-n+2) { grid-column:span 3; }
.cp-choice-grid-topic { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.cp-choice-card { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--cp-line); border-radius:10px; padding:28px; transition:border-color .2s,box-shadow .2s,transform .2s; }
.cp-choice-card:hover { border-color:#8cb8aa; box-shadow:0 12px 32px #123b3210; transform:translateY(-3px); }
.cp-choice-grid-scenario .cp-choice-card:first-child { background:linear-gradient(145deg,#f0f8f3,#fff); border-color:#c8ded3; }
.cp-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.cp-card-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:10px; background:#edf5f1; color:var(--cp-teal); font-size:21px; }
.cp-card-index { font-size:11px; font-variant-numeric:tabular-nums; letter-spacing:.08em; color:#70857f; }
.cp-choice-card .cp-kicker { margin-bottom:10px; font-size:10px; letter-spacing:.12em; }
.cp-choice-card h3 { font-size:22px; font-weight:600; line-height:1.35; margin:0 0 14px; }
.cp-choice-card h3 a { color:inherit; text-decoration:none; }
.cp-choice-card h3 a:hover { color:var(--cp-teal); }
.cp-card-summary { font-size:13px; line-height:1.85; color:var(--cp-muted); margin:0 0 22px; }
.cp-card-focus { margin-top:auto; padding:20px 0 24px; border-top:1px solid #e7eeeb; }
.cp-card-focus>p { font-size:10px; font-weight:700; color:#435c54; margin:0 0 12px; }
.cp-card-focus ul { list-style:none; padding:0; margin:0; }
.cp-card-focus li { display:flex; align-items:baseline; gap:9px; font-size:12px; line-height:1.7; color:var(--cp-muted); }
.cp-card-focus li+li { margin-top:7px; }
.cp-card-focus li i { color:var(--cp-teal); flex-shrink:0; }
.cp-card-action { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--cp-line); padding-top:17px; margin-top:auto; color:var(--cp-teal); font-size:12px; font-weight:600; text-decoration:none; }
.cp-card-action>span { display:grid; place-items:center; width:28px; height:28px; border:1px solid #d5e4dc; border-radius:50%; transition:background .2s; }
.cp-card-action:hover { color:var(--cp-ink); }
.cp-card-action:hover>span { background:var(--cp-mint); }
.cp-choice-grid-topic .cp-choice-card { padding:34px; background:linear-gradient(180deg,#f4f8f6 0,#fff 65%); }
.cp-choice-grid-topic .cp-card-icon { width:52px; height:52px; font-size:25px; background:#e2eee7; }
.cp-choice-grid-topic .cp-choice-card h3 { font-size:28px; }
.cp-choice-grid-topic .cp-card-summary { font-size:14px; max-width:430px; }
.cp-empty { grid-column:1/-1; padding:40px; border:1px dashed #bbcfc5; border-radius:10px; background:#f7faf8; text-align:center; color:var(--cp-muted); }
.cp-empty>i { font-size:26px; color:var(--cp-teal); }
.cp-empty p { margin:14px 0; }
.cp-process { padding:68px 0 64px; background:#142f3d; color:#fff; scroll-margin-top:24px; }
.cp-process-intro { max-width:640px; margin-bottom:42px; }
.cp-process .cp-kicker { color:#a4d4bd; margin-bottom:14px; }
.cp-process h2,.cp-process h3 { color:#fff; }
.cp-process-intro>p:last-child { margin:18px 0 0; font-size:14px; line-height:1.85; color:#c0d0d6; max-width:600px; }
.cp-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; list-style:none; padding:0; margin:0; }
.cp-process-number { display:flex; align-items:center; gap:20px; font-size:12px; color:#a4d4bd; letter-spacing:.08em; margin-bottom:24px; }
.cp-process-number i { display:grid; place-items:center; width:48px; height:48px; border:1px solid #9bcbb640; background:#ffffff08; border-radius:12px; font-size:23px; }
.cp-process-number span { height:1px; flex:1; background:#ffffff24; }
.cp-process-grid h3 { font-size:19px; margin-bottom:13px; }
.cp-process-grid p { color:#c0d0d6; font-size:13px; line-height:1.9; margin-bottom:0; }
.cp-check-section { display:grid; grid-template-columns:.85fr 1.3fr; gap:90px; align-items:start; }
.cp-check-intro .cp-kicker { margin-bottom:14px; }
.cp-check-intro h2 { margin-bottom:18px; }
.cp-check-intro>p:last-child { color:var(--cp-muted); font-size:14px; line-height:1.85; }
.cp-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 30px; padding-top:4px; }
.cp-check-item { display:flex; gap:14px; }
.cp-check-item>i { display:grid; place-items:center; width:42px; height:42px; border-radius:10px; background:#edf5f1; font-size:20px; color:var(--cp-teal); flex-shrink:0; }
.cp-check-item h3 { font-size:15px; line-height:1.5; letter-spacing:-.015em; margin:2px 0 7px; }
.cp-check-item p { font-size:12px; line-height:1.85; color:var(--cp-muted); margin:0; }
.cp-bridge { display:flex; gap:28px; align-items:center; padding:32px; background:#f0f6f3; border:1px solid #dce8e0; border-radius:10px; }
.cp-bridge-icon { width:58px; height:58px; flex-shrink:0; display:grid; place-items:center; border:1px solid #c8ded3; border-radius:50%; color:var(--cp-teal); font-size:25px; }
.cp-bridge>div:nth-child(2) { flex:1; }
.cp-bridge .cp-kicker { font-size:10px; margin-bottom:8px; }
.cp-bridge h2 { font-size:23px; margin-bottom:9px; }
.cp-bridge p:last-child { font-size:12px; line-height:1.8; color:var(--cp-muted); margin:0; max-width:560px; }
.cp-bridge>a { flex-shrink:0; }
.cp-hub-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.cp-hub-faq .cp-kicker { margin-bottom:14px; }
.cp-faq-list { border-top:1px solid var(--cp-line); }
.cp-faq-list details { border-bottom:1px solid var(--cp-line); padding:22px 0; }
.cp-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; font-size:14px; font-weight:600; line-height:1.6; color:var(--cp-ink); }
.cp-faq-list summary::-webkit-details-marker { display:none; }
.cp-faq-list summary>span { position:relative; width:13px; height:13px; flex-shrink:0; }
.cp-faq-list summary>span::before,.cp-faq-list summary>span::after { content:''; position:absolute; background:var(--cp-teal); }
.cp-faq-list summary>span::before { width:13px; height:1px; top:6px; left:0; }
.cp-faq-list summary>span::after { width:1px; height:13px; top:0; left:6px; }
.cp-faq-list details[open] summary>span::after { display:none; }
.cp-faq-list details p { font-size:13px; line-height:1.9; color:var(--cp-muted); margin:16px 28px 0 0; }
.cp-hub-final { padding:48px 0; background:#edf5f1; border-top:1px solid #d9e5de; }
.cp-hub-final>.container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cp-hub-final .cp-kicker { font-size:10px; margin-bottom:12px; }
.cp-hub-final h2 { font-size:28px; margin-bottom:12px; }
.cp-hub-final p:last-child { font-size:13px; line-height:1.8; color:var(--cp-muted); max-width:570px; margin:0; }
.cp-hub-final .cp-actions { flex-shrink:0; flex-direction:column; align-items:flex-start; gap:14px; }
/* Detail templates keep their CMS copy and share the hub palette. */
.cp-detail-visual { overflow:hidden; border:1px solid #cfdfd9; border-radius:12px; background:#fff; box-shadow:0 20px 60px #153d3010; }
.cp-detail .cp-workflow { border:0; border-radius:0; padding:24px; box-shadow:none; }
.cp-detail .cp-step { color:var(--cp-ink); font-size:13px; line-height:1.6; gap:12px; }
.cp-detail .cp-step:hover { color:var(--cp-teal); }
.cp-detail .cp-step>i { color:var(--cp-teal); }
.cp-detail .cp-step .cp-number { width:28px; height:28px; font-size:11px; }
.cp-detail .cp-hero { background:linear-gradient(125deg,#f7faf8,#edf5f1); }
.cp-detail .cp-kicker { color:var(--cp-teal); }
.cp-detail .cp-number { background:var(--cp-mint); color:var(--cp-teal); }
.cp-detail .cp-workflow,.cp-detail .cp-card { border-radius:10px; }
.cp-detail .cp-card-link:hover { border-color:#8cb8aa; }
.cp-detail .cp-arrow { color:var(--cp-teal); }
.cp-detail .cp-cta { border-radius:10px; background:var(--cp-ink); }
.cp-detail .btn-primary { background:var(--cp-teal); border-color:var(--cp-teal); }
.cp-detail .btn-outline-primary { border-color:var(--cp-teal); color:var(--cp-teal); }
.cp-detail .btn-outline-primary:hover { background:var(--cp-teal); color:#fff; }
@media (min-width:992px) { .cp-choice-grid-scenario .cp-choice-card:nth-child(-n+2) h3 { font-size:27px; } }
@media (max-width:1199px) {
    .cp-hero-layout { gap:40px; }
    .cp-hub h1 { font-size:46px; }
    .cp-choice-card { padding:23px; }
    .cp-nav-inner>span { display:none; }
    .cp-check-section,.cp-hub-faq { gap:50px; }
}
@media (max-width:991px) {
    .cp-hero-layout { grid-template-columns:1.1fr 1fr; gap:30px; }
    .cp-hub h1 { font-size:38px; }
    .cp-hub .cp-lead { font-size:14px; }
    .cp-visual-caption { padding:22px; }
    .cp-visual-steps li { padding:0 9px; }
    .cp-hub .cp-review-panel h2 { font-size:21px; }
    .cp-section-heading { gap:35px; }
    .cp-choice-grid-scenario { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cp-choice-grid-scenario .cp-choice-card,.cp-choice-grid-scenario .cp-choice-card:nth-child(-n+2) { grid-column:auto; }
    .cp-choice-grid-scenario .cp-choice-card:last-child:nth-child(odd) { grid-column:1/-1; }
    .cp-choice-grid-topic .cp-choice-card { padding:26px; }
    .cp-choice-grid-topic .cp-choice-card h3 { font-size:24px; }
    .cp-process-grid { gap:26px; }
    .cp-check-section { grid-template-columns:1fr; gap:25px; }
    .cp-check-intro { max-width:560px; }
    .cp-bridge { flex-wrap:wrap; }
    .cp-bridge>a { margin-left:86px; }
    .cp-hub-faq { grid-template-columns:1fr 1.5fr; gap:35px; }
}
@media (max-width:767px) {
    .cp-hub .container { padding-left:22px; padding-right:22px; }
    .cp-hub-hero { padding:22px 0 40px; }
    .cp-breadcrumb { margin-bottom:36px; }
    .cp-hero-layout { grid-template-columns:1fr; gap:32px; }
    .cp-hub h1 { font-size:clamp(34px,8.5vw,46px); max-width:580px; }
    .cp-hub .cp-kicker { letter-spacing:.1em; }
    .cp-hub .cp-lead { font-size:15px; }
    .cp-review-panel { max-width:100%; }
    .cp-hub .cp-review-panel h2 { margin-bottom:22px; }
    .cp-hero-art { aspect-ratio:16/8; }
    .cp-visual-steps li { font-size:11px; gap:8px; }
    .cp-hub .cp-review-panel h2 { font-size:21px; margin-bottom:18px; }
    .cp-nav-inner { min-height:60px; }
    .cp-nav-inner>div { gap:16px; justify-content:space-between; width:100%; }
    .cp-nav-inner a { font-size:11px; padding:20px 0; }
    .cp-hub-section { padding-top:48px; padding-bottom:48px; }
    .cp-section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:26px; }
    .cp-choice-grid-scenario,.cp-choice-grid-topic { grid-template-columns:1fr; gap:16px; }
    .cp-choice-grid-scenario .cp-choice-card:last-child:nth-child(odd) { grid-column:auto; }
    .cp-choice-card,.cp-choice-grid-topic .cp-choice-card { padding:26px; }
    .cp-choice-card h3 { font-size:24px; }
    .cp-card-summary,.cp-card-focus li { font-size:13px; }
    .cp-card-top { margin-bottom:22px; }
    .cp-process { padding:48px 0; }
    .cp-process-grid { grid-template-columns:1fr; gap:30px; }
    .cp-process-intro { margin-bottom:30px; }
    .cp-process-number { margin-bottom:16px; }
    .cp-process-grid h3 { font-size:20px; }
    .cp-process-grid p { font-size:14px; }
    .cp-check-grid { grid-template-columns:1fr; gap:24px; }
    .cp-check-item h3 { font-size:16px; }
    .cp-check-item p { font-size:13px; }
    .cp-bridge { padding:26px; gap:20px; align-items:flex-start; }
    .cp-bridge-icon { width:42px; height:42px; font-size:20px; }
    .cp-bridge>div:nth-child(2) { flex-basis:calc(100% - 62px); }
    .cp-bridge h2 { font-size:22px; }
    .cp-bridge>a { margin-left:0; max-width:100%; flex-shrink:1; }
    .cp-hub-faq { grid-template-columns:1fr; gap:26px; }
    .cp-faq-list summary { font-size:15px; }
    .cp-faq-list details p { font-size:14px; }
    .cp-hub-final { padding:38px 0; }
    .cp-hub-final>.container { flex-direction:column; align-items:flex-start; gap:24px; }
    .cp-hub-final .cp-actions { flex-direction:row; align-items:center; gap:20px; flex-shrink:1; }
}
@media (prefers-reduced-motion:reduce) { .cp-hub *, .cp-hub *::before,.cp-hub *::after { transition:none!important; scroll-behavior:auto!important; } }
