/*
 * Contrast guardrails for visually dark page blocks.
 * The doubled class specificity deliberately wins over the generic
 * alternating .cf-page-section background without relying on !important.
 */
.cf-page-section.cf-absence-effects,
.cf-page-section.cf-attendance-audit,
.cf-page-section.cf-childcare-results,
.cf-page-section.cf-parent-tax {
    background: linear-gradient(135deg, #071b2f, #113b5d);
    color: #fff;
}

.cf-page-section.cf-report-principles,
.cf-page-section.cf-services-flow,
.cf-page-section.cf-student-actions,
.cf-page-section.cf-profile-timeline,
.cf-page-section.cf-resource-cms-note,
.cf-page-section.cf-solutions-boundary,
.cf-page-section.cf-solution-journey,
.cf-page-section.cf-analysis-group,
.cf-page-section.cf-credit-process,
.cf-page-section.cf-invoice-process {
    background: var(--cf-navy);
    color: #fff;
}

.cf-absence-effects :is(h1, h2, h3, h4, h5, h6),
.cf-attendance-audit :is(h1, h2, h3, h4, h5, h6),
.cf-childcare-results :is(h1, h2, h3, h4, h5, h6),
.cf-parent-tax :is(h1, h2, h3, h4, h5, h6),
.cf-report-principles :is(h1, h2, h3, h4, h5, h6),
.cf-services-flow :is(h1, h2, h3, h4, h5, h6),
.cf-services-audience.admin :is(h1, h2, h3, h4, h5, h6),
.cf-student-actions :is(h1, h2, h3, h4, h5, h6),
.cf-profile-timeline :is(h1, h2, h3, h4, h5, h6),
.cf-resource-cms-note :is(h1, h2, h3, h4, h5, h6),
.cf-solutions-boundary :is(h1, h2, h3, h4, h5, h6),
.cf-solution-journey :is(h1, h2, h3, h4, h5, h6),
.cf-analysis-group :is(h1, h2, h3, h4, h5, h6),
.cf-credit-process :is(h1, h2, h3, h4, h5, h6),
.cf-invoice-process :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}

.cf-services-audience.admin {
    background: var(--cf-navy);
    color: #fff;
}

/* Repeated conversion blocks use a bright cyan background. */
.cf-inner-cta .cf-kicker { color: #071b2f; }
.cf-inner-cta p { color: #12384a; }

/* Navigation inside the conceptual parent dashboard. */
.cf-parent-dashboard aside a { color: #c3d3de !important; }
.cf-parent-dashboard aside a.active { color: #4ed0cb !important; }

.cf-company-details { display:grid; gap:.25rem; margin:1rem 0 0; color:#a9becd; font-size:.76rem; font-style:normal; }
.cf-company-details strong { color:#fff; }
.cf-company-details a { color:#c4d6e2; }
.cf-company-details a:hover { color:var(--cf-cyan); }
.cf-contact-note--company { display:grid; gap:.3rem; }
.cf-contact-note--company span { color:var(--cf-muted); font-size:.82rem; }

/* Shared Cloudflare Turnstile field used by every public contact form. */
.turnstile-field { display:grid; gap:.45rem; width:100%; margin:1rem 0; }
.turnstile-field small { color:var(--cf-muted); font-size:.78rem; line-height:1.45; }
.turnstile-field .cf-turnstile { width:100%; min-height:65px; }

/* Matomo consent controls are shared by every public page. */
.matomo-consent { position:fixed; z-index:1090; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1.5rem; width:min(760px,calc(100% - 2rem)); padding:1.25rem; border:1px solid rgba(255,255,255,.15); border-radius:18px; background:#071b2f; color:#fff; box-shadow:0 24px 70px rgba(3,17,30,.34); }
.matomo-consent[hidden],.matomo-preferences[hidden] { display:none!important; }
.matomo-consent strong { display:block; margin-bottom:.35rem; color:#fff; font-size:1rem; }
.matomo-consent p { max-width:520px; margin:0; color:#bed0dc; font-size:.84rem; line-height:1.55; }
.matomo-consent__actions { display:flex; gap:.65rem; flex-wrap:wrap; justify-content:flex-end; }
.matomo-consent button,.matomo-preferences { padding:.7rem .9rem; border-radius:10px; font:inherit; font-size:.78rem; font-weight:850; cursor:pointer; }
.matomo-consent__primary { border:1px solid #24d3c5; background:#24d3c5; color:#071b2f; }
.matomo-consent__secondary { border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; }
.matomo-preferences { position:fixed; z-index:1080; left:1rem; bottom:1rem; border:1px solid #d6e3e8; background:#fff; color:#17324d; box-shadow:0 8px 28px rgba(3,17,30,.14); }
@media(max-width:720px){.matomo-consent{grid-template-columns:1fr;gap:1rem}.matomo-consent__actions{justify-content:flex-start}}
