﻿/* ============================================================
   DataInx Ventures — Design System v2
   Precision Data/Tech VC — Clean White + Electric Blue
   White #FFFFFF sections, Navy #050f1a hero, Blue #0066ff accent
   ============================================================ */

/* ============================================================
   SUB-PAGE COLOR CORRECTION
   Fix white text on white/light backgrounds in inline-styled pages.
   CSS attribute selectors override inline style values.
   ============================================================ */

/* Light sections (#f5f8fc bg): force dark headings */
section[style*="background:#f5f8fc"] h1,
section[style*="background:#f5f8fc"] h2,
section[style*="background:#f5f8fc"] h3,
section[style*="background:#f5f8fc"] h4 {
  color: var(--text-dark) !important;
}
section[style*="background:#f5f8fc"] p {
  color: var(--text-body) !important;
}

/* White card divs: force dark headings and readable text */
div[style*="background:#ffffff"] h2,
div[style*="background:#ffffff"] h3,
div[style*="background:#ffffff"] h4 {
  color: var(--text-dark) !important;
}
/* Fund-facts style data values inside white cards */
div[style*="background:#ffffff"] > div > div[style*="color:#ffffff"],
div[style*="background:#ffffff"] div[style*="font-weight:700"][style*="color:#ffffff"] {
  color: var(--text-dark) !important;
}

/* Dark sections (#050f1a): force white headings at top level */
section[style*="background:#050f1a"] > div > div > h2,
section[style*="background:#050f1a"] > div > h2,
section[style*="background:#050f1a"] > div > div > div > h2 {
  color: #ffffff !important;
}
/* Values list headings directly in dark sections */
section[style*="background:#050f1a"] > div > div > div > h4 {
  color: #ffffff !important;
}

/* White contact form labels */
.contact-section label,
.form-group label {
  color: var(--text-dark) !important;
}


:root {
  --navy:        #050f1a;
  --navy-mid:    #0a1f38;
  --blue:        #0066ff;
  --blue-light:  #3385ff;
  --blue-pale:   rgba(0, 102, 255, 0.07);
  --blue-border: rgba(0, 102, 255, 0.12);
  --blue-border-mid: rgba(0, 102, 255, 0.22);
  --white:       #ffffff;
  --off-white:   #f5f8fc;
  --text-dark:   #0d1b2a;
  --text-body:   #374a5e;
  --text-muted:  #6b859e;
}

/* === RESET / GLOBAL === */
*, *::before, *::after { box-sizing: border-box; }

body {
  background-color: var(--white);
  color: var(--text-body);
  font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
  margin: 0; padding: 0;
}

/* === CONTAINER === */
.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 2.5em;
}

/* === TYPOGRAPHY === */
h1, h2, h3, h4 {
  font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
  color: var(--text-dark);
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 0.5em;
}
p { color: var(--text-body); line-height: 1.8; margin: 0 0 1em; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-light); }

/* === NAV (fixed, #050f1a, logo first) === */
nav#nav,
#nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 2.5em !important;
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  height: 4em !important;
  z-index: 99999 !important;
  background-color: var(--navy) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  box-sizing: border-box !important;
}
#nav #logo,
nav#nav div#logo,
nav#nav #logo {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  order: 1 !important;
  margin: 0 !important; padding: 0 !important;
  width: auto !important;
  position: static !important;
  text-align: left !important;
}
#nav #logo img,
nav#nav div#logo img,
nav#nav #logo img {
  height: 34px !important;
  width: auto !important;
  display: block !important;
}
#nav #logo h1 { display: none !important; }
#nav #logo p  { display: none !important; }

nav#nav > ul,
#nav > ul {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  order: 2 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
nav#nav > ul > li,
#nav > ul > li {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  float: none !important;
}
nav#nav > ul > li > a,
nav#nav > ul > li > span,
#nav > ul > li > a,
#nav > ul > li > span {
  display: flex !important;
  align-items: center !important;
  height: 4em !important;
  padding: 0 0.95em !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 0.7em !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transition: color 0.2s !important;
  background: transparent !important;
}
nav#nav > ul > li > a:hover,
nav#nav > ul > li.current > a,
#nav > ul > li > a:hover,
#nav > ul > li.current > a {
  color: var(--blue-light) !important;
  background: transparent !important;
}
/* Contact button in nav */
nav#nav > ul > li:last-child > a,
#nav > ul > li:last-child > a {
  background: var(--blue) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 0.5em 1.2em !important;
  height: auto !important;
  margin-left: 0.8em !important;
  letter-spacing: 0.12em !important;
  font-size: 0.68em !important;
}
nav#nav > ul > li:last-child > a:hover,
#nav > ul > li:last-child > a:hover {
  background: var(--blue-light) !important;
  color: #ffffff !important;
}
@media screen and (max-width: 980px) {
  nav#nav > ul,
  #nav > ul { display: none !important; }
}

