.ccstc-content-scope{
  --ccstc-navy:#1a2a4a;
  --ccstc-blue:#1E90FF;
  --ccstc-sky:#e0f0ff;
  --ccstc-sky-lt:#f0f7ff;
  --ccstc-border:#d8e8f5;
  --ccstc-gray:#6b7280;
  --ccstc-dark:#333333;
  --ccstc-yellow:#FFD700;
  --ccstc-ff-h:'Playfair Display',Georgia,serif;
  --ccstc-ff-b:'DM Sans',system-ui,sans-serif;
  --ccstc-max:1100px;
  --ccstc-r:12px;
  display:block;
  font-family:var(--ccstc-ff-b);
  color:var(--ccstc-dark);
  font-size:16px;
  line-height:1.75;
}
.ccstc-content-scope *,
.ccstc-content-scope *::before,
.ccstc-content-scope *::after{ box-sizing:border-box; }
.ccstc-content-scope a{ text-decoration:none; }
.ccstc-content-scope ul{ list-style:none; margin:0; padding:0; }

.ccstc-content-wrap{
  max-width:var(--ccstc-max);
  margin:0 auto;
  padding:72px 20px;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:52px;
  align-items:start;
}

/* ---- Main prose column ---- */
.ccstc-prose h2{
  font-family:var(--ccstc-ff-h);
  font-size:1.25rem;
  font-weight:700;
  color:var(--ccstc-navy);
  line-height:1.22;
  margin:44px 0 12px;
  padding-bottom:10px;
  border-bottom:2px solid var(--ccstc-sky);
}
.ccstc-prose h2:first-of-type{ margin-top:0; }
.ccstc-prose h3{
  font-family:var(--ccstc-ff-h);
  font-size:1rem;
  font-weight:700;
  color:var(--ccstc-navy);
  line-height:1.22;
  margin:22px 0 8px;
}
.ccstc-prose p{ font-size:.95rem; color:#444; line-height:1.82; margin:0 0 14px; }
.ccstc-prose ul{ margin:12px 0 16px 0; }
.ccstc-prose ul li{
  font-size:.95rem; color:#444; line-height:1.78; padding:5px 0 5px 24px;
  position:relative; border-bottom:1px solid var(--ccstc-border);
}
.ccstc-prose ul li:last-child{ border:none; }
.ccstc-prose ul li svg{
  position:absolute; left:0; top:9px; width:14px; height:14px;
  stroke:var(--ccstc-blue); fill:none;
}
.ccstc-prose a{ color:var(--ccstc-blue); font-weight:600; }
.ccstc-prose a:hover{ text-decoration:underline; }
.ccstc-prose strong{ font-weight:700; color:var(--ccstc-navy); }

.ccstc-info-box{
  background:var(--ccstc-sky-lt); border:1px solid var(--ccstc-border);
  border-left:4px solid var(--ccstc-blue); border-radius:0 var(--ccstc-r) var(--ccstc-r) 0;
  padding:18px 20px; margin:24px 0; font-size:.9rem; color:var(--ccstc-dark);
}
.ccstc-warn-box{
  background:#fffbeb; border:1px solid #fde68a;
  border-left:4px solid var(--ccstc-yellow); border-radius:0 var(--ccstc-r) var(--ccstc-r) 0;
  padding:18px 20px; margin:24px 0; font-size:.9rem; color:var(--ccstc-dark);
}
.ccstc-info-box strong, .ccstc-warn-box strong{ color:var(--ccstc-navy); }

.ccstc-updated-tag{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--ccstc-sky); border:1px solid var(--ccstc-border);
  border-radius:100px; padding:5px 14px; font-size:.78rem; font-weight:600;
  color:var(--ccstc-blue); margin-bottom:28px;
}
.ccstc-updated-tag svg{ width:13px; height:13px; stroke:currentColor; fill:none; }

/* ---- Sidebar column ---- */
.ccstc-sidebar{ display:flex; flex-direction:column; gap:22px; }
.ccstc-sidebar-card{
  border:1px solid var(--ccstc-border); border-radius:14px; padding:22px; background:#fff;
}
.ccstc-sidebar-title{
  font-family:var(--ccstc-ff-h); font-size:.88rem; font-weight:700;
  color:var(--ccstc-navy); margin-bottom:14px; padding-bottom:9px;
  border-bottom:2px solid var(--ccstc-sky);
}
.ccstc-sidebar-cta{ background:var(--ccstc-navy); border-color:var(--ccstc-navy); text-align:center; padding:26px 18px; }
.ccstc-sidebar-cta .ccstc-sidebar-title{ color:#fff; border-color:rgba(255,255,255,.12); }
.ccstc-sidebar-cta p{ font-size:.82rem; color:rgba(255,255,255,.62); margin-bottom:16px; line-height:1.65; }

.ccstc-sc-btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:11px; border-radius:9px; font-size:.84rem; font-weight:700;
  font-family:var(--ccstc-ff-h); transition:background .14s; text-align:center; margin-bottom:9px;
}
.ccstc-sc-btn svg{ width:15px; height:15px; stroke:currentColor; fill:none; flex-shrink:0; }
.ccstc-sc-btn.ccstc-gold{ background:var(--ccstc-yellow); color:var(--ccstc-navy); }
.ccstc-sc-btn.ccstc-gold:hover{ background:#e6c200; }
.ccstc-sc-btn.ccstc-ghost{ border:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.8); }
.ccstc-sc-btn.ccstc-ghost:hover{ background:rgba(255,255,255,.08); }

.ccstc-policy-list li{
  padding:8px 0; border-bottom:1px solid var(--ccstc-border);
  font-size:.84rem; color:var(--ccstc-dark);
}
.ccstc-policy-list li:last-child{ border:none; }
.ccstc-policy-list strong{ color:var(--ccstc-navy); }

.ccstc-quick-links a{
  display:flex; align-items:center; justify-content:space-between; padding:9px 0;
  font-size:.84rem; color:var(--ccstc-dark); border-bottom:1px solid var(--ccstc-border);
  transition:color .14s;
}
.ccstc-quick-links li:last-child a{ border:none; }
.ccstc-quick-links a:hover{ color:var(--ccstc-blue); }
.ccstc-quick-links a svg{ width:12px; height:12px; stroke:var(--ccstc-blue); fill:none; flex-shrink:0; }

.ccstc-contact-row{ display:flex; align-items:flex-start; gap:10px; margin-bottom:11px; font-size:.84rem; }
.ccstc-contact-row .ccstc-ic{ flex-shrink:0; margin-top:2px; width:16px; height:16px; stroke:var(--ccstc-blue); fill:none; }
.ccstc-contact-row a{ color:var(--ccstc-blue); font-weight:600; }

/* Responsive — all devices */
@media (max-width:860px){
  .ccstc-content-wrap{ grid-template-columns:1fr; padding:56px 20px; gap:40px; }
}
@media (max-width:480px){
  .ccstc-content-wrap{ padding:40px 16px; }
  .ccstc-prose h2{ font-size:1.1rem; margin:34px 0 10px; }
  .ccstc-prose p, .ccstc-prose ul li{ font-size:.9rem; }
}
