/* Theme-aware chrome — keep premium motion/glass; adapt hard-coded dark surfaces */

/*
 * Nav island: night glass in both themes.
 * Day mode keeps that glass, but bar copy/icons use black ink.
 * Dropdown panels reset to daylight tokens so menus stay readable.
 */
html[data-theme="light"] .nav-wrap,
html:not([data-theme]) .nav-wrap {
  --logo-filter: invert(1);
  --text: #0B0D10;
  --text-2: rgba(11, 13, 16, 0.82);
  --text-3: rgba(11, 13, 16, 0.56);
  --hover-fill: rgba(11, 13, 16, 0.08);
  --hover-fill-strong: rgba(11, 13, 16, 0.12);
  --btn-primary-bg: #FFFFFF;
  --btn-primary-fg: #0a0a0a;
  --btn-primary-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  --btn-ghost-border: rgba(11, 13, 16, 0.28);
  --btn-ghost-hover-bg: rgba(11, 13, 16, 0.07);
  color: var(--text);
}

html[data-theme="light"] .nav-dropdown,
html:not([data-theme]) .nav-dropdown {
  --text: #0B0D10;
  --text-2: rgba(11, 13, 16, 0.68);
  --text-3: rgba(11, 13, 16, 0.44);
  --hover-fill: rgba(11, 13, 16, 0.04);
  --hover-fill-strong: rgba(11, 13, 16, 0.07);
  --panel-bg: #FFFFFF;
  --panel-bg-scrolled: #FFFFFF;
  --panel-inset: rgba(255, 255, 255, 0.95);
  --nav-glass-border: rgba(11, 13, 16, 0.1);
  --shadow-nav:
    0 8px 28px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  --card-border: rgba(11, 13, 16, 0.1);
  --card-border-hover: rgba(11, 13, 16, 0.22);
  color: var(--text);
}

/* Contact modal */
.contact-modal-backdrop {
  background: var(--overlay-scrim);
}

.contact-modal-dialog {
  background: var(--modal-bg);
  box-shadow: var(--modal-shadow);
}

.contact-modal-close {
  color: rgba(248, 249, 251, 0.88);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
}

.contact-modal-close:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* Photo side stays cinematic in both themes */
html[data-theme="light"] .contact-modal-side,
html:not([data-theme]) .contact-modal-side,
html[data-theme="dark"] .contact-modal-side {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(61, 168, 255, 0.08), transparent 60%),
    #0a0a0b;
  border-left-color: rgba(61, 168, 255, 0.16);
  color: var(--media-ink);
}

html[data-theme="light"] .contact-modal-side.has-experience-bg,
html:not([data-theme]) .contact-modal-side.has-experience-bg {
  background: #0a0a0b;
  border-left-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="light"] .contact-modal-side .contact-side-quote,
html:not([data-theme]) .contact-modal-side .contact-side-quote,
html[data-theme="light"] .contact-modal-side .contact-side-points-title,
html:not([data-theme]) .contact-modal-side .contact-side-points-title,
html[data-theme="light"] .contact-modal-side .contact-side-points li,
html:not([data-theme]) .contact-modal-side .contact-side-points li,
html[data-theme="light"] .contact-modal-side .contact-side-note,
html:not([data-theme]) .contact-modal-side .contact-side-note {
  color: rgba(248, 249, 251, 0.96);
}

html[data-theme="light"] .contact-modal-form-wrap,
html:not([data-theme]) .contact-modal-form-wrap {
  color: var(--text);
  background: var(--modal-bg);
}

html[data-theme="light"] .contact-form-title,
html:not([data-theme]) .contact-form-title {
  color: var(--text);
}

html[data-theme="light"] .contact-form-subtitle,
html:not([data-theme]) .contact-form-subtitle,
html[data-theme="light"] .contact-handoff-prep-list li,
html:not([data-theme]) .contact-handoff-prep-list li {
  color: var(--text-2);
}

html[data-theme="light"] .contact-handoff-prep-title,
html:not([data-theme]) .contact-handoff-prep-title,
html[data-theme="light"] .contact-form-hint,
html:not([data-theme]) .contact-form-hint {
  color: var(--text-3);
}

html[data-theme="light"] .contact-field input,
html:not([data-theme]) .contact-field input,
html[data-theme="light"] .contact-field textarea,
html:not([data-theme]) .contact-field textarea {
  border-color: var(--card-border);
  background: var(--hover-fill);
  color: var(--text);
}