/* === PAGE WRAPPER === */
#page-wrapper {
  padding-top: 4em !important;
  background: var(--white);
}

/* === OVERLINE / LABEL === */
.overline {
  display: block;
  font-size: 0.68em;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 0.8em;
}

/* === BUTTONS === */
.btn-primary {
  display: inline-block;
  background: var(--blue);
  color: #ffffff !important;
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 0.76em;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 1em 2.6em;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover {
  background: var(--blue-light);
  color: #ffffff !important;
  transform: translateY(-1px);
}
.btn-outline {
  display: inline-block;
  background: transparent;
  color: var(--blue) !important;
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 0.76em;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 0.92em 2.4em;
  border: 2px solid var(--blue);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.btn-outline:hover {
  background: var(--blue);
  color: #ffffff !important;
}
.btn-outline-white {
  display: inline-block;
  background: transparent;
  color: #ffffff !important;
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 0.76em;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 0.92em 2.4em;
  border: 2px solid rgba(255, 255, 255, 0.5);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s;
}
.btn-outline-white:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff !important;
}
/* Old .button class compatibility */
.button, a.button {
  display: inline-block !important;
  background: var(--blue) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0.9em 2.25em !important;
  font-weight: 700 !important;
  font-size: 0.88em !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-decoration: none;
  line-height: 1;
  transition: background 0.2s !important;
}
.button:hover, a.button:hover {
  background: var(--blue-light) !important;
  color: #ffffff !important;
}

/* ============================================================
   HOMEPAGE SECTIONS
   ============================================================ */

/* === HERO (dark navy, hex grid pattern) === */
.hero-section {
  background-color: var(--navy);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66ZM28 100L0 84L0 68L28 52L56 68L56 84L28 100Z' fill='none' stroke='rgba(0%2C102%2C255%2C0.07)' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 56px 100px;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8em 2em 5em;
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 50% 40%, rgba(0, 102, 255, 0.09) 0%, transparent 65%);
  pointer-events: none;
}
.hero-inner {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}
.hero-eyebrow {
  display: inline-block;
  font-size: 0.68em;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--blue-light);
  margin-bottom: 1.5em;
}
.hero-section h1 {
  font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
  font-size: 3.6em;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 0.55em;
  letter-spacing: -1px;
}
.hero-section p.lead {
  font-size: 1.05em;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.85;
  max-width: 560px;
  margin: 0 auto 2.5em;
  font-weight: 400;
}
.hero-cta {
  display: flex;
  gap: 1em;
  justify-content: center;
  flex-wrap: wrap;
}

/* === NUMBERS SECTION (white bg, 4 metrics) === */
.numbers-section {
  background: var(--white);
  padding: 5em 0;
  border-bottom: 1px solid rgba(0, 102, 255, 0.07);
}
.numbers-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.metric-item {
  text-align: center;
  padding: 2em 1.5em;
  border-right: 1px solid rgba(0, 102, 255, 0.08);
}
.metric-item:last-child { border-right: none; }
.metric-item .big-number {
  display: block;
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 3em;
  font-weight: 900;
  color: var(--blue);
  line-height: 1;
  margin-bottom: 0.25em;
  letter-spacing: -1px;
}
.metric-item .metric-label {
  display: block;
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* === SECTORS SECTION (white bg, 4 cards) === */
.sectors-section {
  background: var(--off-white);
  padding: 5.5em 0;
}
.section-head {
  margin-bottom: 3em;
}
.section-head h2 {
  font-size: 2em;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0 0 0.2em;
}
.section-head.centered { text-align: center; }
.sectors-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5em;
  margin-top: 0;
}
.sector-card {
  background: var(--white);
  border: 1px solid var(--blue-border);
  border-top: 3px solid var(--blue);
  padding: 2em 1.75em;
  box-shadow: 0 2px 12px rgba(0, 102, 255, 0.04);
  transition: transform 0.2s, box-shadow 0.2s;
}
.sector-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 102, 255, 0.09);
}
.sector-card .icon {
  font-size: 1.6em;
  color: var(--blue);
  margin-bottom: 0.85em;
  display: block;
}
.sector-card h4 {
  font-size: 1em;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.6em;
}
.sector-card p {
  font-size: 0.87em;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
}

