/* AgencyNika — light, accessible visual system (2026-11-04).
   Single shared override applied AFTER all legacy templates. */
:root {
  color-scheme: light;
  --ink: #171629;
  --paper: #fff;
  --muted: #4b4b5e;
  --line: #dbdce8;
  --pink: #a11b69;
  --violet: #5832ae;
  --blue: #2357a5;
  --nika-ink: #171629;
  --nika-paper: #fff;
  --nika-muted: #4b4b5e;
  --nika-line: #dcdbe7;
  --nika-pink: #a11b69;
  --nika-violet: #5832ae;
  --nika-blue: #2357a5;
  --nika-gradient: linear-gradient(110deg,#ff32a1 0%,#a44cff 50%,#0068ff 100%);
  --light-ink: #171629;
  --light-muted: #4b4b5e;
  --light-paper: #ffffff;
  --light-soft: #f6f5fa;
  --light-border: #d9d8e6;
}
html, body, body.home-v2, body.migrated-page, body.case-page {
  background: #fff !important;
  color: var(--light-ink) !important;
}
body::before { opacity: .016 !important; }
body .noise { opacity: .025 !important; pointer-events:none; }
::selection { background: #e9ddf9; color: #21113c; }

/* White navigation across every page — no dark floating overlays. */
body .site-header, body.migrated-page .site-header {
  background: rgba(255,255,255,.96) !important;
  color: #171629 !important;
  border-bottom: 1px solid #e0dfe9 !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
}
body .site-header .nav > a:not(:last-child),
body.migrated-page .site-header .nav > a:not(:last-child),
body .site-header .menu-toggle {
  color:#222035 !important;
  opacity:1 !important;
}
body .site-header .nav [aria-current="page"] { color:#512b98!important; }
body .site-header .nav > a:last-child,
body.migrated-page .site-header .nav > a:last-child {
  background:#4c278f !important; color:#fff !important;
  box-shadow: 0 8px 24px rgba(76,39,143,.14) !important;
}
body .site-header .nika-logo b, body .site-header .nika-logo i,
body .footer .nika-logo b, body .footer .nika-logo i {
  background:var(--nika-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
body .site-header .nav a:hover { color:#4c278f!important; }
body .site-header .nav a:last-child:hover { color:#fff!important; }

/* Main surfaces: all sections light, with subtle alternate rhythm. */
body main > section,
body main > section[class],
body main > section[class][class],
body main > section[class][class][class] {
  background:#fff !important;
  color:#171629 !important;
  border-color:var(--light-border) !important;
}
body main > section:nth-of-type(even),
body main > section[class]:nth-of-type(even),
body main > section[class][class]:nth-of-type(even),
body main > section[class][class][class]:nth-of-type(even) {
  background:#f7f6fb !important;
}
body main > section[id="results"],
body main > section[id="explore"],
body main > section[class~="faq-section"],
body main > section[class~="cta"],
body main > section[class~="specialized"] {
  background:#f3f0fa !important;
}
body .hero::before, body .case-hero::before, body.migrated-page .hero::before {
  background: radial-gradient(circle at 88% 20%,rgba(197,171,234,.23),transparent 35%),
              radial-gradient(circle at 14% 65%,rgba(246,215,234,.23),transparent 42%) !important;
}
body .hero::after, body .case-hero::after, body.migrated-page .hero::after {
  background:none !important;
}
/* The product heroes should read as editorial light layouts. */
body.home-v2 .home-hero, body.migrated-page .hero, body.case-page .case-hero {
  background:linear-gradient(135deg,#fff 0%,#fbfaff 70%,#f6f2fc 100%) !important;
  color:#171629!important;
}
body.home-v2 .hero-kicker, body.home-v2 .hero-bottom small,
body.migrated-page .hero .eyebrow, body.case-page .case-hero .eyebrow {
  color:#56349d!important;
}
body.home-v2 .home-hero h1,
body.migrated-page .hero h1,
body.case-page .case-hero h1,
body main h1, body main h2, body main h3, body main h4 {
  color:#171629!important;
}
body.home-v2 .hero-bottom p,
body.migrated-page .hero .lead,
body.migrated-page .hero p,
body.case-page .case-hero p {
  color:#3f4052!important;
}
body main > section p,
body main > section li,
body main > section dd,
body main > section dt,
body main > section summary,
body main > section label,
body main > section .section-lead,
body main > section .lead,
body main > section .contact-copy,
body main > section .long-copy,
body main > section .muted {
  color:#414252!important;
}
/* Preserve semantic differentiations in text, while avoiding faint grey labels. */
body main > section :is(small,.eyebrow,.section-label,.hero-kicker,.metric span,.proof-item span,.founder-video-meta span) {
  color:#525166!important;
}
body main > section :is(b,strong) { color:inherit; }
body .eyebrow, body .section-label { color:#5a328f!important; }
body main > section :is(h1,h2,h3,h4) .accent,
body main > section :is(h1,h2,h3,h4) em,
body .home-hero h1 .accent {
  background:var(--nika-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
/* Remove legacy dark containers and ensure card body copy is readable. */
body .section.dark, body .faq-section, body .next-case,
body .migrated-page .details, body .migrated-page .specialized,
body .migrated-page .cta, body .case-page .section.dark {
  background:#f5f3fa!important; color:#171629!important;
}
body .section.dark .section-lead, body .faq-section p,
body.case-page .case-deck p, body .migrated-page .details .lead {
  color:#444455!important;
}
body .result-card, body .case-study-card,
body .migrated-page .card, body .migrated-page .engagement,
body .migrated-page .case, body .migrated-page .fit-card,
body .migrated-page .problem-card, body .migrated-page .offer,
body .migrated-page .platform, body .migrated-page .principle,
body .migrated-page .contact-card, body .case-page .challenge-item,
body .case-page .deliverable, body .case-page .outcome-grid article,
body .case-page .channel-grid article, body .case-page .expansion-grid article,
body .faq details, body .metric, body .proof-item,
body .business-metrics > *, body .fit-grid article,
body .comparison, body .system-steps article {
  background:#fff!important;
  color:#171629!important;
  border-color:#dcdbe7!important;
  box-shadow:none!important;
}
body .result-card p, body .case-study-card p,
body .result-card span, body .case-study-card span,
body .case-page .deliverable p, body .migrated-page .card p {
  color:#454657!important;
}
body .result-card h3, body .case-study-card h3,
body .result-card i, body .case-study-card i { color:#191629!important; }
body .result-card>strong, body .case-study-card>strong,
body .metric b, body .proof-item b, body .business-metrics b {
  background:var(--nika-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
body .metric span, body .proof-item span { color:#4b4c5c!important; }
body .leak-tags span, body .tag, body .chip,
body .group-row a, body .trust .chip {
  background:#fff!important;
  color:#32284e!important;
  border-color:#ccc6dc!important;
}
body .partners-band, body .migrated-about .team {
  background:#f7f5fb!important;
}
body .partner-grid > * { color:#252237!important; background:#fff!important; }
body .partner-grid > a { background:#47238a!important; color:#fff!important; }
body .migrated-page .hero-panel,
body .migrated-page .hero-card,
body .migrated-page .hero-art {
  background:linear-gradient(140deg,#f4edff,#f9f6fc 65%,#f0edff)!important;
  color:#171629!important;
  border:1px solid #dcd6ee!important;
  box-shadow:none!important;
}
body .migrated-page .hero-panel :is(h2,h3,p,span,b),
body .migrated-page .hero-card :is(h2,h3,p,span,b) { color:#221c37!important; }
body .migrated-page .hero-panel .line span { color:#4a425f!important; }
body .migrated-contact .hero .chip { background:#fff!important; color:#32284e!important; border-color:#d7d2e4!important; }
body .migrated-about .portrait { background:#f3f0fb!important; }

/* Consistent accessible actions; no white-on-pink low-contrast buttons. */
body .pill-cta, body .migrated-page .btn,
body .migrated-page .button, body .diagnosis-trigger,
body .case-contact .contact-link,
body .migrated-page .cta .btn {
  background:#4c278f!important;
  color:#fff!important;
  border:1px solid #4c278f!important;
  box-shadow:0 10px 24px rgba(76,39,143,.13)!important;
}
body .pill-cta:hover, body .migrated-page .btn:hover,
body .case-contact .contact-link:hover {
  background:#341568!important;
  color:#fff!important;
}
body .home-v2 .home-hero .scroll-pill, body .scroll-pill,
body .migrated-page .btn.light, body .migrated-page .btn.ghost {
  background:#fff!important;
  color:#3b226d!important;
  border:1px solid #9990b8!important;
  box-shadow:none!important;
}
body .home-v2 .home-hero .scroll-pill:hover, body .scroll-pill:hover {
  background:#f2ebfc!important;
}
body a:not([class]):hover { color:#512d92; }
body :is(input,select,textarea) {
  background:#fff; color:#1b192a;
  border-color:#bcb9cc;
}
body :is(input,select,textarea)::placeholder { color:#626174; opacity:1; }
body :is(a,button,input,textarea,select,summary):focus-visible {
  outline:3px solid #5b3198!important; outline-offset:3px!important;
}

/* Video: always 16:9 landscape, never a square or tall crop. */
body .founder-video, body .home-v2 .founder-video {
  width:100%!important;
  max-width:none!important;
  align-self:center!important;
}
body .founder-video-frame,
body .home-v2 .founder-video-frame,
body .migrated-paid-growth .hero .video {
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16 / 9!important;
  border-radius:20px!important;
  border:1px solid #ddd9e8!important;
  background:#171426!important;
  box-shadow:0 18px 55px rgba(41,27,70,.12)!important;
  overflow:hidden!important;
}
body .founder-video-frame video, body .founder-intro-video {
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body .founder-video-meta strong {color:#1a172d!important;}
body .founder-video-meta span {color:#515065!important;}
body .founder-video-frame .founder-video-kicker,
body .founder-video-frame .founder-video-note {color:#fff!important;}
body .founder-play-button { background:rgba(49,22,95,.88)!important; color:#fff!important; }

/* Pale rather than dark FAQ, social proof, and footer. */
body .faq details, body .faq summary,
body .faq details p {color:#211c35!important;}
body .comparison > div, body .comparison-head { border-color:#dad7e7!important; }
body .footer, body footer.footer, body .migrated-page .footer {
  background:#f3f0fa!important; color:#252237!important;
  border-top:1px solid #ddd7e9!important;
}
body .footer .footer-row, body .footer-row > * {color:#252237!important;}
body .footer-row a {opacity:1!important;}
body .footer-row a:hover {color:#4c278f!important;}
body .footer-row [data-cookie-settings] {color:#44316d!important;}
body .contact.diagnosis {background:#f4f1fa!important;}
body .growth-modal {background:#fff!important; color:#211c35!important;}

/* Small screens: white fullscreen menu, generous tap targets, landscape media. */
@media(max-width:800px) {
  body .site-header .nav.open,
  body.migrated-page .site-header .nav.open {
    background:#fff!important;
    color:#171629!important;
    border-top:1px solid #e3dfea!important;
  }
  body .site-header .nav.open > a,
  body.migrated-page .site-header .nav.open > a {
    color:#211c36!important;
    border-color:#e4e0ef!important;
  }
  body .site-header .nav.open > a:last-child,
  body.migrated-page .site-header .nav.open > a:last-child {color:#fff!important; text-align:center;}
  body.home-v2 .hero-stage {grid-template-columns:minmax(0,1fr)!important;gap:30px!important;}
  body .founder-video-frame,body .home-v2 .founder-video-frame {min-height:0!important;}
  body .founder-play-button { width:84px;height:84px; }
  body .founder-play-button span {font-size:22px;}
  body .founder-play-button small {font-size:9px;}
}
@media(max-width:520px) {
  body .founder-video-frame,body .home-v2 .founder-video-frame {
    border-radius:14px!important;
  }
  body .home-v2 .home-hero h1,body .migrated-page .hero h1,body .case-page .case-hero h1 {
    color:#171629!important;
  }
}

/* Contrast audit corrections: override highly-specific legacy reference rules. */
body.home-v2 #results .result-card,
body.home-v2 #results .case-study-card,
body.home-v2 #results .result-card:nth-child(1),
body.home-v2 #results .result-card:nth-child(2),
body.home-v2 #results .result-card:nth-child(3) {
  background:#fff!important;
  color:#171629!important;
  border:1px solid #dcd9e9!important;
}
body.home-v2 #results .result-card :is(p,b,h3,span,i),
body.home-v2 #results .case-study-card :is(p,b,h3,span,i) {
  color:#222035!important;
}
body.home-v2 #results .result-card>strong {
  color:transparent!important;
}
body.home-v2 .section.dark .eyebrow,
body.home-v2 .why-agencynika .eyebrow,
body.case-page .section.dark .eyebrow,
body.case-page .section.dark .section-label {
  color:#56308b!important;
}
body.home-v2 .comparison .nika-col,
body.home-v2 .comparison b:last-child {
  color:#472585!important;
}
body.home-v2 .home-hero .scroll-pill,
body.home-v2 .scroll-pill {
  color:#3b246c!important;
  background:#fff!important;
  border:1px solid #a9a2c0!important;
}
body.home-v2 .home-hero .scroll-pill:hover {
  background:#eee9f8!important;color:#3b246c!important;
}
body .founder-play-button small,
body .founder-play-button span { color:#fff!important; }

/* Dark cards that were left over from the generated source templates. */
body.migrated-services #makebox,
body.migrated-services .makebox,
body.migrated-services .industry,
body.migrated-services .industry:nth-child(n) {
  background:#fff!important;
  color:#211c36!important;
  border:1px solid #dcd6e9!important;
}
body.migrated-services .makebox :is(h2,h3,h4,p,b,span),
body.migrated-services .industry :is(h2,h3,h4,p,b,span) {
  color:#211c36!important;
}
body.migrated-services .makebox .eyebrow,
body.migrated-services .industry .eyebrow,
body.migrated-services .industry:nth-child(n) .eyebrow {
  color:#533095!important;
}
body.migrated-services .makebox-list > div {
  background:#f3f0fb!important;
  color:#252038!important;
}
/* All description copy in the standalone pages has a consistent readable ink. */
body.migrated-page main > section[class][class][class] :is(p,li,dd,dt,summary,blockquote),
body.case-page main > section[class][class][class] :is(p,li,dd,dt,summary,blockquote),
body.home-v2 main > section[class][class][class] :is(p,li,dd,dt,summary,blockquote) {
  color:#414151!important;
}
body.migrated-page main > section[class][class][class] .lead,
body.migrated-page main > section[class][class][class] .section-lead,
body.case-page main > section[class][class][class] .section-lead,
body.home-v2 main > section[class][class][class] .section-lead {
  color:#414151!important;
}
body.migrated-page main > section[class][class][class] :is(span,small) {
  color:inherit;
}
body.migrated-page .proof :is(span,small),
body.migrated-page .proof-grid :is(span,small),
body.migrated-page .proof-strip :is(span,small),
body.migrated-page .results .case p,
body.migrated-page .problem p,
body.migrated-page .founder-section p,
body.migrated-page .promise p,
body.migrated-design .deliverable p,
body.migrated-wheels .metric p,
body.case-page .challenge-item p,
body.case-page .deliverable p,
body.case-page .long-copy p,
body.case-page .outcome-grid p {
  color:#454556!important;
}
body.migrated-about .principle span,
body.migrated-contact .step .number,
body.migrated-pitchdeck .row small {
  color:#652f8a!important;
}
body.case-page .case-quote,
body.case-page .case-quote.dark-quote {
  color:#2f2356!important;
  background:#f1eef9!important;
  border-color:#c6bdd9!important;
}
body.case-page .trust-message,
body.case-page .trust-message p,
body.migrated-wheels .b2b-result {
  background:#fff!important;
  color:#272237!important;
  border-color:#d9d4e4!important;
}
body.migrated-wheels .b2b-result strong {color:#4b288a!important;}
body .case-page .dark .eyebrow, body.case-page .dark .eyebrow { color:#543192!important; }

/* Footer on migrated pages carried a more specific, dark background rule. */
body.migrated-page footer.footer,
body.case-page footer.footer,
body.home-v2 footer.footer {
  background:#f3f0fa!important;
  color:#252237!important;
  border-top:1px solid #ded9eb!important;
}
body.migrated-page footer.footer :is(a,button,span),
body.case-page footer.footer :is(a,button,span),
body.home-v2 footer.footer :is(a,button,span) {
  color:#30283f!important;
}
body.migrated-page footer.footer .nika-logo :is(b,i),
body.case-page footer.footer .nika-logo :is(b,i),
body.home-v2 footer.footer .nika-logo :is(b,i) {
  color:transparent!important;
}
/* Very light badges in the generated reference would be invisible on white. */
body.migrated-page .hero .hero-panel :is(span,small),
body.migrated-page .hero .hero-card :is(span,small) {
  color:#463a5f!important;
}

/* Final WCAG contrast adjustments for residual generated components. */
body.home-v2 .fit-grid article,
body.home-v2 .fit-grid article:nth-child(n),
body.migrated-paid-growth .phase,
body.migrated-paid-growth .phase:nth-child(n),
body.migrated-paid-growth .no,
body.migrated-pitchdeck .no,
body.migrated-contact .not,
body.migrated-pitchdeck .row {
  background:#fff!important;
  color:#211c36!important;
  border-color:#d9d4e5!important;
}
body.home-v2 .fit-grid article p,
body.migrated-paid-growth .phase p,
body.migrated-page .no li,
body.migrated-contact .not li {
  color:#414151!important;
}
body.home-v2 #diagnosis h2,
body.home-v2 #diagnosis .eyebrow {
  color:#231a39!important;
}
body.home-v2 #diagnosis .eyebrow {color:#51328e!important;}
body.migrated-pitchdeck .row small {color:#58318c!important;}
body.case-page .closing-statement em {
  background:none!important;
  color:#532d96!important;
  -webkit-text-fill-color:#532d96!important;
}
body.case-page .metric,
body.case-page .section.dark .metric,
body.yeti-case .metric {
  background:#fff!important;
  color:#201c36!important;
  border-color:#ded9e8!important;
}
body.case-page .metric span,
body.yeti-case .metric span {
  color:#4e4c61!important;
}
body.migrated-wheels .b2b-flow article > span {
  background:#4a2b88!important;
  color:#fff!important;
  border-color:#4a2b88!important;
}
body.migrated-wheels .case-switcher-label,
body.migrated-wheels .eyebrow,
body.migrated-wheels .b2b-detail .eyebrow {
  color:#54318c!important;
}

/* Last inaccessible legacy accents, checked against WCAG AA. */
body.home-v2 .fit-grid article:nth-child(2) > span {
  color:#55338d!important;
}
body.migrated-page .fit-grid .fit-card.no,
body.migrated-page .fit-grid .fit-card.not {
  background:#fff!important;
  color:#211c36!important;
  border-color:#d9d4e5!important;
}
body.migrated-page .fit-grid .fit-card.no :is(h3,p,li),
body.migrated-page .fit-grid .fit-card.not :is(h3,p,li) {
  color:#414151!important;
}
body.migrated-wheels .next-case span {
  color:#4a287f!important;
}