html[data-theme="light"] .contact-field input:focus,
html:not([data-theme]) .contact-field input:focus,
html[data-theme="light"] .contact-field textarea:focus,
html:not([data-theme]) .contact-field textarea:focus {
  border-color: var(--border-strong);
  background: var(--surface);
}

html[data-theme="light"] .contact-handoff-prep,
html:not([data-theme]) .contact-handoff-prep {
  border-top-color: var(--border);
}

/* Hero — non-video keeps daylight base; video stays cinematic */
.hero-glow {
  background:
    radial-gradient(ellipse 48% 40% at 72% 20%, rgba(61, 168, 255, 0.12), transparent 58%),
    radial-gradient(ellipse 36% 32% at 16% 72%, rgba(26, 127, 224, 0.05), transparent 55%),
    radial-gradient(ellipse 55% 45% at 50% 100%, rgba(61, 168, 255, 0.06), transparent 60%),
    linear-gradient(180deg, var(--hero-base) 0%, var(--bg) 58%, var(--bg) 100%);
}

html[data-theme="light"] .hero:not(.hero--video) .hero-overlay,
html:not([data-theme]) .hero:not(.hero--video) .hero-overlay {
  background: linear-gradient(
    180deg,
    rgba(243, 245, 248, 0.15) 0%,
    rgba(243, 245, 248, 0.35) 42%,
    rgba(243, 245, 248, 0.92) 100%
  );
}

html[data-theme="light"] .hero:not(.hero--video) .hero-streak,
html:not([data-theme]) .hero:not(.hero--video) .hero-streak,
html[data-theme="light"] .hero:not(.hero--video) .hero-orb,
html:not([data-theme]) .hero:not(.hero--video) .hero-orb {
  mix-blend-mode: multiply;
  opacity: 0.55;
}

/* Video / photo heroes: keep dark veil + light ink for legibility */
.hero--video .hero-video-carousel {
  background-color: #000;
}

.hero--video .hero-video-slide video {
  background-color: transparent;
}

.page-hero--company,
.page-hero--method,
.page-hero--products,
.page-hero--cases,
.page-hero--solution,
.page-hero--prove {
  background: #050506;
}

.page-hero--company .page-hero-sub,
.page-hero--method .page-hero-sub,
.page-hero--products .page-hero-sub,
.page-hero--cases .page-hero-sub,
.page-hero--solution .page-hero-sub,
.page-hero--prove .page-hero-sub {
  color: var(--media-ink-2);
}

.page-hero--company .page-hero-inner,
.page-hero--method .page-hero-inner,
.page-hero--products .page-hero-inner,
.page-hero--cases .page-hero-inner,
.page-hero--solution .page-hero-inner,
.page-hero--prove .page-hero-inner,
.hero--video .hero-content {
  color: var(--media-ink);
}

/* Force light ink on cinematic surfaces (video / photo heroes, dark logo bridge) */
.hero--video h1,
.hero--video .hero-typewriter,
.hero--video .hero-lead,
.hero--video .hero-kicker,
.hero--video .hero-hooks,
.hero--video .hero-hook,
.hero--video .hero-funnel,
.hero--video .eyebrow,
.page-hero--company h1,
.page-hero--method h1,
.page-hero--products h1,
.page-hero--cases h1,
.page-hero--solution h1,
.page-hero--prove h1,
.page-hero--prove .prove-slogan,
.page-hero--prove #prove-slogan,
.page-hero--company .eyebrow,
.page-hero--method .eyebrow,
.page-hero--products .eyebrow,
.page-hero--cases .eyebrow,
.page-hero--solution .eyebrow,
.page-hero--prove .eyebrow,
.logo-truth-bridge,
.logo-truth-bridge .section-head h2,
.logo-truth-bridge .section-head .eyebrow,
.logo-truth-bridge #truth-head h2,
.logo-truth-bridge .truth-close,
.logo-truth-bridge #truth-close,
.home-truth,
.home-truth .section-head h2,
.home-truth .section-head .eyebrow,
.home-truth .truth-close,
#truth-head h2,
#truth-close {
  color: var(--media-ink);
}

.hero--video .hero-lead,
.hero--video .hero-hook,
.page-hero--company .page-hero-sub,
.page-hero--method .page-hero-sub,
.page-hero--products .page-hero-sub,
.page-hero--cases .page-hero-sub,
.page-hero--solution .page-hero-sub,
.page-hero--prove .page-hero-sub,
.page-hero--prove .prove-slogan-long,
.page-hero--prove #prove-slogan-long,
.logo-truth-bridge .section-head p,
.logo-truth-bridge .section-sub,
.home-truth .section-head p {
  color: var(--media-ink-2);
}