/* === PORTFOLIO SECTION (white bg, 3-column) === */
.portfolio-section {
  background: var(--white);
  padding: 5.5em 0;
}
.portfolio-grid-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
  margin-top: 2.5em;
}
.co-card {
  background: var(--white);
  border: 1px solid var(--blue-border);
  border-top: 3px solid var(--blue);
  padding: 1.75em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s, box-shadow 0.2s;
}
.co-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 102, 255, 0.08);
}
.co-card .sector-tag {
  display: inline-block;
  background: var(--blue-pale);
  color: var(--blue);
  border: 1px solid var(--blue-border-mid);
  padding: 0.2em 0.65em;
  font-size: 0.67em;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 0.75em;
}
.co-card h3 {
  font-size: 1.1em;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.4em;
}
.co-card p {
  font-size: 0.87em;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 0.75em;
}
.co-card .stage {
  font-size: 0.75em;
  color: var(--text-muted);
  border-top: 1px solid rgba(0, 102, 255, 0.07);
  padding-top: 0.75em;
  margin: 0;
}

/* === BLOG SECTION (off-white bg, 3 cards) === */
.blog-section {
  background: var(--off-white);
  padding: 5.5em 0;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75em;
  margin-top: 2.5em;
}
.blog-card {
  background: var(--white);
  border: 1px solid rgba(0, 102, 255, 0.07);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s, box-shadow 0.2s;
}
.blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 102, 255, 0.08);
}
.blog-card img {
  width: 100%; height: 180px;
  object-fit: cover; display: block;
}
.blog-card .card-body { padding: 1.5em; }
.blog-card .category-tag {
  display: inline-block;
  background: var(--blue-pale);
  color: var(--blue);
  border: 1px solid rgba(0, 102, 255, 0.18);
  padding: 0.2em 0.6em;
  font-size: 0.67em;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 0.7em;
}
.blog-card h3 {
  font-size: 1em;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.45;
  margin-bottom: 0.5em;
}
.blog-card h3 a {
  color: var(--text-dark);
  text-decoration: none;
  transition: color 0.2s;
}
.blog-card h3 a:hover { color: var(--blue); }
.blog-card .meta {
  font-size: 0.76em;
  color: var(--text-muted);
  margin-bottom: 0.6em;
}
.blog-card p {
  font-size: 0.86em;
  color: var(--text-body);
  line-height: 1.6;
  margin-bottom: 1em;
}
.blog-card .read-more {
  color: var(--blue);
  font-size: 0.8em;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.blog-card .read-more:hover { color: var(--blue-light); }

/* === CTA SECTION (navy bg) === */
.cta-section {
  background: var(--navy);
  padding: 5em 2em;
  text-align: center;
}
.cta-section .overline { color: var(--blue-light); }
.cta-section h2 {
  font-size: 2.2em;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.55em;
}
.cta-section p {
  color: rgba(255, 255, 255, 0.65);
  max-width: 520px;
  margin: 0 auto 2.5em;
  font-size: 0.97em;
  line-height: 1.8;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer {
  background: var(--navy);
  border-top: 1px solid rgba(0, 102, 255, 0.09);
  padding: 4.5em 0 2em;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3em;
  margin-bottom: 3em;
}
.footer-brand img {
  height: 32px; width: auto;
  margin-bottom: 1.2em; display: block; opacity: 0.9;
}
.footer-brand p {
  font-size: 0.83em;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.32);
  max-width: 270px;
  margin: 0;
}
.footer-col h4 {
  font-size: 0.68em;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 1.2em;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 0.6em; }
.footer-col ul li a,
.footer-col ul li span {
  font-size: 0.84em;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  line-height: 1.6;
  transition: color 0.2s;
}
.footer-col ul li a:hover { color: var(--blue-light); }
.footer-bottom {
  border-top: 1px solid rgba(0, 102, 255, 0.07);
  padding-top: 1.75em;
  text-align: center;
  font-size: 0.77em;
  color: rgba(255, 255, 255, 0.22);
}
.footer-bottom p { color: rgba(255, 255, 255, 0.22); margin: 0; }
.footer-bottom a { color: rgba(255, 255, 255, 0.22); text-decoration: none; }
.footer-bottom a:hover { color: var(--blue-light); }

/* ============================================================
   INNER PAGE STYLES
   ============================================================ */
.page-header {
  background: var(--off-white);
  padding: 5.5em 2em 3.5em;
  text-align: center;
  border-bottom: 1px solid var(--blue-border);
}
.page-header .overline {
  font-size: 0.68em;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--blue);
  display: block;
  margin-bottom: 0.9em;
}
.page-header h1 {
  font-size: 2.6em;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.5em;
}
.page-header p {
  color: var(--text-muted);
  font-size: 1em;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.8;
}

