/* Gizlen Global v2026.10.19.3 — deliberate, predictable contrast.
   Fixes generated JS sections and the shared site shell without sampling pixels
   or changing typography/layout. No runtime contrast scanner. */
:root { --gg-readable-light:#f5fbff; --gg-readable-body:#d9e6ee; --gg-readable-subtle:#bfd0de; --gg-readable-teal:#89e9db; --gg-readable-ink:#0c2335; --gg-readable-muted:#43596a; }

/* The server-rendered AI Consulting callout is subsequently created by core JS.
   This rule MUST override rules from the app bundle and inherited text-fill. */
html body #gg-smb-ai-inline,
html body section.gg-smb-ai-inline {
 color:#d9e6ee!important; background:linear-gradient(135deg,#071a2c,#0c2a42)!important;
}
html body #gg-smb-ai-inline :is(h1,h2,h3,h4,h5,h6,strong),
html body .gg-smb-ai-inline :is(h1,h2,h3,h4,h5,h6,strong) {
 color:#f5fbff!important; -webkit-text-fill-color:#f5fbff!important; opacity:1!important;
}
html body #gg-smb-ai-inline :is(p,li,span:not(.icon)),
html body .gg-smb-ai-inline :is(p,li,span:not(.icon)) {
 color:#d9e6ee!important;-webkit-text-fill-color:#d9e6ee!important;opacity:1!important;
}
html body #gg-smb-ai-inline p.gg-smb-ai-kicker,
html body .gg-smb-ai-inline p.gg-smb-ai-kicker,
html body #gg-smb-ai-inline .gg-smb-ai-kicker,
html body .gg-smb-ai-inline .gg-smb-ai-kicker {
 color:#89e9db!important;-webkit-text-fill-color:#89e9db!important;opacity:1!important;
}
html body #gg-smb-ai-inline a:not(.button),
html body .gg-smb-ai-inline a:not(.button) {
 color:#89e9db!important;-webkit-text-fill-color:#89e9db!important;opacity:1!important;
 text-decoration-thickness:1px;text-underline-offset:3px;
}
/* Main-page AI section has a pale background and must NOT inherit the dark strip's palette. */
html body #gg-smb-ai-home-band,html body .gg-smb-ai-band{background:#f1f6f5;color:#102637!important}
html body #gg-smb-ai-home-band h2,html body .gg-smb-ai-band h2{color:#0b2335!important;-webkit-text-fill-color:#0b2335!important;opacity:1!important}
html body #gg-smb-ai-home-band .gg-smb-ai-intro{color:#40596b!important;-webkit-text-fill-color:#40596b!important}
html body #gg-smb-ai-home-band .gg-smb-ai-card,html body .gg-smb-ai-card{background:#fff!important;color:#102637!important}
html body .gg-smb-ai-card h3{color:#0e283b!important;-webkit-text-fill-color:#0e283b!important}
html body .gg-smb-ai-card p{color:#45596b!important;-webkit-text-fill-color:#45596b!important}

/* Specific known dark sections. Target surface text, not the entire document.
   Restore light nested tiles explicitly to avoid white-on-white regressions. */
html body :is(.page-hero,.section-dark,.dark-section,.hero-dark,.dark-panel,.dark-card,
 .home-speaking-feature-shell,.speaker-reel-v3,.speaker-reel-stage,.ggt-premium-callout,
 .speaker-cta-v3,[data-surface="dark"],[data-theme="dark"])
 :is(h1,h2,h3,h4,h5,h6):not(.light-card *) {
 color:var(--gg-readable-light)!important;-webkit-text-fill-color:var(--gg-readable-light)!important;opacity:1!important;
}
html body :is(.page-hero,.section-dark,.dark-section,.hero-dark,.dark-panel,.dark-card,
 .home-speaking-feature-shell,.speaker-reel-v3,.speaker-reel-stage,.ggt-premium-callout,
 .speaker-cta-v3,[data-surface="dark"],[data-theme="dark"])
 :is(p,li,dt,dd,blockquote,figcaption,small,.lead,.dark-muted):not(.light-card *) {
 color:var(--gg-readable-body)!important;-webkit-text-fill-color:var(--gg-readable-body)!important;opacity:1!important;
}
html body :is(.page-hero,.section-dark,.dark-section,.hero-dark,.dark-panel,.dark-card,
 .home-speaking-feature-shell,.speaker-reel-v3,.speaker-reel-stage,.ggt-premium-callout,
 .speaker-cta-v3,[data-surface="dark"],[data-theme="dark"])
 :is(.eyebrow,.kicker,.meta,.tag,.speaker-kicker):not(.light-card *) {
 color:var(--gg-readable-teal)!important;-webkit-text-fill-color:var(--gg-readable-teal)!important;opacity:1!important;
}
/* Buttons and cards have their own intentionally opposing palettes. */
html body .page-hero :is(.button-primary,.gg-header-cta),
html body .section-dark :is(.button-primary,.gg-header-cta),
html body .ggt-premium-callout :is(.button-primary,.gg-header-cta){color:#082530!important;-webkit-text-fill-color:#082530!important}
html body .section-dark :is(.card,.light-card,.panel-light,.feature-card,.gg-smb-ai-card,.price-card),
html body .dark-section :is(.card,.light-card,.panel-light,.feature-card,.gg-smb-ai-card,.price-card){color:var(--gg-readable-ink)!important}
html body .section-dark :is(.card,.light-card,.panel-light,.feature-card,.gg-smb-ai-card,.price-card) :is(h2,h3,h4),
html body .dark-section :is(.card,.light-card,.panel-light,.feature-card,.gg-smb-ai-card,.price-card) :is(h2,h3,h4){color:#0b2335!important;-webkit-text-fill-color:#0b2335!important}
html body .section-dark :is(.card,.light-card,.panel-light,.feature-card,.gg-smb-ai-card,.price-card) p,
html body .dark-section :is(.card,.light-card,.panel-light,.feature-card,.gg-smb-ai-card,.price-card) p{color:#43596a!important;-webkit-text-fill-color:#43596a!important}

/* Navigation/footer, including News & Insights: readable on brand navy. */
html body .gg-site-header .gg-primary-nav a,
html body .gg-site-header .gg-mobile-nav a:not(.gg-mobile-cta) {
 color:#e3edf5!important;-webkit-text-fill-color:#e3edf5!important;opacity:1!important;
}
html body .gg-site-header .gg-primary-nav a:hover,
html body .gg-site-header .gg-primary-nav a[aria-current="page"],
html body .gg-site-header .gg-mobile-nav a:hover {color:#8be7db!important;-webkit-text-fill-color:#8be7db!important}
html body .gg-site-footer{color:#e1eaf1}
html body .gg-site-footer :is(h2,h3,h4),html body .gg-site-footer .gg-footer-col h3{
 color:#f5fbff!important;-webkit-text-fill-color:#f5fbff!important;
}
html body .gg-site-footer :is(p,li,small,span):not(.button span){color:#bdcede!important;-webkit-text-fill-color:#bdcede!important}
html body .gg-site-footer a:not(.button){color:#d5f2ef!important;-webkit-text-fill-color:#d5f2ef!important}
html body .gg-site-header .gg-header-cta,html body .gg-site-header .gg-mobile-cta{
 color:#06242d!important;-webkit-text-fill-color:#06242d!important;
}
/* Compact header only when a ninth menu item is visible. */
@media (min-width:1001px) and (max-width:1440px){
 html body .gg-site-header .gg-primary-nav{column-gap:clamp(7px,.92vw,13px)!important}
 html body .gg-site-header .gg-primary-nav a{font-size:clamp(10px,.78vw,12px)!important;white-space:nowrap}
}

/* Insights specifically: fixes the dark description observed on its navy hero. */
html body.page-insights .ggi-hero{background:linear-gradient(120deg,#071426,#102f4e)!important}
html body.page-insights .ggi-hero h1{color:#f5fbff!important;-webkit-text-fill-color:#f5fbff!important;opacity:1!important}
html body.page-insights .ggi-hero .ggi-kicker{color:#87e9db!important;-webkit-text-fill-color:#87e9db!important}
html body.page-insights .ggi-hero .ggi-lead,
html body.page-insights .ggi-hero > .ggi-wrap > p:not(.ggi-kicker){
 color:#e0eaf2!important;-webkit-text-fill-color:#e0eaf2!important;opacity:1!important;
}
html body.page-insights .ggi-principles a{color:#eaf8f7!important;-webkit-text-fill-color:#eaf8f7!important}
html body.page-insights .ggi-section :is(h2,h3),html body.page-insights .ggi-cta :is(h2,h3){color:#0b2539!important;-webkit-text-fill-color:#0b2539!important;opacity:1!important}
html body.page-insights .ggi-card :is(p,.ggi-brief,.ggi-detail p){color:#43596d!important;-webkit-text-fill-color:#43596d!important;opacity:1!important}
html body.page-insights .ggi-card .ggi-meta span{color:#345e78!important;-webkit-text-fill-color:#345e78!important}
html body.page-insights .ggi-card .ggi-meta span:first-child{color:#056c70!important;-webkit-text-fill-color:#056c70!important}
html body.page-insights .ggi-card summary,html body.page-insights .ggi-card .ggi-detail a{color:#075b62!important;-webkit-text-fill-color:#075b62!important}
html body.page-insights .ggi-updated{color:#4d6372!important;-webkit-text-fill-color:#4d6372!important}
html body.page-insights .ggi-cta p:not(.ggi-kicker){color:#44586b!important;-webkit-text-fill-color:#44586b!important}

/* Visible keyboard navigation, regardless of dark/light background. */
html body :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #27cfb6!important;outline-offset:3px!important}
