/* =====================================================================
   LIGHT MODE, "BANNER" VARIANT
   Navy header and navy hero band on every page; soft light page below.
   Loads after variant-b-light.css. All rules scoped to html.igc-light.
   ===================================================================== */

/* Page surface: a shade cooler and softer than pure white so cards pop. */
html.igc-light {
  --igc-bg: #EEF2F7;
  --igc-bg-elev: #FFFFFF;
  --igc-bg-elev-2: #FFFFFF;
  --igc-bg-glass: #F8FAFC;
  --igc-shadow-1: 0 1px 2px rgba(15,30,60,0.05), 0 6px 18px rgba(15,30,60,0.06);
  --igc-shadow-2: 0 2px 4px rgba(15,30,60,0.05), 0 18px 44px rgba(15,30,60,0.10);
}

/* Navy surface tokens, reused by the header bar and every hero band. */
html.igc-light .igc-header,
html.igc-light .igc-band {
  --igc-bg: #050B1A;
  --igc-bg-elev: #0A1426;
  --igc-bg-elev-2: #0F1E3C;
  --igc-bg-glass: rgba(255,255,255,0.04);
  --igc-border: rgba(148,163,184,0.14);
  --igc-border-mid: rgba(148,163,184,0.22);
  --igc-border-strong: rgba(148,163,184,0.32);
  --igc-text: #E2E8F0;
  --igc-text-muted: #B8C4DA;
  --igc-text-dim: #94A3B8;
  --igc-text-faint: rgba(226,232,240,0.45);
  --igc-accent: #60A5FA;
  --igc-accent-glow: #93C5FD;
  --igc-accent-deep: #3B82F6;
  --igc-accent-soft: rgba(96,165,250,0.14);
  --igc-accent-ring: rgba(96,165,250,0.35);
  color: var(--igc-text);
}