.page-section { padding: 5em 0; }
.page-section.white { background: var(--white); }
.page-section.off-white { background: var(--off-white); }
.page-section.dark { background: var(--navy); }
.page-section.mid  { background: var(--navy-mid); }
/* old class names compatibility */
.wrapper.style2 { background: var(--off-white); }
.wrapper.style3 { background: var(--white); }
.page-section.light-section { background: var(--off-white); }

/* Section title (general) */
.section-title { text-align: center; margin-bottom: 3em; }
.section-title .label,
.section-title .overline {
  display: block;
  font-size: 0.68em;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 0.8em;
}
.section-title h2 {
  font-size: 2em;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.4em;
}
.section-title p {
  color: var(--text-muted);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
}
/* Inside dark sections */
.page-section.dark .section-title h2 { color: #ffffff; }
.page-section.dark .section-title p  { color: rgba(255, 255, 255, 0.6); }

/* Focus tiles (inner pages) */
.focus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5em;
}
.focus-tile {
  background: var(--white);
  border: 1px solid var(--blue-border);
  border-top: 3px solid var(--blue);
  padding: 2em 1.75em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.focus-tile .icon {
  font-size: 1.6em; color: var(--blue);
  margin-bottom: 0.75em; display: block;
}
.focus-tile h4 {
  font-size: 1em; font-weight: 700;
  color: var(--text-dark); margin-bottom: 0.5em;
}
.focus-tile p {
  font-size: 0.87em; color: var(--text-muted); line-height: 1.65; margin: 0;
}

/* Portfolio items (inner pages) */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
}
.portfolio-item {
  background: var(--white);
  border: 1px solid var(--blue-border);
  border-top: 3px solid var(--blue);
  padding: 1.75em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s, box-shadow 0.2s;
}
.portfolio-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 102, 255, 0.07);
}
.portfolio-item .sector-tag {
  display: inline-block;
  background: var(--blue-pale);
  color: var(--blue);
  border: 1px solid rgba(0, 102, 255, 0.18);
  padding: 0.2em 0.65em;
  font-size: 0.67em;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 0.75em;
}
.portfolio-item h3 {
  font-size: 1.1em; font-weight: 700;
  color: var(--text-dark); margin-bottom: 0.4em;
}
.portfolio-item p {
  font-size: 0.87em; color: var(--text-muted); line-height: 1.6; margin: 0 0 0.5em;
}
.portfolio-item .stage {
  font-size: 0.78em; color: var(--text-muted);
  border-top: 1px solid rgba(0, 102, 255, 0.07);
  padding-top: 0.75em; margin-top: 0.75em;
}

/* Stats / stat items */
.stats-bar {
  display: flex;
  gap: 2em; flex-wrap: wrap;
  justify-content: center;
  padding: 3em 2em;
  background: var(--navy);
  border-top: 1px solid rgba(0, 102, 255, 0.1);
  border-bottom: 1px solid rgba(0, 102, 255, 0.1);
}
.stat-item { text-align: center; }
.stat-item .number {
  display: block;
  font-size: 2.5em; font-weight: 900;
  color: var(--blue); line-height: 1;
}
.stat-item .label {
  font-size: 0.82em; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 0.1em;
  margin-top: 0.4em; display: block;
}