/* Cinema bridge stays dark: force light ink even when --text is daylight dark */
html[data-theme="light"] .logo-truth-bridge .section-head h2,
html:not([data-theme]) .logo-truth-bridge .section-head h2,
html[data-theme="light"] .home-truth .section-head h2,
html:not([data-theme]) .home-truth .section-head h2,
html[data-theme="light"] #truth-head h2,
html:not([data-theme]) #truth-head h2,
html[data-theme="light"] .logo-truth-bridge .section-head .eyebrow,
html:not([data-theme]) .logo-truth-bridge .section-head .eyebrow,
html[data-theme="light"] .home-truth .section-head .eyebrow,
html:not([data-theme]) .home-truth .section-head .eyebrow,
html[data-theme="light"] .logo-truth-bridge .truth-close,
html:not([data-theme]) .logo-truth-bridge .truth-close,
html[data-theme="light"] .home-truth .truth-close,
html:not([data-theme]) .home-truth .truth-close,
html[data-theme="light"] #truth-close,
html:not([data-theme]) #truth-close,
html[data-theme="light"] .page-hero--prove .prove-slogan,
html:not([data-theme]) .page-hero--prove .prove-slogan,
html[data-theme="light"] .page-hero--prove #prove-slogan,
html:not([data-theme]) .page-hero--prove #prove-slogan {
  color: var(--media-ink);
}

html[data-theme="light"] .logo-truth-bridge .section-head p,
html:not([data-theme]) .logo-truth-bridge .section-head p,
html[data-theme="light"] .home-truth .section-head p,
html:not([data-theme]) .home-truth .section-head p,
html[data-theme="light"] .page-hero--prove .prove-slogan-long,
html:not([data-theme]) .page-hero--prove .prove-slogan-long {
  color: var(--media-ink-2);
}

html[data-theme="light"] .truth-mode-name,
html:not([data-theme]) .truth-mode-name,
html[data-theme="light"] .truth-detail-title,
html:not([data-theme]) .truth-detail-title,
html[data-theme="light"] .truth-mode.is-active .truth-mode-name,
html:not([data-theme]) .truth-mode.is-active .truth-mode-name {
  color: var(--media-ink) !important;
}

html[data-theme="light"] .truth-mode:not(.is-active) .truth-mode-name,
html:not([data-theme]) .truth-mode:not(.is-active) .truth-mode-name,
html[data-theme="light"] .truth-detail-pane li,
html:not([data-theme]) .truth-detail-pane li {
  color: var(--media-ink-2) !important;
}

html[data-theme="light"] .hero--video h1,
html:not([data-theme]) .hero--video h1,
html[data-theme="light"] .hero--video .hero-typewriter,
html:not([data-theme]) .hero--video .hero-typewriter {
  color: var(--media-ink) !important;
}

html[data-theme="light"] .hero--video .hero-type-cursor,
html:not([data-theme]) .hero--video .hero-type-cursor {
  background: rgba(255, 255, 255, 0.85);
}

html[data-theme="light"] .solution-formula,
html:not([data-theme]) .solution-formula {
  background:
    linear-gradient(var(--accent), var(--accent)) 0 50% / 2px 52% no-repeat,
    linear-gradient(115deg, rgba(26, 127, 224, 0.08) 0%, transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 249, 252, 0.96)),
    var(--surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 1px 2px rgba(15, 23, 42, 0.04);
}