/* Header bar stays navy. */
html.igc-light .igc-header {
  background: #050B1A;
  border-bottom: 1px solid rgba(148,163,184,0.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html.igc-light .igc-nav__list a { color: #CBD5E1; }
html.igc-light .igc-nav__list a:hover { color: #FFFFFF; background: rgba(255,255,255,0.06); }
html.igc-light .igc-pal-trigger,
html.igc-light .igc-theme-toggle { background: rgba(255,255,255,0.04); border-color: rgba(148,163,184,0.22); color: #CBD5E1; }
html.igc-light .igc-pal-trigger kbd { color: #CBD5E1; border-color: rgba(148,163,184,0.3); background: transparent; }
html.igc-light .igc-theme-toggle { border-color: #3B82F6; color: #FFFFFF; }

/* Hero bands: every page hero becomes a navy banner that the light page
   slides under. The band gets extra bottom room so the first content
   block below can overlap the seam. */
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero) {
  --igc-bg: #050B1A;
  --igc-bg-elev: #0A1426;
  --igc-bg-elev-2: #0F1E3C;
  --igc-bg-glass: rgba(255,255,255,0.04);
  --igc-border: rgba(148,163,184,0.14);
  --igc-border-mid: rgba(148,163,184,0.22);
  --igc-border-strong: rgba(148,163,184,0.32);
  --igc-text: #F1F5F9;
  --igc-text-muted: #B8C4DA;
  --igc-text-dim: #A3B1C6;
  --igc-text-faint: rgba(226,232,240,0.5);
  --igc-accent: #60A5FA;
  --igc-accent-glow: #93C5FD;
  --igc-accent-deep: #3B82F6;
  --igc-accent-soft: rgba(96,165,250,0.14);
  --igc-accent-ring: rgba(96,165,250,0.35);
  color: var(--igc-text);
  background: linear-gradient(180deg, #050B1A 0%, #0A1630 100%);
  border-bottom: 0;
  position: relative;
}
/* Faint atmosphere so the band is not a flat slab. */
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero)::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(59,130,246,0.18), transparent 60%),
    radial-gradient(700px 360px at 92% 20%, rgba(96,165,250,0.10), transparent 60%);
}
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero) > * { position: relative; }

/* Heroes that sit inside a max-width wrapper bleed to the viewport edge. */
html.igc-light .igc-ck-hero {
  margin-inline: calc(50% - 50vw);
  padding-inline: max(1.5rem, calc((100vw - var(--igc-wrap, 1200px)) / 2 + 1.5rem));
  padding-top: 2.5rem; padding-bottom: 3rem;
}

/* Inside a band, these blocks are "paper": white cards with dark type. */
html.igc-light .igc-band-paper {
  --igc-bg: #FFFFFF;
  --igc-bg-elev: #FFFFFF;
  --igc-bg-elev-2: #FFFFFF;
  --igc-bg-glass: #F8FAFC;
  --igc-border: rgba(15,30,60,0.12);
  --igc-border-mid: rgba(15,30,60,0.18);
  --igc-border-strong: rgba(15,30,60,0.28);
  --igc-text: #0F172A;
  --igc-text-muted: #334155;
  --igc-text-dim: #475569;
  --igc-text-faint: #64748B;
  --igc-accent: #1D4ED8;
  --igc-accent-glow: #2563EB;
  --igc-accent-deep: #1E40AF;
  --igc-accent-soft: rgba(29,78,216,0.09);
  --igc-accent-ring: rgba(29,78,216,0.3);
  color: var(--igc-text);
}

/* Heroes constrained by a wrapper bleed edge to edge. */
html.igc-light :is(.igc-atlas__hero, .tc-hero, .igc-srcpg__hero, .igc-lccp__hero, .igc-cmpx-hero) {
  margin-inline: calc(50% - 50vw);
  padding-inline: max(1.5rem, calc((100vw - var(--igc-wrap, 1200px)) / 2 + 1.5rem));
}
html.igc-light .igc-ck { padding-top: 0; }
html.igc-light .igc-ck-hero { padding-bottom: 5.5rem; }
html.igc-light .igc-ck-ticker { position: relative; z-index: 2; margin-top: -2.75rem; box-shadow: 0 20px 60px rgba(5,11,26,0.22); }

/* Type inside a band reads light, whatever the per-page light rules said.
   Paper blocks (white cards inside the band) are excluded. */
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero)
  :is(h1, h2, h3, p, li, dt, dd, blockquote, [class*="stat-num"], [class*="stat__num"], [class*="stat-val"], [class*="stat__val"],
      [class*="__num"], [class*="-num"], [class*="__k"], [class*="stat__k"], [class*="__title"], [class*="__lede"], [class*="__lead"],
      [class*="-lede"], [class*="-lead"], [class*="__sub"], [class*="crumb"]):not(.igc-band-paper, .igc-band-paper *, a, button, [class*="pill"], [class*="chip"], [class*="tag"], [class*="badge"], em, strong > em) {
  color: var(--igc-text);
}
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero)
  :is(p, li, dd, [class*="__lede"], [class*="__lead"], [class*="-lede"], [class*="-lead"], [class*="__sub"], [class*="stat-lbl"], [class*="stat__lbl"], [class*="__d"]):not(.igc-band-paper, .igc-band-paper *) {
  color: var(--igc-text-muted);
}

/* Paper blocks inside bands: white, dark type, soft lift. */
html.igc-light :is(.igc-atlas__stats, .igc-gl__stats, .igc-atc__stats, .igc-lccp__stats, .igc-srcpg__statbar, .igc-mrc-card) {
  --igc-bg: #FFFFFF; --igc-bg-elev: #FFFFFF; --igc-bg-elev-2: #FFFFFF; --igc-bg-glass: #F8FAFC;
  --igc-border: rgba(15,30,60,0.12); --igc-border-mid: rgba(15,30,60,0.18); --igc-border-strong: rgba(15,30,60,0.28);
  --igc-text: #0F172A; --igc-text-muted: #334155; --igc-text-dim: #475569; --igc-text-faint: #64748B;
  --igc-accent: #1D4ED8; --igc-accent-glow: #2563EB; --igc-accent-deep: #1E40AF;
  --igc-accent-soft: rgba(29,78,216,0.09); --igc-accent-ring: rgba(29,78,216,0.3);
  color: var(--igc-text);
}
html.igc-light :is(.igc-atlas__stats, .igc-gl__stats, .igc-atc__stats, .igc-lccp__stats) {
  background: #FFFFFF; border-color: rgba(15,30,60,0.12);
  box-shadow: 0 2px 4px rgba(15,30,60,0.05), 0 18px 44px rgba(5,11,26,0.25);
}
html.igc-light :is(.igc-gl__stats, .igc-atc__stats) > * { background: #FFFFFF; border-color: rgba(15,30,60,0.12); }
html.igc-light :is(.igc-atc__disclaimer, .igc-lic__disclaimer, .igc-cmpx-disclaimer) {
  background: rgba(255,255,255,0.05); border-color: rgba(148,163,184,0.22); color: var(--igc-text-muted);
}
html.igc-light :is(.igc-atc__disclaimer, .igc-lic__disclaimer, .igc-cmpx-disclaimer) strong { color: var(--igc-text); }

/* Bleeding heroes: also force the width so a fixed-width hero cannot stop short. */
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .igc-srcpg__hero, .igc-lccp__hero, .igc-cmpx-hero, .igc-searchlanding__hero) {
  width: 100vw; max-width: 100vw; box-sizing: border-box; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
}

/* Breadcrumbs and eyebrows inside a band. */
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero)
  :is([class*="crumb"], [class*="crumb"] a, [class*="crumb"] span, [class*="eyebrow"], [class*="eyebrow"] span):not(.igc-band-paper *) {
  color: var(--igc-text-dim);
}
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero)
  [class*="crumb"] a:hover { color: var(--igc-text); }