/* Team cards */
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2em;
}
.team-card {
  background: var(--white);
  border: 1px solid var(--blue-border);
  padding: 2em;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s, box-shadow 0.2s;
}
.team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 102, 255, 0.08);
}
.team-card img {
  width: 100px; height: 100px;
  border-radius: 50%; object-fit: cover;
  border: 3px solid var(--blue);
  margin-bottom: 1.2em;
}
.team-card h3 {
  font-size: 1.05em; font-weight: 700;
  color: var(--text-dark); margin-bottom: 0.25em;
}
.team-card .title-role,
.team-card .title {
  font-size: 0.75em; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--blue); margin-bottom: 0.75em; display: block;
}
.team-card p {
  font-size: 0.86em; color: var(--text-muted); line-height: 1.65; margin: 0;
}

/* Insights / blog cards (inner pages) */
.insights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.75em;
}
.insight-card {
  background: var(--white);
  border: 1px solid rgba(0, 102, 255, 0.07);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s, box-shadow 0.2s;
}
.insight-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 102, 255, 0.08);
}
.insight-card img {
  width: 100%; height: 180px;
  object-fit: cover; display: block;
}
.insight-card .card-body { padding: 1.5em; }
.insight-card .category {
  display: inline-block;
  background: var(--blue-pale); color: var(--blue);
  border: 1px solid rgba(0, 102, 255, 0.18);
  padding: 0.15em 0.6em;
  font-size: 0.67em; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  margin-bottom: 0.7em;
}
.insight-card h3 {
  font-size: 1em; font-weight: 700;
  color: var(--text-dark); line-height: 1.45; margin-bottom: 0.5em;
}
.insight-card h3 a { color: var(--text-dark); text-decoration: none; transition: color 0.2s; }
.insight-card h3 a:hover { color: var(--blue); }
.insight-card .meta {
  font-size: 0.76em; color: var(--text-muted); margin-bottom: 0.6em;
}
.insight-card p {
  font-size: 0.86em; color: var(--text-body); line-height: 1.6; margin-bottom: 1em;
}
.insight-card .read-more {
  color: var(--blue); font-size: 0.8em;
  font-weight: 700; text-decoration: none;
  text-transform: uppercase; letter-spacing: 0.08em;
}
.insight-card .read-more:hover { color: var(--blue-light); }

/* Article pages */
.article-header {
  background: var(--off-white);
  padding: 5em 2em 3em;
  text-align: center;
  border-bottom: 1px solid var(--blue-border);
}
.article-header .category {
  display: inline-block;
  background: var(--blue-pale); color: var(--blue);
  border: 1px solid rgba(0, 102, 255, 0.2);
  padding: 0.2em 0.8em;
  font-size: 0.72em; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 1em;
}
.article-header h1 {
  font-size: 2.2em; font-weight: 700;
  color: var(--text-dark); max-width: 750px;
  margin: 0 auto 0.5em; line-height: 1.3;
}
.article-header .meta { color: var(--text-muted); font-size: 0.9em; }
.article-featured-img {
  width: 100%; max-height: 450px;
  object-fit: cover; display: block;
}
.article-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 3em 2em;
  background: var(--white);
}
.article-content h2 {
  font-size: 1.5em; font-weight: 700;
  color: var(--text-dark); margin: 2em 0 0.75em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--blue-border);
}
.article-content h3 {
  color: var(--blue); font-size: 1.15em; margin: 1.5em 0 0.5em;
}
.article-content p {
  color: var(--text-body); margin-bottom: 1.5em; line-height: 1.85;
}
.article-content ul, .article-content ol {
  color: var(--text-body); padding-left: 1.5em; margin-bottom: 1.5em;
}
.article-content li { margin-bottom: 0.5em; line-height: 1.7; }
.article-nav {
  display: flex; justify-content: space-between; align-items: center;
  padding: 2em; border-top: 1px solid var(--blue-border);
  max-width: 800px; margin: 0 auto;
}
.article-nav a { color: var(--blue); text-decoration: none; font-size: 0.9em; }

