:root {
  --cc-navy: #061d3e;
  --cc-teal: #0e9276;
  --cc-action: #48bf01;
  --cc-action-dark: #369401;
  --cc-orange: #fd9601;
  --cc-blue: #2878b9;
  --cc-purple: #6a3fb0;
  --cc-ink: #10233f;
  --cc-muted: #53647a;
  --cc-mist: #eef8f5;
  --cc-sky: #eef5fb;
  --cc-border: #d7e4e3;
}

html { scroll-behavior: smooth; }
body { color: var(--cc-ink); }
a { text-underline-offset: .16em; }
.wp-site-blocks { overflow: hidden; }
h1, h2, h3, h4, p, li, .cc-card { overflow-wrap: normal; word-break: normal; hyphens: none; }
.cc-container { max-width: 1160px; margin-inline: auto; }
.cc-section { padding: clamp(3.8rem,7vw,6.6rem) 1.25rem; }
.cc-section-alt { background: var(--cc-mist); }

.cc-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--cc-border); position: sticky; top: 0; z-index: 30; box-shadow: 0 8px 28px rgba(6,29,62,.07); }
.admin-bar .cc-header { top: 32px; }
.cc-header__inner { max-width: 1220px; margin: 0 auto; padding: .62rem 1.25rem; justify-content: space-between; gap: 1.25rem; }
.cc-brand { gap: .72rem; flex: 0 0 auto; }
.cc-header-mascot { margin: 0; }
.cc-header-mascot img { width: 68px !important; height: 68px !important; object-fit: contain; border-radius: 50%; }
.cc-brand-name { margin: 0; white-space: nowrap; }
.cc-brand-name a { color: var(--cc-navy); font-size: clamp(1.55rem,2.4vw,2.1rem); font-weight: 850; line-height: 1; letter-spacing: -.045em; text-decoration: none; }
.cc-brand-name strong { color: var(--cc-action); font-style: italic; font-weight: 850; }
.cc-main-nav { margin-left: auto; }
.cc-main-nav a { color: var(--cc-navy); font-weight: 700; text-decoration: none; white-space: nowrap; }
.cc-main-nav a:hover { color: var(--cc-teal); }
.cc-header-cta .wp-element-button { padding: .74rem 1.05rem; }