/* More paper blocks inside bands. */
html.igc-light :is(.igo-pdf-cta, .iges-metacard, .igc-abp-hero .igc-band-paper) {
  --igc-bg: #FFFFFF; --igc-bg-elev: #FFFFFF; --igc-bg-elev-2: #FFFFFF; --igc-bg-glass: #F8FAFC;
  --igc-border: rgba(15,30,60,0.12); --igc-border-mid: rgba(15,30,60,0.18); --igc-border-strong: rgba(15,30,60,0.28);
  --igc-text: #0F172A; --igc-text-muted: #334155; --igc-text-dim: #475569; --igc-text-faint: #64748B;
  --igc-accent: #1D4ED8; --igc-accent-glow: #2563EB; --igc-accent-deep: #1E40AF;
  --igc-accent-soft: rgba(29,78,216,0.09); --igc-accent-ring: rgba(29,78,216,0.3);
  color: var(--igc-text);
}

/* Atlas and LCCP: the breadcrumb sits above the hero inside the same wrap; pull it into the band. */
html.igc-light :is(.igc-atlas__crumbs, .igc-lccp__crumbs, .igc-srcpg__crumbs, .igc-searchlanding__crumbs) {
  width: 100vw; max-width: 100vw; box-sizing: border-box; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  padding-left: max(1.5rem, calc((100vw - var(--igc-wrap, 1200px)) / 2 + 1.5rem)); padding-right: max(1.5rem, calc((100vw - var(--igc-wrap, 1200px)) / 2 + 1.5rem)); padding-top: 1.25rem; padding-bottom: 1rem; margin-bottom: 0;
  background: #050B1A; color: #A3B1C6;
}
html.igc-light :is(.igc-atlas__crumbs, .igc-lccp__crumbs, .igc-srcpg__crumbs, .igc-searchlanding__crumbs) a { color: #CBD5E1; }
html.igc-light :is(.igc-atlas__crumbs, .igc-lccp__crumbs, .igc-srcpg__crumbs, .igc-searchlanding__crumbs) span { color: #A3B1C6; }
html.igc-light :is(.igc-atlas__hero, .igc-lccp__hero) { margin-top: 0; }

/* Tax calculator: the hero is its own 1280px container, so widen it and re-centre the content with padding. */
html.igc-light .tc-hero {
  max-width: none; width: auto; margin: 0;
  padding-left: max(1.5rem, calc(50vw - 640px)); padding-right: max(1.5rem, calc(50vw - 640px));
}

/* No per-page accent line on top of the band; the header hairline is the only separator. */
html.igc-light :is(.igc-ck-hero, .igc-atlas__hero, .rp-hero, .tax-hero, .tc-hero, .igo-hero, .dl-hero,
  .igc-art-hero, .igc-abp-hero, .igc-srcpg__hero, .igc-cmpx-hero, .igc-gl__hero, .igc-lic__hero, .igc-atc__hero,
  .aml-hero, .rg-hero, .gli-hero, .igc-tpx-hero, .igc-post-hero, .ors-hero, .igc-rgo-hero, .igc-lccp__hero,
  .iges-hero, .igc-searchlanding__hero, .igc-priv__hero, .igc-enf-hero) { border-top: 0; box-shadow: none; }

/* Wrappers whose top padding would show as a light strip above the band. */
html.igc-light :is(.igc-atlas__inner, .igc-lccp__inner, .igc-searchlanding, .igc-cmpx, .igc-srcpg .igc-wrap) { padding-top: 0; }
html.igc-light :is(.igc-atlas__crumbs, .igc-lccp__crumbs, .igc-srcpg__crumbs, .igc-searchlanding__crumbs) { padding-top: 1.5rem; }
html.igc-light .igc-searchlanding { background: transparent; border-top: 0; }

/* Big numbers in bands that per-page light rules had painted dark. */
html.igc-light :is(.igc-abp-hero__kpi strong, .igc-rgo-stats strong, .igc-rgo-stats li strong, .dl-hero__stat-num, .igc-lic__hero-stat-num, .igc-ck-h1, .tc-hero__h1) { color: #FFFFFF; }
html.igc-light :is(.igc-abp-hero__kpi span, .igc-rgo-stats span) { color: #A3B1C6; }

/* Section wrappers that carried a white top strip and accent border above the band. */
html.igc-light :is(section.igc-atlas, section.igc-srcpg, section.igc-lccp, section.igc-searchlanding) { padding-top: 0; border-top: 0; }
html.igc-light :is(section.igc-atlas, section.igc-srcpg) { background: transparent; }
html.igc-light :is(.igc-atlas__hero, .igc-srcpg__hero, .igc-lccp__hero, .igc-searchlanding__hero) { padding-top: 1rem; }

/* Search landing: per-page rules outrank the shared band rule, so restate with matching specificity. */
html.igc-light .igc-searchlanding .igc-searchlanding__hero {
  padding-left: max(1.5rem, calc((100vw - var(--igc-wrap, 1200px)) / 2 + 1.5rem));
  padding-right: max(1.5rem, calc((100vw - var(--igc-wrap, 1200px)) / 2 + 1.5rem));
  padding-top: 1rem; padding-bottom: 3rem;
}
html.igc-light .igc-searchlanding .igc-searchlanding__crumbs { position: relative; z-index: 2; }
html.igc-light .igc-searchlanding::before, html.igc-light .igc-searchlanding::after { display: none; }

html.igc-light .igc-searchlanding .igc-searchlanding__crumbs { opacity: 1; background: #050B1A; }

/* Theme flip safety. Chrome cannot interpolate a background between a solid
   colour and a gradient and can leave the old paint on screen until reload,
   so surfaces whose background differs in kind between themes never
   transition it. Hover lifts still animate (transform, border, shadow). */
html:not(.igc-theme-flipping) :is(.igc-ck-card, .igc-ck-tile, .igc-ck-ticker, .igc-ck-wire__scroller, .igc-ck-wire__track, .igc-mrc-card,
  .igc-atlas__card, .iges-card, .rp-stat, .rp-aside__cta, .dl-card, .igc-art-row, .igc-post-card, .igc-srcpg__group, .igc-srcpg__row,
  .tax-stat, .tc-card, .igo-kpi, .igc-lic__row, .igc-atc__stat, .igc-gl__stat, .gli-card, .ors-card) {
  transition-property: transform, border-color, box-shadow, color, opacity;
}
html.igc-theme-flipping, html.igc-theme-flipping *, html.igc-theme-flipping *::before, html.igc-theme-flipping *::after {
  transition: none !important; animation-play-state: paused !important;
}

/* Logo is always white on the navy header, overriding the light theme recolour. */
html.igc-light .igc-brand__logo, html.igc-light .igc-brand:hover .igc-brand__logo { filter: brightness(0) invert(1) !important; }

/* Homepage wire: always the dark-mode card style, whatever the theme. */
html.igc-light .igc-ck-hero .igc-ck-card {
  background: linear-gradient(180deg, #0A1426, rgba(15,30,60,0.6)) !important;
  border: 1px solid rgba(148,163,184,0.14) !important;
  border-top: 1px solid rgba(148,163,184,0.14) !important;
  box-shadow: none;
  color: #E2E8F0;
}
html.igc-light .igc-ck-hero .igc-ck-card:hover { border-color: rgba(148,163,184,0.3) !important; }
html.igc-light .igc-ck-hero .igc-ck-card__t { color: #F1F5F9; }
html.igc-light .igc-ck-hero .igc-ck-card__m { color: #94A3B8; }
html.igc-light .igc-ck-hero .igc-ck-card__arrow { color: #60A5FA; }
