/* ===== TrizMatrix — FR.com colour system ===== */
/* FR.com palette: navy #001C34 | teal #00A8B6 | dark-teal #007882 | white #ffffff */

/* ---------- Reset every background to white ---------- */
*,
*::before,
*::after {
  background-color: transparent;
}

html {
  scroll-behavior: smooth;
}

/* ---------- Cross-device layout safety net ----------
   Prevents horizontal scrollbars / off-center content on any screen size.
   Decorative absolutely-positioned elements (blurred orbs, -left-1/4 etc.)
   are common in this design and can bleed past the viewport edge on some
   widths — clip them at the document root instead of touching each one. */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
#root {
  overflow-x: clip;
  width: 100%;
}
img, video, svg, iframe {
  max-width: 100%;
  height: auto;
}

html, body {
  background: #ffffff !important;
  color: #001C34 !important;
  font-size: 100% !important;
}

/* ---------- Corporate typographic pairing ---------- */
/* Serif for headline gravitas (law-firm/MNC register), Inter for everything
   else. Loaded via the Source Serif 4 <link> in <head>. */
h1, h2 {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
  letter-spacing: -0.01em !important;
  font-weight: 600 !important;
}
h3, h4, h5, h6 {
  font-family: "Inter", system-ui, sans-serif !important;
  letter-spacing: -0.005em !important;
}

/* Focus states — visible, on-brand, accessible */
a:focus-visible, button:focus-visible, [class*="btn"]:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #00A8B6 !important;
  outline-offset: 2px !important;
}