.cc-hero { background: radial-gradient(circle at 83% 20%,rgba(72,191,1,.20),transparent 28%),linear-gradient(135deg,#f8fbff 0%,#eef8f5 100%); padding-top: clamp(3rem,7vw,6rem); }
.cc-hero h1, .cc-page-hero h1 { font-size: clamp(2.55rem,5.6vw,4.75rem); line-height: 1.03; letter-spacing: -.045em; }
.cc-hero h1 { color: var(--cc-navy); max-width: 780px; }
.cc-lead { color: var(--cc-muted); font-size: clamp(1.1rem,2vw,1.3rem); line-height: 1.65; max-width: 760px; }
.cc-kicker { color: var(--cc-teal); font-size: .82rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.cc-kicker::before { content: ""; display: inline-block; width: .55rem; height: .55rem; margin-right: .55rem; border-radius: 50%; background: var(--cc-orange); }
.cc-section-lead { color: var(--cc-muted); font-size: 1.17rem; max-width: 780px; }
.cc-hero-grid, .cc-visual-section, .cc-about-grid { align-items: center; }
.cc-hero-mascot img, .cc-about-mascot img { max-height: 520px; width: auto !important; margin-inline: auto; object-fit: contain; }
.cc-feature-image img, .cc-photo img { display: block; width: 100% !important; height: auto !important; border-radius: 26px; box-shadow: 0 24px 60px rgba(6,29,62,.16); }
.cc-photo img { aspect-ratio: 16/10; object-fit: cover; }
.cc-visual-copy { align-self: center; }

.wp-block-button .wp-element-button { transition: transform .18s ease,box-shadow .18s ease,background .18s ease; }
.wp-block-button .wp-element-button:hover { transform: translateY(-2px); }
.cc-button-primary .wp-element-button,
.cc-button-orange .wp-element-button,
.cc-buy-single .wp-element-button,
.cc-buy-bundle .wp-element-button,
.cc-contact-form button { background: var(--cc-action); color: #fff; border-radius: 999px; font-weight: 850; box-shadow: 0 10px 24px rgba(72,191,1,.25); }
.cc-button-primary .wp-element-button:hover,
.cc-button-orange .wp-element-button:hover,
.cc-buy-single .wp-element-button:hover,
.cc-buy-bundle .wp-element-button:hover,
.cc-contact-form button:hover { background: var(--cc-action-dark); }
.cc-button-outline .wp-element-button { background: transparent; color: var(--cc-navy); border: 2px solid var(--cc-navy); border-radius: 999px; font-weight: 780; }

.cc-card { box-sizing: border-box; height: 100%; border: 1px solid var(--cc-border); border-top: 5px solid var(--cc-teal); border-radius: 22px; padding: clamp(1.35rem,2.5vw,1.9rem); box-shadow: 0 14px 40px rgba(6,29,62,.08); }
.cc-card h3 { color: var(--cc-navy); font-size: clamp(1.15rem,1.55vw,1.42rem); line-height: 1.2; margin-top: .8rem; }
.cc-card p:last-child { color: #43556e; line-height: 1.62; }
.cc-card-navy { background: #edf2f8; border-top-color: var(--cc-navy); }
.cc-card-green { background: #f1faec; border-top-color: var(--cc-action); }
.cc-card-teal { background: #eaf8f4; border-top-color: var(--cc-teal); }
.cc-card-orange { background: #fff6e8; border-top-color: var(--cc-orange); }
.cc-card-blue { background: #edf6fd; border-top-color: var(--cc-blue); }
.cc-card-purple { background: #f5effc; border-top-color: var(--cc-purple); }
.cc-card-icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin: 0; border-radius: 14px; color: #fff !important; }
.cc-card-icon .dashicons { width: auto; height: auto; font-size: 1.55rem; }
.cc-icon-navy { background: var(--cc-navy); }
.cc-icon-green { background: var(--cc-action); }
.cc-icon-teal { background: var(--cc-teal); }
.cc-icon-orange { background: var(--cc-orange); }
.cc-icon-blue { background: var(--cc-blue); }
.cc-icon-purple { background: var(--cc-purple); }
.cc-card-row { margin-top: 1.4rem; }
.cc-card-row + .cc-card-row { margin-top: 1.4rem; }
.cc-grid-2, .cc-grid-3, .cc-grid-4, .cc-card-row, .cc-pricing-grid { align-items: stretch; }

.cc-trust-strip { background: var(--cc-navy); color: #fff; padding: 1.35rem 1.25rem; }
.cc-trust-strip .cc-card { background: transparent; border: 0; box-shadow: none; padding: .65rem 1rem; display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: center; }
.cc-trust-strip .cc-card-icon { grid-row: 1 / span 2; }
.cc-trust-strip h3, .cc-trust-strip p { color: #fff; margin: 0; }
.cc-trust-strip h3 { font-size: 1.05rem; }
.cc-trust-strip p:last-child { color: #dce8f3; font-size: .92rem; }

.cc-process-flow { position: relative; margin-top: 2.4rem; }
.cc-process-flow::before { content: ""; position: absolute; z-index: 0; left: 16%; right: 16%; top: 2.45rem; height: 4px; background: linear-gradient(90deg,var(--cc-teal),var(--cc-action),var(--cc-navy)); border-radius: 99px; }
.cc-process-columns { position: relative; z-index: 1; }
.cc-flow-step { text-align: center; }
.cc-flow-step .cc-card-icon { margin-inline: auto; box-shadow: 0 0 0 9px #fff; }
.cc-flow-step h3 { margin-top: 1.2rem; }

.cc-price-card, .cc-content-card, .cc-contact-info, .cc-contact-form { box-sizing: border-box; height: 100%; background: #fff; border: 1px solid var(--cc-border); border-radius: 22px; padding: clamp(1.4rem,3vw,2.15rem); box-shadow: 0 14px 40px rgba(6,29,62,.08); }
.cc-price-card-featured { border: 3px solid var(--cc-action); transform: translateY(-10px); box-shadow: 0 20px 52px rgba(72,191,1,.18); }
.cc-price { color: var(--cc-navy); font-size: clamp(2.1rem,4vw,3.55rem); font-weight: 850; letter-spacing: -.045em; margin-block: .4rem; }
.cc-badge { display: inline-block; background: #fff1dc; color: #934f00; border: 1px solid #ffd28e; border-radius: 999px; padding: .32rem .72rem; font-size: .82rem; font-weight: 850; }
.cc-checklist { padding-left: 1.2rem; }
.cc-checklist li { margin-bottom: .72rem; }
.cc-checklist li::marker { color: var(--cc-action); }

.cc-page-hero { background: linear-gradient(135deg,var(--cc-navy),#0b3f63); color: #fff; padding: clamp(3.5rem,7vw,6rem) 1.25rem; }
.cc-page-hero h1, .cc-page-hero h2, .cc-page-hero p { color: #fff; }
.cc-page-hero .cc-kicker { color: #8fe86c; }
.cc-page-hero .cc-feature-image img, .cc-page-hero .cc-photo img { box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.cc-limits { border-left: 6px solid var(--cc-orange); background: #fff8ec; }
.cc-cta { background: linear-gradient(135deg,var(--cc-navy),#0b4c63); color: #fff; text-align: center; }
.cc-cta h2, .cc-cta p { color: #fff; }
.cc-faq details { background: #fff; border: 1px solid var(--cc-border); border-left: 4px solid var(--cc-teal); border-radius: 14px; margin-bottom: .85rem; padding: 1rem 1.2rem; }
.cc-faq summary { color: var(--cc-navy); font-weight: 780; cursor: pointer; }
.cc-contact-form input, .cc-contact-form textarea, .cc-contact-form select { border: 1px solid #b8c9cf; border-radius: 10px; padding: .8rem; }

.cc-footer { background: #03152e; color: #dce7f4; padding: 3.5rem 1.25rem 1.5rem; }
.cc-footer h2, .cc-footer h3, .cc-footer a { color: #fff; }
.cc-footer a { text-decoration-color: var(--cc-teal); }
.cc-footer-logo img { width: min(100%,290px) !important; height: auto !important; border-radius: 14px; }
.cc-footer-copy { border-top: 1px solid rgba(255,255,255,.14); margin-top: 2rem; padding-top: 1rem; font-size: .9rem; }
.cc-blog-card { border: 1px solid var(--cc-border); border-radius: 18px; padding: 1.25rem; background: #fff; }
.cc-article { max-width: 900px; margin-inline: auto; }
.cc-article-content { font-size: 1.08rem; line-height: 1.75; }
.cc-article-cta { border-left: 5px solid var(--cc-action); background: var(--cc-mist); border-radius: 18px; padding: 1.5rem; }
.cc-draft-notice { background: #fff3e2; border: 2px dashed var(--cc-orange); padding: 1rem; }

@media (min-width: 782px) and (max-width: 1040px) {
  .cc-main-nav { font-size: .88rem; }
  .cc-header-cta { display: none; }
  .cc-card-row, .cc-pricing-grid { flex-wrap: wrap !important; }
  .cc-card-row > .wp-block-column, .cc-pricing-grid > .wp-block-column { flex-basis: calc(50% - .75rem) !important; }
}

@media (max-width: 781px) {
  .admin-bar .cc-header { top: 46px; }
  .cc-header { position: relative; top: auto; }
  .cc-header__inner { padding: .55rem .9rem; }
  .cc-header-mascot img { width: 54px !important; height: 54px !important; }
  .cc-brand-name a { font-size: 1.48rem; }
  .cc-header-cta { display: none; }
  .cc-section { padding-inline: 1rem; }
  .cc-hero h1, .cc-page-hero h1 { font-size: 2.65rem; }
  .cc-price-card-featured { transform: none; }
  .wp-block-columns { gap: 1.15rem; }
  .cc-process-flow::before { left: 2.4rem; right: auto; top: 2rem; bottom: 2rem; width: 4px; height: auto; background: linear-gradient(var(--cc-teal),var(--cc-action),var(--cc-navy)); }
  .cc-flow-step { text-align: left; }
  .cc-flow-step .cc-card-icon { margin-inline: 0; }
  .cc-reverse-mobile { flex-direction: column-reverse; }
  .cc-trust-strip .cc-card { text-align: left; }
}

@media (max-width: 420px) {
  .cc-brand-name a { font-size: 1.3rem; }
  .cc-header-mascot img { width: 48px !important; height: 48px !important; }
  .cc-hero h1, .cc-page-hero h1 { font-size: 2.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wp-block-button .wp-element-button { transition: none; }
}