html[data-theme="light"] .solution-formula.is-card:hover,
html:not([data-theme]) .solution-formula.is-card:hover {
  background:
    linear-gradient(var(--accent), var(--accent)) 0 50% / 2px 64% no-repeat,
    linear-gradient(115deg, rgba(26, 127, 224, 0.12) 0%, transparent 42%),
    linear-gradient(180deg, #fff, var(--surface-2)),
    var(--surface);
  border-color: rgba(26, 127, 224, 0.32);
}

html[data-theme="light"] .hero:not(.hero--video) .hero-type-cursor,
html:not([data-theme]) .hero:not(.hero--video) .hero-type-cursor {
  background: rgba(11, 13, 16, 0.75);
}

html[data-theme="light"] .hero-carousel-pill,
html:not([data-theme]) .hero-carousel-pill {
  border-color: rgba(11, 13, 16, 0.12);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .hero--video .hero-carousel-pill,
html:not([data-theme]) .hero--video .hero-carousel-pill {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(10, 10, 12, 0.55);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

html[data-theme="light"] .hero:not(.hero--video) .hero-carousel-seg,
html:not([data-theme]) .hero:not(.hero--video) .hero-carousel-seg {
  background: rgba(11, 13, 16, 0.18);
}

html[data-theme="light"] .hero:not(.hero--video) .hero-carousel-seg:hover,
html:not([data-theme]) .hero:not(.hero--video) .hero-carousel-seg:hover,
html[data-theme="light"] .hero:not(.hero--video) .hero-carousel-seg.is-done,
html:not([data-theme]) .hero:not(.hero--video) .hero-carousel-seg.is-done {
  background: rgba(11, 13, 16, 0.32);
}

html[data-theme="light"] .hero:not(.hero--video) .hero-carousel-seg.is-done .hero-carousel-fill,
html:not([data-theme]) .hero:not(.hero--video) .hero-carousel-seg.is-done .hero-carousel-fill {
  background: rgba(11, 13, 16, 0.7);
}

/* Capability / dark panels that used solid black */
html[data-theme="light"] .cap-visual,
html:not([data-theme]) .cap-visual {
  background: var(--surface-2);
  border-color: var(--card-border);
}

html[data-theme="light"] .cap-visual--dark,
html:not([data-theme]) .cap-visual--dark {
  background: linear-gradient(180deg, #111827 0%, #0B1220 100%);
}

/* Generic white-border cards scattered in sections */
html[data-theme="light"] .product-card,
html:not([data-theme]) .product-card,
html[data-theme="light"] .case-card,
html:not([data-theme]) .case-card,
html[data-theme="light"] .cv-engine,
html:not([data-theme]) .cv-engine,
html[data-theme="light"] .cv-promise,
html:not([data-theme]) .cv-promise,
html[data-theme="light"] .home-case-card,
html:not([data-theme]) .home-case-card,
html[data-theme="light"] .home-link-card,
html:not([data-theme]) .home-link-card,
html[data-theme="light"] .method-layer,
html:not([data-theme]) .method-layer,
html[data-theme="light"] .track-item,
html:not([data-theme]) .track-item,
html[data-theme="light"] .contrast-col,
html:not([data-theme]) .contrast-col,
html[data-theme="light"] .info-card,
html:not([data-theme]) .info-card,
html[data-theme="light"] .company-culture-card,
html:not([data-theme]) .company-culture-card,
html[data-theme="light"] .prove-why-item,
html:not([data-theme]) .prove-why-item,
html[data-theme="light"] .solution-roi-item,
html:not([data-theme]) .solution-roi-item,
html[data-theme="light"] .cta-form,
html:not([data-theme]) .cta-form,
html[data-theme="light"] .truth-col,
html:not([data-theme]) .truth-col,
html[data-theme="light"] .hero-metric,
html:not([data-theme]) .hero-metric,
html[data-theme="light"] .prove-definition,
html:not([data-theme]) .prove-definition,
html[data-theme="light"] .prove-note-col,
html:not([data-theme]) .prove-note-col,
html[data-theme="light"] .privacy-toc,
html:not([data-theme]) .privacy-toc,
html[data-theme="light"] .home-prove-side,
html:not([data-theme]) .home-prove-side,
html[data-theme="light"] .product-service-card,
html:not([data-theme]) .product-service-card,
html[data-theme="light"] .info-role,
html:not([data-theme]) .info-role {
  border-color: var(--card-border);
}

html[data-theme="light"] .field input,
html:not([data-theme]) .field input,
html[data-theme="light"] .field textarea,
html:not([data-theme]) .field textarea {
  border-color: var(--card-border);
  background: var(--surface);
  color: var(--text);
}

html[data-theme="light"] .field input:focus,
html:not([data-theme]) .field input:focus,
html[data-theme="light"] .field textarea:focus,
html:not([data-theme]) .field textarea:focus {
  border-color: var(--border-strong);
}

html[data-theme="light"] .mobile-panel a,
html:not([data-theme]) .mobile-panel a,
html[data-theme="light"] .drawer-group-trigger,
html:not([data-theme]) .drawer-group-trigger {
  border-bottom-color: var(--border);
}

html[data-theme="light"] .drawer-submenu,
html:not([data-theme]) .drawer-submenu {
  border-color: var(--border);
  background: var(--hover-fill);
}

html[data-theme="light"] .drawer-cta,
html:not([data-theme]) .drawer-cta {
  background: var(--btn-primary-bg);
  color: var(--btn-primary-fg);
}

/* Site error banner */
html[data-theme="light"] .cv-cad-tag,
html:not([data-theme]) .cv-cad-tag {
  color: #0B0D10 !important;
  -webkit-text-fill-color: #0B0D10;
  background: #FFFFFF;
  border: 1px solid rgba(11, 13, 16, 0.12);
  box-shadow:
    0 6px 18px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .cv-cad-tag {
  color: rgba(245, 245, 247, 0.92) !important;
  -webkit-text-fill-color: rgba(245, 245, 247, 0.92);
}

html[data-theme="light"] .corner-action,
html:not([data-theme]) .corner-action {
  background: rgba(255, 255, 255, 0.88);
  border-color: var(--card-border);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
  color: var(--text);
}

html[data-theme="light"] .corner-action:hover,
html:not([data-theme]) .corner-action:hover {
  background: #fff;
  border-color: var(--border-strong);
}

/* ── Products / after-sales & global light surfaces ── */
html[data-theme="light"] .cv-after,
html:not([data-theme]) .cv-after {
  background:
    radial-gradient(ellipse 58% 36% at 18% 8%, rgba(26, 127, 224, 0.08), transparent 58%),
    radial-gradient(ellipse 42% 30% at 92% 18%, rgba(15, 23, 42, 0.03), transparent 55%),
    linear-gradient(180deg, #EEF2F7 0%, #F3F5F8 48%, #E8EDF4 100%);
}

html[data-theme="light"] .cv-promise--asset,
html:not([data-theme]) .cv-promise--asset {
  background:
    linear-gradient(145deg, rgba(26, 127, 224, 0.1) 0%, transparent 42%),
    #FFFFFF;
  box-shadow:
    inset 3px 0 0 var(--accent),
    0 18px 48px rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .cv-promise--asset .cv-promise-list li,
html:not([data-theme]) .cv-promise--asset .cv-promise-list li {
  background: rgba(26, 127, 224, 0.08);
  border-color: rgba(26, 127, 224, 0.22);
  color: var(--text);
}

html[data-theme="light"] .cv-promise--rights,
html:not([data-theme]) .cv-promise--rights {
  background: linear-gradient(180deg, #FFFFFF, #F7F9FC 100%);
  border-color: rgba(11, 13, 16, 0.16);
}

html[data-theme="light"] .cv-promise--rights .eyebrow,
html:not([data-theme]) .cv-promise--rights .eyebrow,
html[data-theme="light"] .cv-promise--rights .cv-promise-idx,
html:not([data-theme]) .cv-promise--rights .cv-promise-idx {
  color: var(--text-3);
}

html[data-theme="light"] .cv-promise--rights .cv-promise-icon,
html:not([data-theme]) .cv-promise--rights .cv-promise-icon {
  color: var(--text-2);
  border-color: var(--card-border);
  background: var(--hover-fill);
}

html[data-theme="light"] .cv-tier,
html:not([data-theme]) .cv-tier {
  background: #FFFFFF;
  border-color: var(--card-border);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

html[data-theme="light"] .cv-tier.is-featured,
html:not([data-theme]) .cv-tier.is-featured {
  background:
    linear-gradient(180deg, rgba(26, 127, 224, 0.08), transparent 42%),
    #FFFFFF;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .cv-xc,
html:not([data-theme]) .cv-xc {
  background:
    radial-gradient(ellipse 50% 60% at 0% 0%, rgba(26, 127, 224, 0.06), transparent 55%),
    #FFFFFF;
  border-color: var(--card-border);
}

html[data-theme="light"] .cv-engines--bento .cv-engine.is-lead,
html:not([data-theme]) .cv-engines--bento .cv-engine.is-lead {
  background:
    linear-gradient(135deg, rgba(26, 127, 224, 0.08), transparent 52%),
    #FFFFFF;
}

html[data-theme="light"] .cv-step-main,
html:not([data-theme]) .cv-step-main,
html[data-theme="light"] .cv-faq-item,
html:not([data-theme]) .cv-faq-item,
html[data-theme="light"] .cv-matrix-scroll,
html:not([data-theme]) .cv-matrix-scroll,
html[data-theme="light"] .product-card,
html:not([data-theme]) .product-card {
  background: #FFFFFF;
  border-color: var(--card-border);
}

html[data-theme="light"] .product-card:hover,
html:not([data-theme]) .product-card:hover {
  background: #F7F9FC;
}

html[data-theme="light"] .cta--compact,
html:not([data-theme]) .cta--compact {
  background:
    radial-gradient(ellipse 55% 45% at 50% 0%, rgba(26, 127, 224, 0.08), transparent 68%),
    var(--bg-gradient-deep);
}

html[data-theme="light"] .cta--compact::after,
html:not([data-theme]) .cta--compact::after {
  background: linear-gradient(180deg, transparent 0%, var(--bg) 100%);
}

html[data-theme="light"] .prove-define,
html:not([data-theme]) .prove-define {
  background:
    linear-gradient(180deg, var(--hero-base) 0%, var(--bg) 28%),
    var(--bg);
}

html[data-theme="light"] .prove-definition,
html:not([data-theme]) .prove-definition {
  background:
    linear-gradient(105deg, rgba(26, 127, 224, 0.08), transparent 42%),
    #FFFFFF;
  border-color: var(--card-border);
}

html[data-theme="light"] .prove-why-item p,
html:not([data-theme]) .prove-why-item p {
  color: var(--text) !important;
}

html[data-theme="light"] .home-prove,
html:not([data-theme]) .home-prove {
  color: var(--media-ink);
}

html[data-theme="light"] .home-prove .section-head h2,
html:not([data-theme]) .home-prove .section-head h2,
html[data-theme="light"] .home-prove h2,
html:not([data-theme]) .home-prove h2,
html[data-theme="light"] .home-prove h3,
html:not([data-theme]) .home-prove h3,
html[data-theme="light"] .home-prove .eyebrow,
html:not([data-theme]) .home-prove .eyebrow,
html[data-theme="light"] .home-prove .product-link,
html:not([data-theme]) .home-prove .product-link {
  color: var(--media-ink);
}

html[data-theme="light"] .home-prove .section-head p,
html:not([data-theme]) .home-prove .section-head p,
html[data-theme="light"] .home-prove p,
html:not([data-theme]) .home-prove p,
html[data-theme="light"] .home-prove li,
html:not([data-theme]) .home-prove li,
html[data-theme="light"] .home-prove .home-prove-mechanism,
html:not([data-theme]) .home-prove .home-prove-mechanism {
  color: var(--media-ink-2) !important;
}

/* GCT sidebar active: keep white pill contrast on dark canvas */
html[data-theme="dark"] .gct-side-link.is-active {
  color: #0a0a0b;
  background: #ffffff;
  border-color: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 8px 24px rgba(0, 0, 0, 0.28);
}

html[data-theme="light"] .gct-side-link.is-active,
html:not([data-theme]) .gct-side-link.is-active {
  color: var(--text);
  background: var(--surface);
  border-color: var(--border-strong);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* Company vision typewriter: dark ink sheen for daylight (white sheen vanishes on pale bg) */
html[data-theme="light"] .company-vision-text,
html:not([data-theme]) .company-vision-text {
  color: var(--text);
}

html[data-theme="light"] .company-vision-char,
html:not([data-theme]) .company-vision-char {
  background-image: linear-gradient(
    105deg,
    rgba(11, 13, 16, 0.55) 0%,
    rgba(28, 36, 48, 0.88) 18%,
    rgba(42, 72, 110, 0.78) 34%,
    #0b0d10 48%,
    rgba(26, 64, 110, 0.82) 62%,
    rgba(20, 28, 40, 0.9) 78%,
    rgba(11, 13, 16, 0.58) 100%
  );
  filter: none;
}

html[data-theme="light"] .company-vision-typewriter.is-complete .company-vision-char,
html:not([data-theme]) .company-vision-typewriter.is-complete .company-vision-char {
  filter: none;
}

html[data-theme="dark"] .company-vision-char {
  filter: drop-shadow(0 0 18px rgba(255, 255, 255, 0.06));
}

html[data-theme="dark"] .company-vision-typewriter.is-complete .company-vision-char {
  filter: drop-shadow(0 0 22px rgba(255, 255, 255, 0.08));
}

html[data-theme="light"] .company-vision-type-cursor,
html:not([data-theme]) .company-vision-type-cursor {
  background: rgba(11, 13, 16, 0.72);
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="light"] .company-vision-char,
  html:not([data-theme]) .company-vision-char {
    background-image: none;
    color: var(--text);
    -webkit-text-fill-color: var(--text);
    filter: none;
  }
}

