:root {
  --cc-blue: #0757a6;
  --cc-blue-dark: #063c74;
  --cc-teal: #078f91;
  --cc-teal-light: #e7f8f7;
  --cc-ink: #142333;
  --cc-muted: #536273;
  --cc-line: #d9e2ea;
  --cc-surface: #f5f9fc;
}

.cc-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--cc-ink); text-decoration: none; }
.cc-brand img { display: block; width: min(260px, 48vw); height: auto; max-height: 52px; object-fit: contain; }
.cc-brand--compact img { width: 44px; height: 44px; }
.cc-tagline { display: block; color: var(--cc-muted); font-size: 12px; font-weight: 600; line-height: 1.2; margin-top: 2px; }
.cc-review-note { border-left: 4px solid var(--cc-teal); background: var(--cc-teal-light); color: var(--cc-ink); margin: 24px 0; padding: 14px 18px; }
.cc-disclosure { color: var(--cc-muted); font-size: .9rem; line-height: 1.55; }
.cc-core { color: var(--cc-ink); font-family: Arial, Helvetica, sans-serif; }
.cc-core * { box-sizing: border-box; }
.cc-container { margin: 0 auto; max-width: 1160px; padding: 0 24px; }
.cc-header { background: #fff; border-bottom: 1px solid var(--cc-line); position: sticky; top: 0; z-index: 20; }
.cc-header__inner { align-items: center; display: flex; justify-content: space-between; min-height: 78px; gap: 28px; }
.cc-nav { display: flex; flex-wrap: wrap; gap: 22px; }
.cc-nav a { color: var(--cc-ink); font-weight: 700; text-decoration: none; }
.cc-nav a:hover, .cc-nav a:focus-visible { color: var(--cc-blue); }
.cc-hero { background: var(--cc-surface); padding: 70px 0 58px; }
.cc-hero h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; margin: 0 0 18px; max-width: 820px; }
.cc-hero p { color: var(--cc-muted); font-size: 1.16rem; line-height: 1.65; max-width: 760px; }
.cc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cc-button { background: var(--cc-blue); border: 2px solid var(--cc-blue); border-radius: 6px; color: #fff; display: inline-flex; font-weight: 700; padding: 12px 18px; text-decoration: none; }
.cc-button--secondary { background: #fff; color: var(--cc-blue); }
.cc-section { padding: 58px 0; }
.cc-section h2 { font-size: clamp(1.6rem, 3vw, 2.35rem); margin: 0 0 16px; }
.cc-section p, .cc-section li { line-height: 1.7; }
.cc-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; }
.cc-card { border: 1px solid var(--cc-line); border-radius: 8px; padding: 24px; }
.cc-card h3 { margin-top: 0; }
.cc-faq details { border-top: 1px solid var(--cc-line); padding: 17px 0; }
.cc-faq summary { cursor: pointer; font-weight: 700; }
.cc-footer { background: #0d2438; color: #fff; padding: 38px 0; }
.cc-footer a { color: #c6f5f3; }
@media (max-width: 760px) {
  .cc-header__inner { align-items: flex-start; flex-direction: column; padding-bottom: 18px; padding-top: 16px; }
  .cc-nav { gap: 14px; }
  .cc-grid { grid-template-columns: 1fr; }
  .cc-hero { padding: 44px 0; }
}