/* Catch every dark utility class Tailwind generates */
.bg-black, .bg-zinc-900, .bg-zinc-950,
.bg-slate-900, .bg-slate-950, .bg-gray-900, .bg-gray-950,
.bg-neutral-900, .bg-neutral-950,
.bg-\[\#050508\],
.bg-\[\#04101e\], .bg-\[\#040c1a\],
.bg-\[--color-bg\], .bg-dark, .dark {
  background-color: #ffffff !important;
}

/* Home page rotating service showcase (dark cinematic hero band) — this
   one uses a Tailwind class (bg-[#020208]) rather than an inline style, so
   it was missed by the "known dark containers" relight rules below and
   ended up with white text on a background forced to white. Keep it dark
   and re-light its text instead of flattening it to white. */
.bg-\[\#020208\] {
  background-color: #020208 !important;
}
.bg-\[\#020208\] [class*="text-white/"] {
  color: rgba(255,255,255,0.65) !important;
}
.bg-\[\#020208\] [class*="text-white"],
.bg-\[\#020208\] h2,
.bg-\[\#020208\] p {
  color: #ffffff !important;
}
.bg-\[\#020208\] [class*="text-transparent"] {
  color: transparent !important;
}

/* Sections, header, footer, cards — all white */
section, article, aside, main,
header, footer, nav,
.card, .card-body,
[class*="bg-"] {
  background-color: #ffffff !important;
  color: #001C34 !important;
}

/* ---------- Typography — FR.com navy ---------- */
h1, h2, h3, h4, h5, h6 {
  color: #001C34 !important;
}

p, span, li, td, th, label, blockquote {
  color: #001C34 !important;
}

/* Fix white-on-white text */
.text-white, [class*="text-white"] {
  color: #001C34 !important;
}
.text-gray-300, .text-gray-400, .text-gray-500,
.text-slate-300, .text-slate-400, .text-slate-500,
[class*="text-slate-3"], [class*="text-slate-4"],
[class*="text-gray-3"], [class*="text-gray-4"] {
  color: #4a5568 !important;
}

/* ---------- Accent — FR.com teal ---------- */
a {
  color: #007882 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: #00A8B6 !important;
}
/* Underline-on-hover for inline text links (not nav/buttons) so links read
   as deliberate, editorial-style affordances rather than flat colour text. */
p a, li a, blockquote a {
  background-image: linear-gradient(#00A8B6, #00A8B6);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.25s ease, color 0.2s ease;
}
p a:hover, li a:hover, blockquote a:hover {
  background-size: 100% 1px;
}

/* Buttons */
button, .btn, [class*="btn-"] {
  background-color: #001C34 !important;
  color: #ffffff !important;
  border-color: #001C34 !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  transition: background-color 0.2s ease, border-color 0.2s ease,
    transform 0.15s ease, box-shadow 0.2s ease !important;
}
button:hover, .btn:hover {
  background-color: #007882 !important;
  border-color: #007882 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 28, 52, 0.18) !important;
}
button:active, .btn:active {
  transform: translateY(0);
}

/* Primary / outlined variants */
.btn-primary, [class*="btn-primary"] {
  background-color: #00A8B6 !important;
  color: #ffffff !important;
  border-color: #00A8B6 !important;
}
.btn-primary:hover, [class*="btn-primary"]:hover {
  background-color: #007882 !important;
  border-color: #007882 !important;
}
.btn-outline, .btn-outline-white, [class*="btn-outline"] {
  background-color: transparent !important;
  color: #001C34 !important;
  border: 2px solid #001C34 !important;
}
.btn-outline:hover, .btn-outline-white:hover {
  background-color: #001C34 !important;
  color: #ffffff !important;
}

/* Gradient-text accent word (e.g. hero "Conversation") — align to brand
   navy/teal instead of the generic blue that shipped in the template. */
.text-gradient-blue, [class*="text-gradient"] {
  background: linear-gradient(135deg, #001C34, #00A8B6) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ---------- Navigation ---------- */
nav, header {
  background-color: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 0 rgba(0, 28, 52, 0.03) !important;
}
nav a, header a {
  color: #001C34 !important;
}
nav a:hover, header a:hover {
  color: #00A8B6 !important;
}

/* ---------- Borders & dividers ---------- */
[class*="border-white"] {
  border-color: #e2e8f0 !important;
}
hr {
  border-color: #e2e8f0 !important;
}

/* ---------- Cards & panels ---------- */
/* Resting elevation gives structure/depth against the flat white background
   — reads as considered design rather than a plain reskin. */
.card, [class*="card-"],
[class*="panel-"], [class*="glass"],
[class*="border-opacity"] {
  background-color: #f7fafc !important;
  border-color: #e2e8f0 !important;
  color: #001C34 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 28, 52, 0.05), 0 1px 2px rgba(0, 28, 52, 0.04) !important;
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease !important;
}
.card:hover, [class*="card-hover"]:hover,
[class*="card-"]:hover, [class*="panel-"]:hover {
  border-color: #00A8B6 !important;
  box-shadow: 0 12px 28px rgba(0, 28, 52, 0.12) !important;
  transform: translateY(-2px);
}

/* ---------- Teal accent utilities ---------- */
[class*="text-teal"], [class*="text-cyan"],
[class*="text-blue-4"], [class*="text-blue-5"],
[class*="text-blue-6"] {
  color: #00A8B6 !important;
}
[class*="bg-teal"], [class*="bg-cyan"] {
  background-color: #00A8B6 !important;
  color: #ffffff !important;
}

/* ---------- Glows / blurs that used to be pink/dark ---------- */
[class*="glow"], [class*="blur"] {
  background: rgba(0,168,182,0.08) !important;
  border-color: rgba(0,168,182,0.2) !important;
}
.glow-green { box-shadow: 0 0 28px rgba(0,168,182,0.3) !important; }

/* ---------- Team/leadership photo box — missing width utility fix ----------
   The build's CSS purge dropped the .w-44 and .w-36 utility classes (only
   their .h-44/.h-36 height counterparts survived), even though the "Our
   People" and "Founders" pages apply them to the photo container via a
   template string ("w-44 h-44" / "w-36 h-36"). With no width rule, the
   photo box stretched to the full card width while height stayed fixed at
   176px/144px, stretching each portrait into a short, wide strip and
   cropping out everything but the forehead. Restore the missing widths. */
.w-44 { width: 11rem !important; }
.w-36 { width: 9rem !important; }

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #00A8B6; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #007882; }

/* ---------- Misc ---------- */
[class*="bg-white\/0"], [class*="bg-white\/1"] {
  background-color: #f7fafc !important;
}
[class*="border-white\/"] { border-color: #e2e8f0 !important; }
[class*="bg-blue-4"], [class*="bg-blue-5"], [class*="bg-blue-6"] {
  background-color: #00A8B6 !important;
  color: #ffffff !important;
}

/* ---------- Dark decorative sections (hero bands, disclaimer modal, IPR
   map, services cards, industries hero, assistant section) ----------
   These render with an inline dark background set directly in the React
   component (not a Tailwind bg-* class). The browser normalises those
   inline colours to rgb()/rgba() when read back, and the blanket "make
   all text navy/gray" rules above were leaving that text unreadable
   against a background that never got flipped to white. Re-light the
   text specifically inside these known dark containers instead of
   touching the background (the dark band is intentional design here).
   Marker list generated from every inline dark background used across
   the compiled bundles - see /assets/*.js "background:" values. */
[style*="rgb(10, 20, 40)"],
[style*="rgb(10, 24, 48)"],
[style*="rgb(11, 11, 15)"],
[style*="rgb(14, 31, 61)"],
[style*="rgb(15, 23, 42)"],
[style*="rgb(17, 17, 20)"],
[style*="rgb(3, 12, 26)"],
[style*="rgb(30, 41, 59)"],
[style*="rgb(4, 16, 30)"],
[style*="rgb(5, 12, 26)"],
[style*="rgb(5, 13, 28)"],
[style*="rgb(5, 15, 29)"],
[style*="rgb(6, 16, 30)"],
[style*="rgb(6, 22, 40)"],
[style*="rgb(6, 6, 20)"],
[style*="rgb(6, 6, 26)"],
[style*="rgb(8, 8, 32)"],
[style*="rgba(10, 10, 22"],
[style*="rgba(2, 2, 8"],
[style*="rgba(5, 14, 30"],
[style*="rgba(6, 6, 17"],
[style*="rgba(6, 6, 26"],
[style*="rgba(6, 6, 16"],
[style*="rgba(10, 10, 20"] {
  color: #f1f5f9 !important;
}

/* The blanket [class*="bg-"] rule above also catches interactive utility
   classes that merely CONTAIN "bg-" as a substring (e.g. "hover:bg-white/06",
   "group-hover:bg-slate-800"), forcing a permanent solid white background on
   list rows / cards that sit inside these dark panels (nav dropdowns like
   "IPR Practice Areas", and similar dark-background lists reused on the
   About and Services pages). Combined with the light-text rule above, that
   left near-invisible light text on a now-white background. Neutralise the
   forced white background for those utility classes at rest, inside these
   known dark containers only, so hover states still work normally. */
[style*="rgb(10, 20, 40)"] [class*="bg-"],
[style*="rgb(10, 24, 48)"] [class*="bg-"],
[style*="rgb(11, 11, 15)"] [class*="bg-"],
[style*="rgb(14, 31, 61)"] [class*="bg-"],
[style*="rgb(15, 23, 42)"] [class*="bg-"],
[style*="rgb(17, 17, 20)"] [class*="bg-"],
[style*="rgb(3, 12, 26)"] [class*="bg-"],
[style*="rgb(30, 41, 59)"] [class*="bg-"],
[style*="rgb(4, 16, 30)"] [class*="bg-"],
[style*="rgb(5, 12, 26)"] [class*="bg-"],
[style*="rgb(5, 13, 28)"] [class*="bg-"],
[style*="rgb(5, 15, 29)"] [class*="bg-"],
[style*="rgb(6, 16, 30)"] [class*="bg-"],
[style*="rgb(6, 22, 40)"] [class*="bg-"],
[style*="rgb(6, 6, 20)"] [class*="bg-"],
[style*="rgb(6, 6, 26)"] [class*="bg-"],
[style*="rgb(8, 8, 32)"] [class*="bg-"],
[style*="rgba(10, 10, 22"] [class*="bg-"],
[style*="rgba(2, 2, 8"] [class*="bg-"],
[style*="rgba(5, 14, 30"] [class*="bg-"],
[style*="rgba(6, 6, 17"] [class*="bg-"],
[style*="rgba(6, 6, 26"] [class*="bg-"],
[style*="rgba(6, 6, 16"] [class*="bg-"],
[style*="rgba(10, 10, 20"] [class*="bg-"] {
  background-color: transparent !important;
}

/* Restore a real (subtle, non-white) hover highlight for these list rows,
   so hovering still gives visual feedback instead of doing nothing. */
[style*="rgb(10, 20, 40)"] [class*="bg-"]:hover,
[style*="rgb(10, 24, 48)"] [class*="bg-"]:hover,
[style*="rgb(11, 11, 15)"] [class*="bg-"]:hover,
[style*="rgb(14, 31, 61)"] [class*="bg-"]:hover,
[style*="rgb(15, 23, 42)"] [class*="bg-"]:hover,
[style*="rgb(17, 17, 20)"] [class*="bg-"]:hover,
[style*="rgb(3, 12, 26)"] [class*="bg-"]:hover,
[style*="rgb(30, 41, 59)"] [class*="bg-"]:hover,
[style*="rgb(4, 16, 30)"] [class*="bg-"]:hover,
[style*="rgb(5, 12, 26)"] [class*="bg-"]:hover,
[style*="rgb(5, 13, 28)"] [class*="bg-"]:hover,
[style*="rgb(5, 15, 29)"] [class*="bg-"]:hover,
[style*="rgb(6, 16, 30)"] [class*="bg-"]:hover,
[style*="rgb(6, 22, 40)"] [class*="bg-"]:hover,
[style*="rgb(6, 6, 20)"] [class*="bg-"]:hover,
[style*="rgb(6, 6, 26)"] [class*="bg-"]:hover,
[style*="rgb(8, 8, 32)"] [class*="bg-"]:hover,
[style*="rgba(10, 10, 22"] [class*="bg-"]:hover,
[style*="rgba(2, 2, 8"] [class*="bg-"]:hover,
[style*="rgba(5, 14, 30"] [class*="bg-"]:hover,
[style*="rgba(6, 6, 17"] [class*="bg-"]:hover,
[style*="rgba(6, 6, 26"] [class*="bg-"]:hover,
[style*="rgba(6, 6, 16"] [class*="bg-"]:hover,
[style*="rgba(10, 10, 20"] [class*="bg-"]:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
}

[style*="rgb(10, 20, 40)"] [class*="text-white"],
[style*="rgb(10, 24, 48)"] [class*="text-white"],
[style*="rgb(11, 11, 15)"] [class*="text-white"],
[style*="rgb(14, 31, 61)"] [class*="text-white"],
[style*="rgb(15, 23, 42)"] [class*="text-white"],
[style*="rgb(17, 17, 20)"] [class*="text-white"],
[style*="rgb(3, 12, 26)"] [class*="text-white"],
[style*="rgb(30, 41, 59)"] [class*="text-white"],
[style*="rgb(4, 16, 30)"] [class*="text-white"],
[style*="rgb(5, 12, 26)"] [class*="text-white"],
[style*="rgb(5, 13, 28)"] [class*="text-white"],
[style*="rgb(5, 15, 29)"] [class*="text-white"],
[style*="rgb(6, 16, 30)"] [class*="text-white"],
[style*="rgb(6, 22, 40)"] [class*="text-white"],
[style*="rgb(6, 6, 20)"] [class*="text-white"],
[style*="rgb(6, 6, 26)"] [class*="text-white"],
[style*="rgb(8, 8, 32)"] [class*="text-white"],
[style*="rgba(10, 10, 22"] [class*="text-white"],
[style*="rgba(2, 2, 8"] [class*="text-white"],
[style*="rgba(5, 14, 30"] [class*="text-white"],
[style*="rgba(6, 6, 17"] [class*="text-white"],
[style*="rgba(6, 6, 26"] [class*="text-white"],
[style*="rgba(6, 6, 16"] [class*="text-white"],
[style*="rgba(10, 10, 20"] [class*="text-white"] {
  color: #ffffff !important;
}

[style*="rgb(10, 20, 40)"] [class*="text-white/"],
[style*="rgb(10, 24, 48)"] [class*="text-white/"],
[style*="rgb(11, 11, 15)"] [class*="text-white/"],
[style*="rgb(14, 31, 61)"] [class*="text-white/"],
[style*="rgb(15, 23, 42)"] [class*="text-white/"],
[style*="rgb(17, 17, 20)"] [class*="text-white/"],
[style*="rgb(3, 12, 26)"] [class*="text-white/"],
[style*="rgb(30, 41, 59)"] [class*="text-white/"],
[style*="rgb(4, 16, 30)"] [class*="text-white/"],
[style*="rgb(5, 12, 26)"] [class*="text-white/"],
[style*="rgb(5, 13, 28)"] [class*="text-white/"],
[style*="rgb(5, 15, 29)"] [class*="text-white/"],
[style*="rgb(6, 16, 30)"] [class*="text-white/"],
[style*="rgb(6, 22, 40)"] [class*="text-white/"],
[style*="rgb(6, 6, 20)"] [class*="text-white/"],
[style*="rgb(6, 6, 26)"] [class*="text-white/"],
[style*="rgb(8, 8, 32)"] [class*="text-white/"],
[style*="rgba(10, 10, 22"] [class*="text-white/"],
[style*="rgba(2, 2, 8"] [class*="text-white/"],
[style*="rgba(5, 14, 30"] [class*="text-white/"],
[style*="rgba(6, 6, 17"] [class*="text-white/"],
[style*="rgba(6, 6, 26"] [class*="text-white/"],
[style*="rgba(6, 6, 16"] [class*="text-white/"],
[style*="rgba(10, 10, 20"] [class*="text-white/"] {
  color: rgba(255,255,255,0.8) !important;
}

[style*="rgb(10, 20, 40)"] [class*="text-gray-3"],
[style*="rgb(10, 20, 40)"] [class*="text-gray-4"],
[style*="rgb(10, 20, 40)"] [class*="text-gray-5"],
[style*="rgb(10, 20, 40)"] [class*="text-gray-6"],
[style*="rgb(10, 20, 40)"] [class*="text-slate-3"],
[style*="rgb(10, 20, 40)"] [class*="text-slate-4"],
[style*="rgb(10, 20, 40)"] [class*="text-slate-5"],
[style*="rgb(10, 24, 48)"] [class*="text-gray-3"],
[style*="rgb(10, 24, 48)"] [class*="text-gray-4"],
[style*="rgb(10, 24, 48)"] [class*="text-gray-5"],
[style*="rgb(10, 24, 48)"] [class*="text-gray-6"],
[style*="rgb(10, 24, 48)"] [class*="text-slate-3"],
[style*="rgb(10, 24, 48)"] [class*="text-slate-4"],
[style*="rgb(10, 24, 48)"] [class*="text-slate-5"],
[style*="rgb(11, 11, 15)"] [class*="text-gray-3"],
[style*="rgb(11, 11, 15)"] [class*="text-gray-4"],
[style*="rgb(11, 11, 15)"] [class*="text-gray-5"],
[style*="rgb(11, 11, 15)"] [class*="text-gray-6"],
[style*="rgb(11, 11, 15)"] [class*="text-slate-3"],
[style*="rgb(11, 11, 15)"] [class*="text-slate-4"],
[style*="rgb(11, 11, 15)"] [class*="text-slate-5"],
[style*="rgb(14, 31, 61)"] [class*="text-gray-3"],
[style*="rgb(14, 31, 61)"] [class*="text-gray-4"],
[style*="rgb(14, 31, 61)"] [class*="text-gray-5"],
[style*="rgb(14, 31, 61)"] [class*="text-gray-6"],
[style*="rgb(14, 31, 61)"] [class*="text-slate-3"],
[style*="rgb(14, 31, 61)"] [class*="text-slate-4"],
[style*="rgb(14, 31, 61)"] [class*="text-slate-5"],
[style*="rgb(15, 23, 42)"] [class*="text-gray-3"],
[style*="rgb(15, 23, 42)"] [class*="text-gray-4"],
[style*="rgb(15, 23, 42)"] [class*="text-gray-5"],
[style*="rgb(15, 23, 42)"] [class*="text-gray-6"],
[style*="rgb(15, 23, 42)"] [class*="text-slate-3"],
[style*="rgb(15, 23, 42)"] [class*="text-slate-4"],
[style*="rgb(15, 23, 42)"] [class*="text-slate-5"],
[style*="rgb(17, 17, 20)"] [class*="text-gray-3"],
[style*="rgb(17, 17, 20)"] [class*="text-gray-4"],
[style*="rgb(17, 17, 20)"] [class*="text-gray-5"],
[style*="rgb(17, 17, 20)"] [class*="text-gray-6"],
[style*="rgb(17, 17, 20)"] [class*="text-slate-3"],
[style*="rgb(17, 17, 20)"] [class*="text-slate-4"],
[style*="rgb(17, 17, 20)"] [class*="text-slate-5"],
[style*="rgb(3, 12, 26)"] [class*="text-gray-3"],
[style*="rgb(3, 12, 26)"] [class*="text-gray-4"],
[style*="rgb(3, 12, 26)"] [class*="text-gray-5"],
[style*="rgb(3, 12, 26)"] [class*="text-gray-6"],
[style*="rgb(3, 12, 26)"] [class*="text-slate-3"],
[style*="rgb(3, 12, 26)"] [class*="text-slate-4"],
[style*="rgb(3, 12, 26)"] [class*="text-slate-5"],
[style*="rgb(30, 41, 59)"] [class*="text-gray-3"],
[style*="rgb(30, 41, 59)"] [class*="text-gray-4"],
[style*="rgb(30, 41, 59)"] [class*="text-gray-5"],
[style*="rgb(30, 41, 59)"] [class*="text-gray-6"],
[style*="rgb(30, 41, 59)"] [class*="text-slate-3"],
[style*="rgb(30, 41, 59)"] [class*="text-slate-4"],
[style*="rgb(30, 41, 59)"] [class*="text-slate-5"],
[style*="rgb(4, 16, 30)"] [class*="text-gray-3"],
[style*="rgb(4, 16, 30)"] [class*="text-gray-4"],
[style*="rgb(4, 16, 30)"] [class*="text-gray-5"],
[style*="rgb(4, 16, 30)"] [class*="text-gray-6"],
[style*="rgb(4, 16, 30)"] [class*="text-slate-3"],
[style*="rgb(4, 16, 30)"] [class*="text-slate-4"],
[style*="rgb(4, 16, 30)"] [class*="text-slate-5"],
[style*="rgb(5, 12, 26)"] [class*="text-gray-3"],
[style*="rgb(5, 12, 26)"] [class*="text-gray-4"],
[style*="rgb(5, 12, 26)"] [class*="text-gray-5"],
[style*="rgb(5, 12, 26)"] [class*="text-gray-6"],
[style*="rgb(5, 12, 26)"] [class*="text-slate-3"],
[style*="rgb(5, 12, 26)"] [class*="text-slate-4"],
[style*="rgb(5, 12, 26)"] [class*="text-slate-5"],
[style*="rgb(5, 13, 28)"] [class*="text-gray-3"],
[style*="rgb(5, 13, 28)"] [class*="text-gray-4"],
[style*="rgb(5, 13, 28)"] [class*="text-gray-5"],
[style*="rgb(5, 13, 28)"] [class*="text-gray-6"],
[style*="rgb(5, 13, 28)"] [class*="text-slate-3"],
[style*="rgb(5, 13, 28)"] [class*="text-slate-4"],
[style*="rgb(5, 13, 28)"] [class*="text-slate-5"],
[style*="rgb(5, 15, 29)"] [class*="text-gray-3"],
[style*="rgb(5, 15, 29)"] [class*="text-gray-4"],
[style*="rgb(5, 15, 29)"] [class*="text-gray-5"],
[style*="rgb(5, 15, 29)"] [class*="text-gray-6"],
[style*="rgb(5, 15, 29)"] [class*="text-slate-3"],
[style*="rgb(5, 15, 29)"] [class*="text-slate-4"],
[style*="rgb(5, 15, 29)"] [class*="text-slate-5"],
[style*="rgb(6, 16, 30)"] [class*="text-gray-3"],
[style*="rgb(6, 16, 30)"] [class*="text-gray-4"],
[style*="rgb(6, 16, 30)"] [class*="text-gray-5"],
[style*="rgb(6, 16, 30)"] [class*="text-gray-6"],
[style*="rgb(6, 16, 30)"] [class*="text-slate-3"],
[style*="rgb(6, 16, 30)"] [class*="text-slate-4"],
[style*="rgb(6, 16, 30)"] [class*="text-slate-5"],
[style*="rgb(6, 22, 40)"] [class*="text-gray-3"],
[style*="rgb(6, 22, 40)"] [class*="text-gray-4"],
[style*="rgb(6, 22, 40)"] [class*="text-gray-5"],
[style*="rgb(6, 22, 40)"] [class*="text-gray-6"],
[style*="rgb(6, 22, 40)"] [class*="text-slate-3"],
[style*="rgb(6, 22, 40)"] [class*="text-slate-4"],
[style*="rgb(6, 22, 40)"] [class*="text-slate-5"],
[style*="rgb(6, 6, 20)"] [class*="text-gray-3"],
[style*="rgb(6, 6, 20)"] [class*="text-gray-4"],
[style*="rgb(6, 6, 20)"] [class*="text-gray-5"],
[style*="rgb(6, 6, 20)"] [class*="text-gray-6"],
[style*="rgb(6, 6, 20)"] [class*="text-slate-3"],
[style*="rgb(6, 6, 20)"] [class*="text-slate-4"],
[style*="rgb(6, 6, 20)"] [class*="text-slate-5"],
[style*="rgb(6, 6, 26)"] [class*="text-gray-3"],
[style*="rgb(6, 6, 26)"] [class*="text-gray-4"],
[style*="rgb(6, 6, 26)"] [class*="text-gray-5"],
[style*="rgb(6, 6, 26)"] [class*="text-gray-6"],
[style*="rgb(6, 6, 26)"] [class*="text-slate-3"],
[style*="rgb(6, 6, 26)"] [class*="text-slate-4"],
[style*="rgb(6, 6, 26)"] [class*="text-slate-5"],
[style*="rgb(8, 8, 32)"] [class*="text-gray-3"],
[style*="rgb(8, 8, 32)"] [class*="text-gray-4"],
[style*="rgb(8, 8, 32)"] [class*="text-gray-5"],
[style*="rgb(8, 8, 32)"] [class*="text-gray-6"],
[style*="rgb(8, 8, 32)"] [class*="text-slate-3"],
[style*="rgb(8, 8, 32)"] [class*="text-slate-4"],
[style*="rgb(8, 8, 32)"] [class*="text-slate-5"],
[style*="rgba(10, 10, 22"] [class*="text-gray-3"],
[style*="rgba(10, 10, 22"] [class*="text-gray-4"],
[style*="rgba(10, 10, 22"] [class*="text-gray-5"],
[style*="rgba(10, 10, 22"] [class*="text-gray-6"],
[style*="rgba(10, 10, 22"] [class*="text-slate-3"],
[style*="rgba(10, 10, 22"] [class*="text-slate-4"],
[style*="rgba(10, 10, 22"] [class*="text-slate-5"],
[style*="rgba(2, 2, 8"] [class*="text-gray-3"],
[style*="rgba(2, 2, 8"] [class*="text-gray-4"],
[style*="rgba(2, 2, 8"] [class*="text-gray-5"],
[style*="rgba(2, 2, 8"] [class*="text-gray-6"],
[style*="rgba(2, 2, 8"] [class*="text-slate-3"],
[style*="rgba(2, 2, 8"] [class*="text-slate-4"],
[style*="rgba(2, 2, 8"] [class*="text-slate-5"],
[style*="rgba(5, 14, 30"] [class*="text-gray-3"],
[style*="rgba(5, 14, 30"] [class*="text-gray-4"],
[style*="rgba(5, 14, 30"] [class*="text-gray-5"],
[style*="rgba(5, 14, 30"] [class*="text-gray-6"],
[style*="rgba(5, 14, 30"] [class*="text-slate-3"],
[style*="rgba(5, 14, 30"] [class*="text-slate-4"],
[style*="rgba(5, 14, 30"] [class*="text-slate-5"],
[style*="rgba(6, 6, 17"] [class*="text-gray-3"],
[style*="rgba(6, 6, 17"] [class*="text-gray-4"],
[style*="rgba(6, 6, 17"] [class*="text-gray-5"],
[style*="rgba(6, 6, 17"] [class*="text-gray-6"],
[style*="rgba(6, 6, 17"] [class*="text-slate-3"],
[style*="rgba(6, 6, 17"] [class*="text-slate-4"],
[style*="rgba(6, 6, 17"] [class*="text-slate-5"],
[style*="rgba(6, 6, 26"] [class*="text-gray-3"],
[style*="rgba(6, 6, 16"] [class*="text-gray-3"],
[style*="rgba(6, 6, 26"] [class*="text-gray-4"],
[style*="rgba(6, 6, 16"] [class*="text-gray-4"],
[style*="rgba(6, 6, 26"] [class*="text-gray-5"],
[style*="rgba(6, 6, 16"] [class*="text-gray-5"],
[style*="rgba(6, 6, 26"] [class*="text-gray-6"],
[style*="rgba(6, 6, 16"] [class*="text-gray-6"],
[style*="rgba(6, 6, 26"] [class*="text-slate-3"],
[style*="rgba(6, 6, 16"] [class*="text-slate-3"],
[style*="rgba(6, 6, 26"] [class*="text-slate-4"],
[style*="rgba(6, 6, 16"] [class*="text-slate-4"],
[style*="rgba(6, 6, 26"] [class*="text-slate-5"],
[style*="rgba(6, 6, 16"] [class*="text-slate-5"],
[style*="rgba(10, 10, 20"] [class*="text-gray-3"],
[style*="rgba(10, 10, 20"] [class*="text-gray-4"],
[style*="rgba(10, 10, 20"] [class*="text-gray-5"],
[style*="rgba(10, 10, 20"] [class*="text-gray-6"],
[style*="rgba(10, 10, 20"] [class*="text-slate-3"],
[style*="rgba(10, 10, 20"] [class*="text-slate-4"],
[style*="rgba(10, 10, 20"] [class*="text-slate-5"] {
  color: #cbd5e1 !important;
}

/* ---------- Stray pink accents (any leftover Tailwind utility classes,
   the compiled hex accents were already swapped in the JS bundles) —
   keep everything on the navy/teal brand palette. ---------- */
[class*="text-pink-"] {
  color: #0e7490 !important;
}
[class*="bg-pink-"] {
  background-color: #0e7490 !important;
  color: #ffffff !important;
}
[class*="border-pink-"] {
  border-color: #0e7490 !important;
}

/* ---------- Insights page "Featured Topics" sidebar ----------
   These are plain list-style toggle buttons (button.text-left), not
   calls-to-action, but the generic `button{...}` rule above turns every
   <button> in the app into a solid navy pill. That flattened this list
   into a stack of dark boxes with barely-visible text. Give this specific
   list-button pattern back a plain, transparent, left-aligned row style
   (higher specificity than the bare `button` selector, so it wins). */
button.text-left {
  background-color: transparent !important;
  color: inherit !important;
  border-radius: 0 !important;
  padding: 0.75rem 0 !important;
  font-weight: inherit !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  border-color: inherit !important;
}
button.text-left:hover {
  background-color: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ---------- Home "Global Reach / Our Presence" band ----------
   Full-bleed video section with its own inline dark background
   (#020610 → serialises to rgb(2, 6, 16)) that wasn't in the dark-marker
   catalogue above, so its heading/paragraph text was getting the default
   navy text color forced onto it — nearly invisible against the dark
   video band. Relight the text inside this specific section. */
[style*="rgb(2, 6, 16)"] [class*="text-white"] {
  color: #ffffff !important;
}
[style*="rgb(2, 6, 16)"] [class*="text-white/"] {
  color: rgba(255, 255, 255, 0.75) !important;
}
[style*="rgb(2, 6, 16)"] [class*="text-blue-4"] {
  color: #4fd1c5 !important;
}
/* ---------- Main navbar (top: Home / About / Services / Industries /
   Insights / Careers / Contact) ----------
   The nav renders with its own inline dark background (rgba(6,6,16,0.97))
   so the links read as white-on-dark by design. It wasn't in the dark-
   marker catalogue above, so the blanket "nav, header { background-color:
   #ffffff }" rule further up turned the bar itself white while the
   dark-container rules still re-lit its links to white text — leaving
   white text on a white bar. Restore this nav's own dark background so it
   matches the text color it was designed for. */
nav[style*="rgba(6, 6, 16"] {
  background-color: rgba(6, 6, 16, 0.97) !important;
}

/* ---------- Home "IPR Knowledge Map" interactive tree section ----------
   This section has its own inline dark navy gradient background
   (linear-gradient(160deg, #0a1830 ...)) which — unlike solid inline
   colors — never gets normalised into an "rgb(...)" string the existing
   dark-marker selectors above can match, so its heading/caption text
   was left on the default forced navy color and became unreadable
   against the (still-dark) gradient behind it. Re-light that text. */
[style*="160deg, #0a1830"] h2,
[style*="160deg, #0a1830"] [class*="text-white"] {
  color: #ffffff !important;
}
[style*="160deg, #0a1830"] p,
[style*="160deg, #0a1830"] [class*="text-gray-3"],
[style*="160deg, #0a1830"] [class*="text-gray-4"] {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* ---------- Home hero background video ----------
   Guards the injected hero video (see index.html) against the general
   "img, video, svg, iframe { max-width:100%; height:auto }" responsive
   reset above, which was letting the video collapse to its intrinsic
   aspect ratio instead of filling the hero band — the visible symptom
   being the video looking cropped in half. Force it to always fill its
   section edge-to-edge and crop evenly instead. */
video.kks-hero-bg-video {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 0 !important;
}

/* ---------- Main navbar links — permanent box bug fix ----------
   Each top-level nav link (Home / About / Services / Industries / Our
   People / Insights / Careers / Contact) carries a conditional Tailwind
   class like "hover:bg-white/05" (inactive) or "bg-blue-500/10" (current
   page). The blanket [class*="bg-"] rule earlier in this file matches on
   the raw class-attribute text regardless of the "hover:" prefix, so it
   was painting a solid background box behind every link permanently
   instead of only on hover. Reset just the "hover:bg-white" links back to
   transparent at rest, and give them a real hover highlight — current-page
   links (which don't carry that hover class) are left untouched. */
nav .hidden.lg\:flex > a[class*="hover:bg-white"],
nav .hidden.lg\:flex > div > button[class*="hover:bg-white"] {
  background-color: transparent !important;
}
nav .hidden.lg\:flex > a[class*="hover:bg-white"]:hover,
nav .hidden.lg\:flex > div > button[class*="hover:bg-white"]:hover {
  background-color: rgba(0, 28, 52, 0.06) !important;
}