/* Contact */
.contact-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 4em; align-items: start;
}
.contact-section { max-width: 700px; margin: 0 auto; padding: 3em 2em; }
.contact-info h3 {
  font-size: 1.25em; font-weight: 700;
  color: var(--text-dark); margin-bottom: 0.6em;
}
.contact-info p { font-size: 0.9em; color: var(--text-muted); line-height: 1.8; margin: 0 0 1em; }
.contact-detail {
  display: flex; align-items: flex-start;
  gap: 1em; margin-bottom: 1.4em;
}
.contact-detail .icon { color: var(--blue); font-size: 1em; margin-top: 2px; }
.contact-detail span { color: var(--text-body); line-height: 1.6; font-size: 0.9em; }
.form-group { margin-bottom: 1.5em; }
.form-group label {
  display: block; color: var(--text-dark);
  font-size: 0.85em; font-weight: 700;
  margin-bottom: 0.5em; text-transform: uppercase; letter-spacing: 1px;
}
.form-group input,
.form-group select,
.form-group textarea,
.contact-form input,
.contact-form textarea,
.contact-form select {
  width: 100%;
  background: var(--off-white);
  border: 1px solid rgba(0, 102, 255, 0.18);
  color: var(--text-dark);
  padding: 0.85em 1em;
  font-family: inherit; font-size: 0.95em;
  transition: border-color 0.2s; box-sizing: border-box;
  outline: none;
  margin-bottom: 1.2em;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.contact-form input:focus,
.contact-form textarea:focus { border-color: var(--blue); }
.form-group textarea,
.contact-form textarea { min-height: 140px; resize: vertical; }

/* Legal */
.legal-content {
  max-width: 860px; margin: 0 auto; padding: 4em 2em;
  color: var(--text-body); font-size: 0.95em; line-height: 1.85;
}
.legal-content h1 {
  font-size: 2.2em; font-weight: 700;
  color: var(--text-dark); margin-bottom: 0.4em;
}
.legal-content .effective-date,
.legal-content .last-updated {
  font-size: 0.85em; color: var(--text-muted);
  margin-bottom: 3em; padding-bottom: 2em;
  border-bottom: 1px solid var(--blue-border);
}
.legal-content h2 {
  font-size: 1.3em; color: var(--blue);
  margin: 2.5em 0 0.75em; padding-bottom: 0.4em;
  border-bottom: 1px solid var(--blue-border);
}
.legal-content h3 {
  font-size: 1.05em; color: var(--text-dark); font-weight: 700;
  margin: 1.5em 0 0.5em;
}
.legal-content a { color: var(--blue); text-decoration: none; }
.legal-content a:hover { color: var(--blue-light); text-decoration: underline; }
.legal-content table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 0.9em; }
.legal-content th {
  background: var(--off-white); color: var(--text-dark);
  padding: 0.75em 1em; text-align: left;
  border: 1px solid var(--blue-border); font-weight: 700;
}
.legal-content td {
  padding: 0.65em 1em; border: 1px solid rgba(0, 102, 255, 0.07);
  color: var(--text-body); vertical-align: top;
}
.legal-content ul, .legal-content ol {
  padding-left: 1.75em; margin-bottom: 1.25em;
}
.legal-content li { margin-bottom: 0.5em; line-height: 1.7; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1000px) {
  .numbers-row { grid-template-columns: repeat(2, 1fr); }
  .sectors-grid { grid-template-columns: repeat(2, 1fr); }
  .portfolio-grid-3col { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .hero-section h1 { font-size: 2.4em; }
  .sectors-grid { grid-template-columns: 1fr 1fr; }
  .portfolio-grid-3col { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .portfolio-grid, .team-grid, .insights-grid { grid-template-columns: 1fr; }
  .hero-cta { flex-direction: column; align-items: center; }
}
@media (max-width: 480px) {
  .numbers-row { grid-template-columns: 1fr 1fr; }
  .metric-item { border-right: none; border-bottom: 1px solid rgba(0, 102, 255, 0.07); }
  .metric-item:last-child { border-bottom: none; }
  .sectors-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero-section h1 { font-size: 1.9em; }
}
/* ================================================
   Blog Article Pages - Final Clean Version (R18)
   2026-03-12
   ================================================ */

/* Hero: dark gradient bg, light text */
.article-hero {
  background: linear-gradient(135deg, #051828 0%, #0a2540 50%, #071e36 100%) !important;
  padding: 5em 2em 4em;
  text-align: center;
  border-bottom: 1px solid rgba(0,194,255,0.1);
}
.article-hero .category-badge {
  display: inline-block;
  background: rgba(0,194,255,0.12);
  color: #00c2ff !important;
  border: 1px solid rgba(0,194,255,0.5);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4em 1.1em;
  border-radius: 2px;
  margin-bottom: 1.4em;
}
.article-hero h1 {
  color: #ffffff !important;
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  max-width: 820px;
  margin: 0 auto 1.2em;
  letter-spacing: -0.02em;
}
.article-hero .meta { color: #a0b8d0 !important; font-size: 0.88rem; letter-spacing: 0.03em; }
.article-hero .meta span { margin: 0 0.6em; }

/* Featured image */
.featured-image { width: 100%; max-height: 520px; overflow: hidden; line-height: 0; }
.featured-image img { width: 100%; height: 520px; object-fit: cover; display: block; }

/* Article body: dark bg, light text */
.article-body {
  background: #0a1d2e !important;
  padding: 4em 2em;
}
.article-body .article-content { max-width: 800px; margin: 0 auto; }
.article-body h2 { color: #ffffff !important; font-size: 1.55rem; font-weight: 700; margin: 2.6em 0 0.9em; letter-spacing: -0.01em; line-height: 1.3; }
.article-body h2:first-child { margin-top: 0; }
.article-body h3 { color: #00c2ff !important; font-size: 1.15rem; font-weight: 600; margin: 2em 0 0.7em; }
.article-body p { color: #d0e8ff !important; font-size: 1rem; line-height: 1.85; margin-bottom: 1.4em; }
.article-body ul, .article-body ol { color: #d0e8ff !important; font-size: 1rem; line-height: 1.85; margin: 0 0 1.4em 1.6em; }
.article-body li { color: #d0e8ff !important; margin-bottom: 0.5em; }
.article-body blockquote { border-left: 3px solid #00c2ff; margin: 2em 0; padding: 1.2em 1.8em; background: rgba(0,194,255,0.05) !important; border-radius: 0 4px 4px 0; }
.article-body blockquote p { color: #a8d4f5 !important; font-size: 1.05rem; font-style: italic; }

/* Stats callout */
.stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2em; margin: 2.5em 0; }
.stat-box { background: rgba(0,194,255,0.06) !important; border: 1px solid rgba(0,194,255,0.2); border-radius: 6px; padding: 1.2em 1em; text-align: center; }
.stat-box .stat-num { display: block; color: #00c2ff !important; font-size: 1.5rem; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 0.3em; }
.stat-box .stat-label { display: block; color: #6a9fc0 !important; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.4; }

/* Prev/Next nav */
.article-nav { background: #071525 !important; border-top: 1px solid rgba(0,194,255,0.1); border-bottom: 1px solid rgba(0,194,255,0.1); }
.article-nav .nav-inner { max-width: 800px; margin: 0 auto; display: flex; justify-content: space-between; align-items: stretch; }
.article-nav a { display: block; padding: 2em; color: #4a7a9b !important; text-decoration: none; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; max-width: 50%; }
.article-nav a:hover { color: #00c2ff !important; background: rgba(0,194,255,0.04) !important; }
.article-nav a .nav-direction { display: block; margin-bottom: 0.4em; font-size: 0.72rem; }
.article-nav a .nav-title { display: block; color: #8ab8d8 !important; font-size: 0.9rem; text-transform: none; letter-spacing: 0; font-weight: 500; line-height: 1.4; }
.article-nav a.next { text-align: right; margin-left: auto; }

/* Responsive */
@media (max-width: 768px) {
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .article-nav .nav-inner { flex-direction: column; }
  .article-nav a { max-width: 100%; padding: 1.4em 1.6em; }
  .article-nav a.next { text-align: left; margin-left: 0; }
}
@media (max-width: 540px) {
  .stats-row { grid-template-columns: 1fr 1fr; }
  .article-hero { padding: 3.5em 1.4em 2.8em; }
  .article-body { padding: 3em 1.4em; }
}
/* Override old .article-content rules (background:var(--white), padding conflict) */
.article-body .article-content {
  background: transparent !important;
  padding: 0 !important;
  max-width: 800px;
  margin: 0 auto;
}
.article-body .article-content h2 { color: #ffffff !important; border-bottom: none !important; }
.article-body .article-content h3 { color: #00c2ff !important; }
.article-body .article-content p,
.article-body .article-content li,
.article-body .article-content ul,
.article-body .article-content ol { color: #d0e8ff !important; }