:root {
  --bg: #f7f9fc;
  --surface: #ffffff;
  --surface-2: #eef3f9;
  --navy: #0e2f56;
  --navy-2: #163f70;
  --blue: #2f67a7;
  --steel: #6b7f97;
  --text: #10243d;
  --muted: #607086;
  --line: #dbe4ee;
  --line-strong: #cbd5e1;
  --shadow: 0 20px 54px rgba(15, 23, 42, .08);
  --shadow-sm: 0 10px 30px rgba(15, 23, 42, .08);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --max: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 78% 7%, rgba(47,103,167,.08), transparent 28%),
    linear-gradient(180deg, #fcfdff 0%, #f6f9fd 52%, #f0f5fb 100%);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

.container { width: min(var(--max), calc(100% - clamp(32px, 6vw, 96px))); margin: 0 auto; }
.section { padding: 100px 0; }
.section-tight { padding: 70px 0; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
}
.eyebrow::before {
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--blue), #9bb8d8);
}

h1, h2, h3 { line-height: 1.08; margin: 0; letter-spacing: -.03em; }
h1 { font-size: clamp(48px, 7vw, 82px); font-weight: 760; }
h2 { font-size: clamp(36px, 4.5vw, 58px); font-weight: 740; }
h3 { font-size: 24px; font-weight: 720; }
p { margin: 0; }
.lead { font-size: clamp(18px, 2vw, 22px); color: var(--muted); max-width: 760px; }
.muted { color: var(--muted); }

.topbar {
  background: var(--navy);
  color: #dce8f6;
  font-size: 13px;
}
.topbar .container {
  min-height: 34px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.topbar a { text-decoration: none; }
.topbar a:hover { color: #fff; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: rgba(251,252,254,.88);
  border-bottom: 1px solid rgba(219,228,238,.85);
}
.nav {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  min-width: 235px;
}
.brand img {
  width: 62px;
  height: 42px;
  object-fit: contain;
}
.brand-copy { line-height: 1; }
.brand-name {
  font-size: 18px;
  font-weight: 820;
  letter-spacing: -.02em;
  color: var(--navy);
}
.brand-sub {
  display: block;
  margin-top: 5px;
  color: var(--steel);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-links a {
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #314860;
  font-size: 14px;
  font-weight: 650;
}
.nav-links a:hover, .nav-links a.active { background: #edf3f9; color: var(--navy); }
.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  background: var(--navy);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(14,47,86,.16);
}
.nav-cta:hover { background: var(--navy-2) !important; }
.menu-btn { display: none; border: 0; background: transparent; width: 44px; height: 44px; border-radius: 12px; }
.menu-btn span { display: block; width: 22px; height: 2px; background: var(--navy); margin: 5px auto; }

.hero { padding: 86px 0 80px; overflow: hidden; }
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(48px, 5vw, 92px);
  align-items: center;
}
.hero h1 { max-width: 760px; color: #102c4d; }
.hero h1 .accent {
  background: linear-gradient(90deg, var(--navy-2), #5b84b2 82%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero .lead { margin-top: 26px; max-width: 650px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 20px;
  border-radius: 13px;
  text-decoration: none;
  font-weight: 720;
  font-size: 14px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--navy); box-shadow: 0 14px 26px rgba(14,47,86,.18); }
.btn-primary:hover { background: var(--navy-2); }
.btn-secondary { color: var(--navy); background: rgba(255,255,255,.86); border: 1px solid var(--line); }
.btn-secondary:hover { box-shadow: var(--shadow-sm); }
.hero-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
  max-width: 720px;
}
.proof-pill {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #d9e3ee;
  border-radius: 16px;
  background: rgba(255,255,255,.90);
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
}
.proof-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e8f1fb;
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}
.proof-pill strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.2;
}
.proof-pill small {
  display: block;
  margin-top: 4px;
  color: #5f7388;
  font-size: 12px;
  line-height: 1.35;
}

.hero-visual {
  position: relative;
  min-height: 520px;
  border-radius: var(--radius-xl);
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,244,250,.98)),
    #fff;
  border: 1px solid #cfd9e5;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: -160px auto auto -160px;
  width: 360px; height: 360px;
  border-radius: 50%;
  background: rgba(47,103,167,.08);
}
.hero-visual::after {
  content: "";
  position: absolute;
  right: -100px; bottom: -110px;
  width: 320px; height: 320px;
  border-radius: 50%;
  border: 62px solid rgba(14,47,86,.05);
}
.data-card {
  position: absolute;
  left: 42px; right: 42px; top: 40px;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid #dbe5ef;
  background: rgba(255,255,255,.90);
  z-index: 2;
}
.data-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.data-card-title { font-weight: 780; color: var(--navy); }
.status-dot { display: inline-flex; align-items: center; gap: 7px; color: #58718c; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.status-dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5f89b6; box-shadow: 0 0 0 5px rgba(95,137,182,.12); }
.pipeline { margin-top: 26px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; align-items: center; }
.node {
  min-height: 70px;
  border-radius: 14px;
  border: 1px solid #dbe5ef;
  background: #f9fbfd;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 10px;
  color: #335170;
  font-size: 11px;
  font-weight: 760;
}
.node strong { display: block; font-size: 17px; color: var(--navy); }
.node-line { height: 2px; background: linear-gradient(90deg,#c3d2e2,#5f89b6); }
.graph-card {
  position: absolute;
  left: 42px; right: 42px; bottom: 38px;
  height: 212px;
  border-radius: 20px;
  background: var(--navy);
  overflow: hidden;
  z-index: 2;
  padding: 24px;
  color: #fff;
}
.graph-title { font-size: 13px; color: #d7e4f2; font-weight: 700; }
.bars { height: 112px; margin-top: 18px; display: flex; align-items: flex-end; gap: 12px; }
.bar { flex: 1; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg,#9cb9d9,#4e7eb4); opacity: .95; }
.bar:nth-child(1){height:40%}.bar:nth-child(2){height:58%}.bar:nth-child(3){height:50%}.bar:nth-child(4){height:75%}.bar:nth-child(5){height:68%}.bar:nth-child(6){height:88%}.bar:nth-child(7){height:82%}.bar:nth-child(8){height:96%}
.graph-footer { display:flex; justify-content:space-between; margin-top:12px; color:#a9bfd7; font-size:11px; }

.trust-strip {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.76);
}
.trust-grid {
  min-height: 108px;
  display: grid;
  grid-template-columns: 1.2fr repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: 14px;
}
.trust-label { color: var(--muted); font-size: 12px; font-weight: 760; text-transform: uppercase; letter-spacing: .12em; }
.tech-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 14px;
  text-align: center;
  font-weight: 800;
  color: #3f5f81;
  font-size: 14px;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid #d8e2ed;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,244,250,.96));
  box-shadow: 0 8px 20px rgba(15,23,42,.04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.tech-chip:hover {
  transform: translateY(-1px);
  color: var(--navy);
  border-color: #bcccdc;
  box-shadow: 0 12px 24px rgba(15,23,42,.08);
}

.section-head { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 46px; }
.section-head p { max-width: 560px; color: var(--muted); }
.cards-4 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(16px, 1.5vw, 24px); }
.card {
  background: rgba(255,255,255,.88);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 28px;
  box-shadow: 0 10px 28px rgba(14,47,86,.05);
}
.card-number { color: #8da4bd; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.card h3 { margin-top: 24px; }
.card p { margin-top: 14px; color: var(--muted); font-size: 14px; }
.card ul { padding-left: 18px; margin: 18px 0 0; color: #51667c; font-size: 13px; }
.card li + li { margin-top: 7px; }
.card-link { display: inline-block; margin-top: 22px; color: var(--navy); text-decoration: none; font-size: 13px; font-weight: 780; }
.card-link:hover { text-decoration: underline; }

.split {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 64px;
  align-items: center;
}
.panel-dark {
  background: linear-gradient(145deg, #0e2f56, #173f70);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: 46px;
  box-shadow: var(--shadow);
}
.panel-dark p { color: #bfd0e2; }
.feature-list { display: grid; gap: 14px; margin-top: 28px; }
.feature {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.13);
}
.feature-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items:center; background: rgba(255,255,255,.08); color:#d8e7f6; font-weight:800; }
.feature strong { display:block; margin-bottom:3px; }
.feature span { color:#bfd0e2; font-size:13px; }

.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.step { position: relative; padding: 32px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: #fff; }
.step-index { width: 42px; height: 42px; border-radius: 13px; display:grid; place-items:center; background:#edf3f9; color:var(--navy); font-weight:820; }
.step h3 { margin-top: 28px; }
.step p { margin-top: 12px; color:var(--muted); font-size:14px; }

.audience { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.audience-card { min-height: 250px; border-radius: var(--radius-lg); border:1px solid var(--line); background:linear-gradient(180deg,#fff,#f6f9fc); padding:30px; position:relative; overflow:hidden; }
.audience-card::after { content:""; position:absolute; right:-60px; bottom:-65px; width:170px; height:170px; border:28px solid rgba(47,103,167,.06); border-radius:50%; }
.audience-card .tag { display:inline-flex; border-radius:999px; background:#edf3f9; padding:7px 11px; color:var(--blue); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.audience-card h3 { margin-top:48px; }
.audience-card p { margin-top:12px; color:var(--muted); font-size:14px; max-width:310px; }

.cta-band { padding: 72px 0; }
.cta-box {
  padding: 50px;
  border-radius: var(--radius-xl);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
.cta-box h2 { font-size: clamp(34px,4vw,52px); max-width: 730px; }
.cta-box p { margin-top: 14px; color: var(--muted); max-width: 680px; }

.page-hero { padding: 84px 0 66px; }
.page-hero-inner { max-width: 1080px; }
.page-hero h1 { font-size: clamp(48px,6vw,72px); }
.page-hero .lead { margin-top: 24px; }
.breadcrumb { font-size: 12px; color: var(--steel); margin-bottom: 18px; }
.breadcrumb a { text-decoration:none; color: var(--blue); }

.capability-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.capability {
  border-radius: var(--radius-lg);
  background:#fff;
  border:1px solid var(--line);
  padding:36px;
}
.capability .kicker { color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.capability h3 { margin-top:18px; font-size:28px; }
.capability p { margin-top:14px; color:var(--muted); }
.capability ul { margin:24px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.capability li { padding-left:22px; position:relative; color:#415a74; font-size:14px; }
.capability li::before { content:""; width:7px; height:7px; border-radius:50%; background:#7aa0c9; position:absolute; left:0; top:.65em; }

.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:38px; }
.metric { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; }
.metric strong { display:block; font-size:28px; color:var(--navy); }
.metric span { color:var(--muted); font-size:12px; }

.values { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.value { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; }
.value-index { color:#9aafc5; font-size:11px; font-weight:800; }
.value h3 { margin-top:28px; }
.value p { color:var(--muted); margin-top:10px; font-size:14px; }

.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; }
.contact-card { background:var(--navy); color:#fff; border-radius:var(--radius-xl); padding:40px; }
.contact-card p { color:#c4d5e6; }
.contact-list { margin-top:34px; display:grid; gap:18px; }
.contact-item { padding-top:18px; border-top:1px solid rgba(255,255,255,.14); }
.contact-item span { display:block; color:#a8bfd6; font-size:11px; text-transform:uppercase; letter-spacing:.11em; font-weight:800; }
.contact-item a, .contact-item strong { display:inline-block; margin-top:6px; color:#fff; text-decoration:none; font-size:16px; }
.form-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius-xl); padding:40px; box-shadow:var(--shadow-sm); }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1 / -1; }
label { font-size:12px; font-weight:760; color:#3a536e; }
input, textarea, select {
  width:100%; border:1px solid #d7e2ec; background:#fbfcfe; color:var(--text); border-radius:12px; min-height:48px; padding:11px 13px; font:inherit; outline:none;
}
textarea { min-height:140px; resize:vertical; }
input:focus, textarea:focus, select:focus { border-color:#82a8cf; box-shadow:0 0 0 4px rgba(47,103,167,.08); }
.form-note { margin-top:12px; color:var(--muted); font-size:12px; }

.legal { max-width: 840px; }
.legal h2 { font-size: 28px; margin-top: 40px; }
.legal p, .legal li { color:#4e647b; }
.legal p { margin-top:12px; }
.legal ul { padding-left:20px; }

.footer { background:#0a2543; color:#d7e4f1; margin-top:80px; }
.footer-main { padding:56px 0 36px; display:grid; grid-template-columns:minmax(300px,1.6fr) repeat(3,minmax(160px,1fr)); gap:clamp(28px,4vw,64px); }
.footer-brand .brand-name { color:#fff; }
.footer-brand .brand-sub { color:#90abc5; }
.footer-copy { margin-top:18px; max-width:380px; color:#9fb5ca; font-size:13px; }
.footer h4 { color:#fff; margin:0 0 15px; font-size:13px; }
.footer-links { display:grid; gap:9px; }
.footer-links a { text-decoration:none; color:#a9bfd3; font-size:13px; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.09); min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#8fa8c0; font-size:12px; }


.footer-brand-lockup img {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  padding: 5px;
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
}
.footer-brand-lockup .brand-name { color:#fff; }

.contact-hp {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}
.form-submit[disabled] { opacity:.68; cursor:wait !important; transform:none; }
.form-status { min-height: 0; margin-top: 12px; font-size: 13px; font-weight: 650; }
.form-status:empty { display:none; }
.form-status.is-success { color:#1f6b46; }
.form-status.is-error { color:#9d2f2f; }
.form-status.is-info { color:#48637f; }
.form-note a { color:var(--navy); font-weight:700; }

@media (min-width: 1500px) {
  .section { padding: 112px 0; }
  .section-tight { padding: 82px 0; }
  .hero { padding: 98px 0 92px; }
  .hero-visual { min-height: 560px; }
  .card { padding: 32px; }
  .capability { padding: 40px; }
  .contact-grid { grid-template-columns: minmax(380px,.8fr) minmax(620px,1.2fr); gap: clamp(44px,5vw,80px); }
}

.notice { padding:14px 16px; border-radius:12px; background:#edf3f9; color:#48637f; font-size:12px; border:1px solid #dbe5ef; }

@media (max-width: 1080px) {
  .topbar { display:none; }
  .menu-btn { display:block; }
  .nav { min-height:72px; }
  .nav-links { display:none; position:absolute; left:20px; right:20px; top:74px; padding:16px; border-radius:16px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); align-items:stretch; flex-direction:column; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:12px 14px; }
  .hero-grid, .split, .contact-grid { grid-template-columns:1fr; }
  .hero-visual { min-height:470px; }
  .cards-4, .values { grid-template-columns:repeat(2,1fr); }
  .trust-grid { grid-template-columns:repeat(3,1fr); padding:22px 0; }
  .hero-proof-grid { grid-template-columns: 1fr 1fr; }
  .trust-label { grid-column:1/-1; }
  .capability-grid { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1.3fr 1fr 1fr; }
  .footer-main > :last-child { grid-column:2/4; }
}

@media (max-width: 700px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .section { padding:72px 0; }
  .hero { padding:58px 0 60px; }
  .hero-grid { gap:42px; }
  .hero h1, .page-hero h1 { font-size:clamp(42px,12vw,58px); }
  .section-head { display:block; }
  .section-head p { margin-top:18px; }
  .cards-4, .steps, .audience, .metrics, .values { grid-template-columns:1fr; }
  .hero-proof-grid { grid-template-columns:1fr; }
  .hero-visual { min-height:420px; }
  .data-card { left:18px; right:18px; top:18px; padding:18px; }
  .graph-card { left:18px; right:18px; bottom:18px; height:190px; padding:18px; }
  .pipeline { gap:7px; }
  .node { font-size:9px; min-height:56px; padding:6px; }
  .node strong { font-size:14px; }
  .brand { min-width:auto; }
  .brand img { width:52px; height:34px; }
  .brand-sub { display:none; }
  .cta-box { display:block; padding:34px; }
  .cta-box .actions { margin-top:26px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-main > :first-child, .footer-main > :last-child { grid-column:1/-1; }
  .footer-bottom { align-items:flex-start; flex-direction:column; padding:20px 0; }
}

/* Why Eight brand story */
.why-eight {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(47,103,167,.09), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.58), rgba(238,243,249,.66));
  border-top: 1px solid rgba(219,228,238,.78);
  border-bottom: 1px solid rgba(219,228,238,.78);
}
.why-eight::before {
  content: "8";
  position: absolute;
  right: -4vw;
  top: -170px;
  font-size: min(48vw, 640px);
  line-height: 1;
  font-weight: 900;
  color: rgba(14,47,86,.025);
  pointer-events: none;
}
.why-eight-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 48px;
}
.why-eight-intro p {
  color: var(--muted);
  font-size: 17px;
  max-width: 570px;
}
.why-eight-intro strong { color: var(--navy); }
.why-eight-stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 42px;
  align-items: stretch;
}
.eight-orbit {
  min-height: 520px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 34px;
  border: 1px solid rgba(215,226,237,.95);
  background:
    radial-gradient(circle at 50% 34%, rgba(97,142,191,.18), transparent 28%),
    linear-gradient(155deg, #0d2c50 0%, #123964 52%, #0c2746 100%);
  box-shadow: 0 24px 60px rgba(14,47,86,.16);
  overflow: hidden;
}
.eight-orbit::before,
.eight-orbit::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 212px;
  height: 212px;
  transform: translateX(-50%);
  border: 1px solid rgba(190,214,239,.22);
  border-radius: 50%;
}
.eight-orbit::before { top: 44px; }
.eight-orbit::after { bottom: 44px; }
.eight-glyph {
  position: relative;
  z-index: 2;
  font-size: 278px;
  line-height: .78;
  font-weight: 820;
  letter-spacing: -.10em;
  margin-left: -.08em;
  background: linear-gradient(180deg, #f5f9fd 3%, #8eb0d6 47%, #dceafa 94%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 18px 60px rgba(119,168,220,.14);
}
.eight-infinity {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 84px;
  text-align: center;
  z-index: 3;
  font-size: 34px;
  color: #b9cfe7;
  opacity: .92;
}
.eight-caption {
  position: absolute;
  z-index: 3;
  left: 26px;
  bottom: 24px;
  color: #d6e5f4;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 780;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.dimension-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.dimension-card {
  position: relative;
  min-height: 120px;
  padding: 22px 58px 20px 22px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 24px rgba(14,47,86,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
}
.dimension-card:hover {
  transform: translateY(-2px);
  border-color: #bfd0e1;
  box-shadow: 0 14px 30px rgba(14,47,86,.08);
}
.dimension-card::after {
  content: attr(data-index);
  position: absolute;
  right: 14px;
  bottom: -16px;
  font-size: 76px;
  font-weight: 850;
  color: rgba(14,47,86,.035);
}
.dimension-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 28px;
  border-radius: 9px;
  background: #eef4fa;
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}
.dimension-card h3 {
  margin-top: 14px;
  font-size: 20px;
  color: var(--navy);
}
.dimension-card p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 13px;
}
.why-eight-footer {
  position: relative;
  z-index: 1;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.why-eight-footer p {
  color: var(--muted);
  max-width: 760px;
  font-size: 14px;
}

@media (max-width: 980px) {
  .why-eight-intro { grid-template-columns: 1fr; gap: 18px; }
  .why-eight-stage { grid-template-columns: 260px 1fr; gap: 24px; }
  .eight-orbit { min-height: 500px; }
  .eight-glyph { font-size: 226px; }
}

@media (max-width: 760px) {
  .why-eight-stage { grid-template-columns: 1fr; }
  .eight-orbit { min-height: 360px; }
  .eight-orbit::before,
  .eight-orbit::after { width: 155px; height: 155px; }
  .eight-orbit::before { top: 28px; }
  .eight-orbit::after { bottom: 28px; }
  .eight-glyph { font-size: 210px; }
  .eight-infinity { bottom: 58px; }
  .dimension-grid { grid-template-columns: 1fr; }
  .why-eight-footer { align-items: flex-start; flex-direction: column; gap: 12px; }
}


/* === NobleEight V3 refinements === */
.nav { min-height: 94px; }
.brand {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  min-width: auto;
  text-decoration: none;
}
.brand-logo-full {
  width: clamp(210px, 19vw, 320px);
  height: auto;
  object-fit: contain;
}
.brand-tagline {
  display: block;
  color: var(--steel);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: none;
  line-height: 1.1;
}
.brand-tagline strong { color: var(--blue); }
.footer-brand-lockup {
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
}
.footer-brand-lockup .brand-logo-full {
  width: min(320px, 100%);
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  padding: 8px 10px;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.footer-tagline { color: #b5c9dc; }
.footer-tagline strong { color: #6ea7f0; }
.path-section {
  background: linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,.72));
  border-top: 1px solid rgba(219,228,238,.75);
  border-bottom: 1px solid rgba(219,228,238,.75);
}
.path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.path-step {
  padding: 28px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(14,47,86,.05);
}
.path-step h3 { margin-top: 22px; font-size: 22px; }
.path-step p { margin-top: 12px; color: var(--muted); font-size: 14px; }
.eight-caption strong { color: #dff0ff; }
.trust-grid { grid-template-columns: 1.2fr repeat(6,1fr); }
@media (max-width: 1200px) {
  .path-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1080px) {
  .nav { min-height: 82px; }
  .brand-logo-full { width: clamp(180px, 34vw, 250px); }
}
@media (max-width: 700px) {
  .brand-logo-full { width: 190px; }
  .brand-tagline { display:none; }
  .path-grid { grid-template-columns: 1fr; }
}

/* === NobleEight V5 brand lockup refinement === */
.site-header .nav {
  min-height: 88px;
}
.brand-header {
  min-width: auto;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
}
.brand-lockup-stacked {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 4px 0;
}
.brand-mark {
  width: 78px !important;
  height: auto !important;
  object-fit: contain;
  flex: 0 0 auto;
}
.brand-word-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-width: 0;
}
.brand-word-noble {
  width: 155px !important;
  height: auto !important;
  object-fit: contain;
}
.brand-word-solutions {
  width: 111px !important;
  height: auto !important;
  object-fit: contain;
  margin-left: 20px;
}

/* Footer: compact illuminated brand plate rather than a large white box. */
.footer-brand-lockup {
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px;
  width: fit-content;
}
.footer-brand-plate {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  padding: 10px 16px 10px 12px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(239,244,249,.98));
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9);
}
.footer-brand-mark {
  width: 74px !important;
  height: auto !important;
  object-fit: contain;
}
.footer-brand-wordmark {
  width: 200px !important;
  height: auto !important;
  object-fit: contain;
}
.footer-tagline {
  display: block;
  margin: 0 0 0 4px;
  color: #b8cadb;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .04em;
}
.footer-tagline strong { color: #71a7e3; }

@media (max-width: 1080px) {
  .site-header .nav { min-height: 78px; }
  .brand-mark { width: 66px !important; }
  .brand-word-noble { width: 138px !important; }
  .brand-word-solutions { width: 98px !important; margin-left: 18px; }
}
@media (max-width: 700px) {
  .brand-lockup-stacked { gap: 10px; }
  .brand-mark { width: 58px !important; }
  .brand-word-noble { width: 118px !important; }
  .brand-word-solutions { width: 84px !important; margin-left: 16px; }
  .footer-brand-plate { padding: 9px 12px 9px 10px; gap: 9px; }
  .footer-brand-mark { width: 58px !important; }
  .footer-brand-wordmark { width: 160px !important; }
}


/* === V7: Clean Ice / Navy brand system === */
:root {
  --bg: #f7f9fc;
  --surface: #ffffff;
  --surface-2: #eef4f8;
  --navy: #0d2f57;
  --navy-2: #173f70;
  --blue: #2f6fae;
  --steel: #74879b;
  --text: #122b45;
  --muted: #607286;
  --line: #dde5ed;
}
body {
  background:
    radial-gradient(circle at 78% 7%, rgba(47,111,174,.075), transparent 30%),
    linear-gradient(180deg,#fbfcfe 0%,#f7f9fc 58%,#f2f6fa 100%);
}
.topbar { background:#0d2f57; }
.site-header {
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid #e0e7ee;
  box-shadow: 0 4px 18px rgba(13,47,87,.035);
}
.nav { min-height: 84px; gap: 32px; }
.brand-header {
  min-width: 0;
  padding: 0;
  gap: 0;
  flex: 0 0 auto;
}
.header-logo {
  width: clamp(270px, 22vw, 334px) !important;
  height: auto !important;
  object-fit: contain;
  display: block;
}
.nav-links { gap: 2px; }
.nav-links a {
  border-radius: 0;
  padding: 28px 12px 25px;
  position: relative;
  background: transparent !important;
}
.nav-links a:not(.nav-cta)::after {
  content:"";
  position:absolute;
  left:12px; right:12px; bottom:17px;
  height:2px;
  border-radius:99px;
  background:transparent;
}
.nav-links a:hover:not(.nav-cta), .nav-links a.active:not(.nav-cta) { color: var(--navy); }
.nav-links a.active:not(.nav-cta)::after { background: var(--blue); }
.nav-cta {
  min-height: 44px;
  margin-left: 10px;
  padding: 0 18px !important;
  border-radius: 12px !important;
  background: var(--navy) !important;
  color:#fff !important;
}
.hero { background: transparent; }
.footer {
  background:
    radial-gradient(circle at 13% 15%, rgba(70,123,177,.20), transparent 23%),
    linear-gradient(145deg,#0b2746 0%,#071c33 70%,#06182b 100%);
}
.footer-main {
  grid-template-columns: minmax(300px,1.45fr) repeat(3,minmax(150px,.8fr));
  gap: clamp(30px,4vw,62px);
  align-items:start;
}
.footer-brand { max-width: 390px; }
.footer-logo-link {
  display:inline-block;
  padding: 0;
  margin: 0;
  background: transparent;
}
.footer-logo-stacked {
  width: clamp(220px, 18vw, 285px);
  height:auto;
  display:block;
  filter: drop-shadow(0 7px 16px rgba(0,0,0,.16));
}
.footer-tagline-v7 {
  margin: 16px 0 0;
  color:#d9e4ef;
  font-size: 14px;
  font-weight:750;
  letter-spacing:.025em;
}
.footer-tagline-v7 strong { color:#7aa8d8; }
.footer-copy { margin-top:12px; }
.footer h4 {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#f2f6fa;
}
.footer-links { gap:11px; }
.footer-links a, .footer-links span { color:#aec0d2; }
.footer-links a:hover { color:#fff; }
@media (max-width: 1080px) {
  .header-logo { width: 260px !important; }
  .nav-links a { padding: 12px 14px; border-radius: 10px; }
  .nav-links a:not(.nav-cta)::after { display:none; }
  .nav-cta { margin-left:0; }
}
@media (max-width: 700px) {
  .nav { min-height:72px; }
  .header-logo { width: 218px !important; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-main > :first-child, .footer-main > :last-child { grid-column:1/-1; }
  .footer-logo-stacked { width:230px; }
}

/* === V8: Frosted Ice header + soft slate footer === */
:root {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f0f4f8;
  --navy: #12345b;
  --navy-2: #1b4778;
  --blue: #2f73b7;
  --steel: #718397;
  --text: #18334f;
  --muted: #617287;
  --line: #dce5ed;
}

body {
  background:
    radial-gradient(circle at 76% 6%, rgba(60,118,178,.055), transparent 29%),
    linear-gradient(180deg, #fcfdff 0%, #f8fafc 52%, #f4f7fa 100%);
}

/* Remove the extra dark strip so the brand + navigation read as one clean header. */
.topbar { display: none; }

.site-header {
  top: 0;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e3e9ef;
  box-shadow: 0 7px 22px rgba(18,52,91,.055);
  backdrop-filter: blur(16px);
}
.site-header .container {
  width: min(1480px, calc(100% - clamp(28px, 5vw, 78px)));
}
.nav {
  min-height: 78px;
  gap: 28px;
  flex-wrap: nowrap;
}
.brand-header {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 0;
}
.header-logo {
  width: clamp(205px, 17vw, 238px) !important;
  height: auto !important;
  display: block;
  object-fit: contain;
}
.nav-links {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.nav-links a {
  padding: 10px 10px !important;
  border-radius: 10px !important;
  font-size: 13px;
  font-weight: 680;
  color: #334a61;
  background: transparent !important;
}
.nav-links a:not(.nav-cta)::after {
  left: 10px;
  right: 10px;
  bottom: 3px;
}
.nav-links a:hover:not(.nav-cta),
.nav-links a.active:not(.nav-cta) {
  background: #f2f6fa !important;
  color: var(--navy);
}
.nav-links a.active:not(.nav-cta)::after { background: var(--blue); }
.nav-cta {
  margin-left: 8px !important;
  min-height: 40px;
  padding: 0 15px !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, #173e69, #103357) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(18,52,91,.14);
}

/* Footer is intentionally only ~two visual tones darker than the page body. */
.footer {
  margin-top: 72px;
  background:
    linear-gradient(180deg, #edf2f6 0%, #e5ebf1 100%);
  color: #385068;
  border-top: 1px solid #d5dfe8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.footer-main {
  padding: 48px 0 34px;
  grid-template-columns: minmax(300px,1.35fr) repeat(3,minmax(145px,.75fr));
  gap: clamp(30px,4vw,58px);
  align-items: start;
}
.footer-brand { max-width: 390px; }
.footer-logo-link {
  display: inline-block;
  padding: 0;
  margin: 0;
  background: transparent;
}
.footer-logo-stacked {
  width: clamp(205px, 17vw, 250px);
  height: auto;
  display: block;
  filter: drop-shadow(0 5px 10px rgba(18,52,91,.08));
}
.footer-tagline-v7 {
  margin: 13px 0 0;
  color: #294864;
  font-size: 13px;
  font-weight: 760;
  letter-spacing: .02em;
}
.footer-tagline-v7 strong { color: #2f73b7; }
.footer-copy {
  margin-top: 10px;
  color: #62768a;
  font-size: 13px;
  max-width: 360px;
}
.footer h4 {
  margin: 2px 0 14px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #1d3a57;
}
.footer-links { gap: 10px; }
.footer-links a,
.footer-links span {
  color: #536a7f;
  font-size: 13px;
}
.footer-links a:hover { color: #173f70; }
.footer-bottom {
  border-top: 1px solid #d1dbe4;
  color: #6c7d8e;
}

/* Keep the logo and all navigation actions intact; collapse earlier before space gets tight. */
@media (max-width: 1180px) {
  .menu-btn { display: block; margin-left: auto; }
  .nav { min-height: 74px; }
  .header-logo { width: 218px !important; }
  .nav-links {
    display: none;
    position: absolute;
    left: 24px;
    right: 24px;
    top: 78px;
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    align-items: stretch;
    flex-direction: column;
    white-space: normal;
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 12px 14px !important; }
  .nav-links a:not(.nav-cta)::after { display: none; }
  .nav-cta { margin-left: 0 !important; margin-top: 3px; }
}

@media (max-width: 700px) {
  .site-header .container { width: min(100% - 28px, 1480px); }
  .nav { min-height: 70px; }
  .header-logo { width: 196px !important; }
  .nav-links { top: 72px; left: 14px; right: 14px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > :first-child, .footer-main > :last-child { grid-column: 1 / -1; }
  .footer-logo-stacked { width: 215px; }
}


/* === V9: darker header/footer refinement based on review === */
:root {
  --header-ice: #eef2f6;
  --footer-slate-1: #dde5ec;
  --footer-slate-2: #d2dbe4;
}
body {
  background:
    radial-gradient(circle at 76% 6%, rgba(60,118,178,.05), transparent 29%),
    linear-gradient(180deg, #fcfdff 0%, #f8fafc 52%, #f4f7fa 100%);
}
.site-header {
  background: rgba(238,242,246,.96);
  border-bottom: 1px solid #d5dfe8;
  box-shadow: 0 6px 18px rgba(18,52,91,.05);
}
.site-header .container {
  width: min(1360px, calc(100% - clamp(28px, 5vw, 78px)));
}
.nav {
  min-height: 72px;
  gap: 20px;
}
.header-logo {
  width: clamp(190px, 15.5vw, 222px) !important;
}
.nav-links {
  gap: 2px;
}
.nav-links a {
  padding: 9px 10px !important;
  font-size: 13px;
}
.nav-links a:hover:not(.nav-cta),
.nav-links a.active:not(.nav-cta) {
  background: rgba(255,255,255,.66) !important;
}
.nav-cta {
  margin-left: 10px !important;
  min-height: 41px;
  padding: 0 16px !important;
  background: linear-gradient(180deg, #1d4f86, #12355b) !important;
  color: #ffffff !important;
  border: 1px solid rgba(18,53,91,.08);
  box-shadow: 0 8px 18px rgba(18,52,91,.16);
  white-space: nowrap;
}
.nav-cta:hover {
  background: linear-gradient(180deg, #245c98, #163e69) !important;
}
.footer {
  margin-top: 72px;
  background: linear-gradient(180deg, var(--footer-slate-1) 0%, var(--footer-slate-2) 100%);
  color: #314b63;
  border-top: 1px solid #c8d3dd;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.footer-main {
  padding: 50px 0 36px;
}
.footer-logo-stacked {
  width: clamp(220px, 18vw, 265px);
  filter: drop-shadow(0 4px 10px rgba(18,52,91,.06));
}
.footer-tagline-v7 {
  color: #254561;
}
.footer-copy {
  color: #556b80;
}
.footer h4 {
  color: #173654;
}
.footer-links a,
.footer-links span {
  color: #4a6277;
}
.footer-links a:hover { color: #12355b; }
.footer-bottom {
  border-top: 1px solid #c6d0d9;
  color: #627487;
}
@media (max-width: 1180px) {
  .header-logo { width: 210px !important; }
}
@media (max-width: 700px) {
  .site-header .container { width: min(100% - 28px, 1360px); }
  .header-logo { width: 192px !important; }
}


/* === V10: tighter darker shell + ice white modern body === */
:root {
  --header-ice-v10: #e6edf4;
  --footer-slate1-v10: #cfd8e1;
  --footer-slate2-v10: #c5d0da;
}
body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,251,254,.96)),
    url('../img/circuit-bg-subtle.svg');
  background-size: cover;
  background-attachment: fixed;
  background-position: center top;
}
.site-header {
  background: rgba(230,237,244,.96);
  border-bottom: 1px solid #cfd8e1;
  box-shadow: 0 6px 18px rgba(18,52,91,.055);
}
.site-header .container {
  width: min(1240px, calc(100% - clamp(24px, 5vw, 64px)));
}
.nav {
  min-height: 68px;
  gap: 18px;
}
.brand-header { padding-right: 6px; }
.header-logo {
  width: clamp(176px, 14vw, 205px) !important;
}
.nav-links {
  gap: 0;
}
.nav-links a {
  padding: 8px 9px !important;
  font-size: 12.5px;
}
.nav-links a:not(.nav-cta)::after {
  left: 9px;
  right: 9px;
  bottom: 2px;
}
.nav-cta {
  margin-left: 8px !important;
  min-height: 40px;
  padding: 0 14px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #2765a2, #143a63) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(20,58,99,.18);
  white-space: nowrap;
  font-weight: 720;
}
.nav-cta:hover {
  background: linear-gradient(180deg, #2e74b8, #184674) !important;
  color: #ffffff !important;
}
.hero {
  background: transparent;
}
.hero-visual,
.card,
.step,
.capability,
.form-card,
.metric,
.value,
.audience-card {
  background: rgba(255,255,255,.9);
}
.footer {
  background: linear-gradient(180deg, var(--footer-slate1-v10) 0%, var(--footer-slate2-v10) 100%);
  color: #324a61;
  border-top: 1px solid #bcc8d3;
}
.footer .container {
  width: min(1120px, calc(100% - clamp(24px, 5vw, 64px)));
}
.footer-main {
  padding: 34px 0 24px;
  gap: clamp(20px, 3vw, 42px);
  grid-template-columns: minmax(240px,1.15fr) repeat(3,minmax(130px,.68fr));
}
.footer-logo-stacked {
  width: clamp(150px, 12vw, 182px);
}
.footer-tagline-v7 {
  margin-top: 10px;
  font-size: 12px;
}
.footer-copy {
  margin-top: 8px;
  max-width: 290px;
  font-size: 12px;
  line-height: 1.5;
}
.footer h4 {
  margin: 0 0 10px;
  font-size: 10.5px;
}
.footer-links { gap: 7px; }
.footer-links a,
.footer-links span {
  font-size: 12px;
}
.footer-bottom {
  min-height: 46px;
  font-size: 11px;
  border-top: 1px solid #bcc8d3;
}
@media (max-width: 1180px) {
  .site-header .container {
    width: min(1180px, calc(100% - 28px));
  }
  .menu-btn { display:block; margin-left:auto; }
  .header-logo { width: 194px !important; }
  .nav-links {
    display: none;
    position: absolute;
    left: 16px;
    right: 16px;
    top: 72px;
    padding: 14px;
    border-radius: 14px;
    background: #f8fbfe;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    align-items: stretch;
    flex-direction: column;
    white-space: normal;
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding: 12px 14px !important; font-size: 13px; }
  .nav-links a:not(.nav-cta)::after { display:none; }
  .nav-cta { margin-left:0 !important; margin-top:4px; }
  .footer .container { width: min(100% - 28px, 1120px); }
}
@media (max-width: 700px) {
  .nav { min-height: 64px; }
  .header-logo { width: 182px !important; }
  .footer-main {
    padding: 28px 0 18px;
    grid-template-columns: 1fr 1fr;
  }
  .footer-main > :first-child,
  .footer-main > :last-child { grid-column: 1 / -1; }
  .footer-logo-stacked { width: 165px; }
}


/* === V11: final shell polish === */
:root {
  --v11-body: #fbfdff;
  --v11-header: #dfe7ee;
  --v11-header-edge: #c7d3de;
  --v11-footer-top: #bdc9d4;
  --v11-footer-bottom: #b2c0cc;
  --v11-ink: #173752;
}

/* Ice-white body with a restrained circuit pattern. */
body {
  background-color: var(--v11-body);
  background-image:
    linear-gradient(180deg, rgba(251,253,255,.94), rgba(247,250,253,.96)),
    url('../img/circuit-bg-subtle.svg');
  background-size: auto, 1500px auto;
  background-repeat: repeat, repeat-y;
  background-position: center top, center top;
  background-attachment: scroll, fixed;
}

/* Compact shell: visibly distinct from body but still light enough for the logo. */
.site-header {
  background: rgba(223,231,238,.97);
  border-bottom: 1px solid var(--v11-header-edge);
  box-shadow: 0 5px 14px rgba(18,52,91,.055);
  backdrop-filter: blur(14px);
}
.site-header .container {
  width: min(1120px, calc(100% - clamp(24px, 5vw, 54px)));
}
.nav {
  min-height: 62px;
  gap: 16px;
}
.brand-header {
  min-width: 0;
  padding: 0 8px 0 0;
}
.header-logo {
  width: clamp(170px, 12.8vw, 190px) !important;
  height: auto !important;
  display: block;
  object-fit: contain;
}
.nav-links {
  margin-left: auto;
  gap: 1px;
}
.nav-links a {
  padding: 7px 8px !important;
  font-size: 12px;
  line-height: 1.1;
}
.nav-links a:not(.nav-cta)::after {
  left: 8px;
  right: 8px;
  bottom: 1px;
}
.nav-links a:hover:not(.nav-cta),
.nav-links a.active:not(.nav-cta) {
  background: rgba(255,255,255,.56) !important;
}

/* Higher specificity than .nav-links a so the CTA can never be painted white/transparent. */
.nav-links a.nav-cta,
.nav-links a.nav-cta:visited {
  margin-left: 8px !important;
  min-height: 38px;
  padding: 0 14px !important;
  border-radius: 9px !important;
  border: 1px solid #164471 !important;
  background: linear-gradient(180deg, #2d70ae 0%, #174773 100%) !important;
  background-color: #174773 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 7px 16px rgba(20,58,99,.18);
  white-space: nowrap;
  font-weight: 760;
}
.nav-links a.nav-cta:hover,
.nav-links a.nav-cta:focus {
  background: linear-gradient(180deg, #367fbe 0%, #1a527f 100%) !important;
  background-color: #1a527f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* The body remains bright; surfaces are only slightly frosted over the circuit pattern. */
.hero,
.page-hero,
.section,
.section-tight,
.cta-band {
  background-color: transparent;
}
.hero-visual,
.card,
.step,
.capability,
.form-card,
.metric,
.value,
.audience-card,
.dimension-card,
.path-step {
  background-color: rgba(255,255,255,.93);
  backdrop-filter: blur(2px);
}

/* Footer is intentionally compact: roughly half the visual height of V8/V9. */
.footer {
  margin-top: 54px;
  background: linear-gradient(180deg, var(--v11-footer-top) 0%, var(--v11-footer-bottom) 100%);
  color: #29455e;
  border-top: 1px solid #aebdca;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.48);
}
.footer .container {
  width: min(940px, calc(100% - clamp(24px, 5vw, 48px)));
}
.footer-main {
  padding: 24px 0 16px;
  grid-template-columns: minmax(210px,1.08fr) repeat(3,minmax(115px,.62fr));
  gap: clamp(16px, 2.2vw, 28px);
  align-items: start;
}
.footer-brand {
  max-width: 250px;
}
.footer-logo-stacked {
  width: clamp(128px, 10vw, 150px);
  filter: drop-shadow(0 3px 7px rgba(18,52,91,.045));
}
.footer-tagline-v7 {
  margin: 7px 0 0;
  font-size: 10.5px;
  line-height: 1.3;
  color: #264862;
}
.footer-copy {
  margin-top: 6px;
  max-width: 235px;
  font-size: 10.5px;
  line-height: 1.42;
  color: #465e73;
}
.footer h4 {
  margin: 0 0 7px;
  font-size: 9.5px;
  letter-spacing: .13em;
  color: #153750;
}
.footer-links {
  gap: 5px;
}
.footer-links a,
.footer-links span {
  font-size: 10.5px;
  line-height: 1.35;
  color: #405970;
}
.footer-links a:hover {
  color: #123b61;
}
.footer-bottom {
  min-height: 34px;
  padding: 7px 0 9px;
  font-size: 9.5px;
  border-top: 1px solid #aebdca;
  color: #53687b;
}

@media (max-width: 1180px) {
  .site-header .container {
    width: min(1080px, calc(100% - 28px));
  }
  .nav {
    min-height: 62px;
  }
  .header-logo {
    width: 182px !important;
  }
  .menu-btn {
    display: block;
    margin-left: auto;
  }
  .nav-links {
    display: none;
    position: absolute;
    left: 14px;
    right: 14px;
    top: 66px;
    padding: 12px;
    border-radius: 13px;
    background: #f7fafc;
    border: 1px solid #cfd9e3;
    box-shadow: var(--shadow-sm);
    align-items: stretch;
    flex-direction: column;
    white-space: normal;
  }
  .nav-links.open { display: flex; }
  .nav-links a {
    padding: 11px 13px !important;
    font-size: 13px;
  }
  .nav-links a:not(.nav-cta)::after { display: none; }
  .nav-links a.nav-cta {
    margin: 4px 0 0 !important;
    min-height: 42px;
  }
  .footer .container {
    width: min(100% - 28px, 940px);
  }
}

@media (max-width: 700px) {
  body {
    background-size: auto, 1050px auto;
  }
  .site-header .container {
    width: min(100% - 24px, 1120px);
  }
  .nav { min-height: 58px; }
  .header-logo { width: 168px !important; }
  .nav-links { top: 62px; }
  .footer-main {
    padding: 20px 0 12px;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
  }
  .footer-main > :first-child,
  .footer-main > :last-child { grid-column: 1 / -1; }
  .footer-logo-stacked { width: 138px; }
  .footer-brand { max-width: 240px; }
  .footer-bottom { min-height: 32px; }
}


/* === V12: proportional shell alignment === */
:root {
  --v12-shell-max: 1440px;
  --v12-shell-gutter: clamp(32px, 6vw, 96px);
  --v12-header-bg: #d9e3ec;
  --v12-header-edge: #c4d0dc;
  --v12-footer-top: #b7c5d1;
  --v12-footer-bottom: #aebdca;
}

/* Keep the ice-white body and make the circuit pattern scale with the viewport. */
body {
  background-color: #fbfdff;
  background-image:
    linear-gradient(180deg, rgba(251,253,255,.94), rgba(247,250,253,.965)),
    url('../img/circuit-bg-subtle.svg');
  background-size: auto, max(1400px, 100vw) auto;
  background-repeat: repeat, repeat-y;
  background-position: center top, center top;
  background-attachment: scroll, fixed;
}

/* Header background spans the screen; its content follows the same visual grid as the page. */
.site-header {
  background: rgba(217,227,236,.975);
  border-bottom: 1px solid var(--v12-header-edge);
  box-shadow: 0 5px 16px rgba(18,52,91,.06);
}
.site-header .container {
  width: min(var(--v12-shell-max), calc(100% - var(--v12-shell-gutter)));
}
.nav {
  min-height: 64px;
  gap: clamp(16px, 2vw, 28px);
}
.brand-header {
  padding-right: 4px;
  flex: 0 0 auto;
}
.header-logo {
  width: clamp(178px, 11.5vw, 202px) !important;
}
.nav-links {
  margin-left: auto;
  gap: 1px;
}
.nav-links a {
  padding: 8px 9px !important;
  font-size: 12.5px;
}
.nav-links a:not(.nav-cta)::after {
  left: 9px;
  right: 9px;
  bottom: 1px;
}

/* Force CTA styling above every generic nav rule. */
.site-header .nav-links a.nav-cta,
.site-header .nav-links a.nav-cta:link,
.site-header .nav-links a.nav-cta:visited {
  margin-left: 9px !important;
  min-height: 39px !important;
  padding: 0 15px !important;
  border: 1px solid #154674 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #347ab7 0%, #174a78 100%) !important;
  background-color: #174a78 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 7px 17px rgba(20,58,99,.20) !important;
  white-space: nowrap !important;
  font-weight: 760 !important;
}
.site-header .nav-links a.nav-cta:hover,
.site-header .nav-links a.nav-cta:focus {
  background: linear-gradient(180deg, #3d87c7 0%, #1b5788 100%) !important;
  background-color: #1b5788 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Footer stays compact vertically, but its columns align proportionally with the page/header. */
.footer {
  margin-top: 50px;
  background: linear-gradient(180deg, var(--v12-footer-top) 0%, var(--v12-footer-bottom) 100%);
  border-top: 1px solid #9fB0be;
  color: #29445d;
}
.footer .container {
  width: min(var(--v12-shell-max), calc(100% - var(--v12-shell-gutter)));
}
.footer-main {
  padding: 22px 0 14px;
  grid-template-columns: minmax(255px, 1.2fr) repeat(3, minmax(145px, .72fr));
  gap: clamp(22px, 3.5vw, 56px);
  align-items: start;
}
.footer-brand {
  max-width: 280px;
}
.footer-logo-stacked {
  width: clamp(138px, 10vw, 164px);
}
.footer-tagline-v7 {
  margin-top: 7px;
  font-size: 10.5px;
}
.footer-copy {
  margin-top: 5px;
  max-width: 270px;
  font-size: 10.5px;
  line-height: 1.4;
}
.footer h4 {
  margin: 1px 0 7px;
  font-size: 9.5px;
}
.footer-links {
  gap: 5px;
}
.footer-links a,
.footer-links span {
  font-size: 10.5px;
  line-height: 1.32;
}
.footer-bottom {
  min-height: 32px;
  padding: 6px 0 8px;
  font-size: 9.5px;
  border-top: 1px solid #9facb8;
}

/* Desktop/tablet alignment: remain proportional until the navigation genuinely needs a menu. */
@media (max-width: 1180px) {
  .site-header .container,
  .footer .container {
    width: calc(100% - 28px);
  }
  .menu-btn { display: block; margin-left: auto; }
  .nav { min-height: 62px; }
  .header-logo { width: 184px !important; }
  .nav-links {
    display: none;
    position: absolute;
    left: 14px;
    right: 14px;
    top: 66px;
    padding: 12px;
    border-radius: 13px;
    background: #f8fbfd;
    border: 1px solid #cbd7e1;
    box-shadow: var(--shadow-sm);
    align-items: stretch;
    flex-direction: column;
    white-space: normal;
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 11px 13px !important; font-size: 13px; }
  .nav-links a:not(.nav-cta)::after { display: none; }
  .site-header .nav-links a.nav-cta { margin: 4px 0 0 !important; min-height: 42px !important; }
}

@media (max-width: 760px) {
  body { background-size: auto, 1150px auto; }
  .site-header .container,
  .footer .container { width: calc(100% - 24px); }
  .nav { min-height: 58px; }
  .header-logo { width: 168px !important; }
  .nav-links { top: 62px; }
  .footer-main {
    padding: 18px 0 11px;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
  }
  .footer-main > :first-child,
  .footer-main > :last-child { grid-column: 1 / -1; }
  .footer-logo-stacked { width: 138px; }
}


/* === V14: true fluid widescreen layout ===
   Previous releases stopped at 1440-1480px, which made ultrawide displays
   look like a narrow centered site. V14 keeps controlled edge gutters while
   allowing the interface to scale with the viewport. */
:root {
  --fluid-page-gutter: clamp(24px, 3.25vw, 112px);
}

/* Fluid global grid — no fixed desktop max-width ceiling. */
.container,
.site-header .container,
.footer .container {
  width: calc(100% - (2 * var(--fluid-page-gutter))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Widescreen rhythm: use the extra canvas rather than leaving it blank. */
@media (min-width: 1600px) {
  .hero-grid {
    grid-template-columns: minmax(0, .96fr) minmax(620px, 1.04fr);
    gap: clamp(64px, 5vw, 132px);
  }
  .hero h1 { max-width: 900px; }
  .hero .lead { max-width: 760px; }
  .hero-visual { min-height: clamp(540px, 31vw, 680px); }
  .section-head { gap: clamp(56px, 5vw, 120px); }
  .section-head p { max-width: 680px; }
  .cards-4 { gap: clamp(20px, 1.65vw, 38px); }
  .card { padding: clamp(30px, 2vw, 44px); }
  .trust-grid { grid-template-columns: 1.1fr repeat(6,1fr); }
  .cta-box { padding: clamp(50px, 3.5vw, 76px); }
  .footer-main {
    grid-template-columns: minmax(300px,1.3fr) repeat(3,minmax(170px,.72fr));
    gap: clamp(36px, 4vw, 88px);
  }
  .footer-brand { max-width: 340px; }
}

/* Very wide / 2K / ultrawide monitors. Keep content readable while still
   occupying the viewport. Individual text blocks remain constrained. */
@media (min-width: 2200px) {
  :root { --fluid-page-gutter: clamp(80px, 4vw, 150px); }
  h1 { font-size: clamp(72px, 3.7vw, 98px); }
  h2 { font-size: clamp(46px, 2.5vw, 68px); }
  .hero { padding-top: 108px; padding-bottom: 100px; }
  .hero h1 { max-width: 1050px; }
  .hero .lead { max-width: 820px; font-size: 23px; }
  .hero-visual { min-height: 650px; }
  .card p, .card li { font-size: 15px; }
  .footer-main { padding-top: 26px; }
}

/* At laptop/tablet widths use the existing responsive behavior. */
@media (max-width: 1180px) {
  :root { --fluid-page-gutter: 14px; }
  .container,
  .site-header .container,
  .footer .container { width: calc(100% - 28px) !important; }
}
@media (max-width: 760px) {
  :root { --fluid-page-gutter: 12px; }
  .container,
  .site-header .container,
  .footer .container { width: calc(100% - 24px) !important; }
}


/* === V15 refinements === */
.hero-visual.hero-visual-image {
  display: grid;
  place-items: center;
  padding: clamp(12px, 1.6vw, 20px);
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(240,246,251,.88));
}
.hero-visual.hero-visual-image::before { opacity: .9; }
.hero-visual.hero-visual-image::after { opacity: .8; }
.hero-art {
  width: 100%;
  max-width: min(100%, 920px);
  height: auto;
  display: block;
}
.footer-logo-link {
  display: inline-block;
  line-height: 0;
}
.footer-logo-stacked {
  width: clamp(168px, 12.8vw, 210px);
  height: auto;
  object-fit: contain;
}
.footer-tagline-v7 {
  margin-top: 8px;
  font-size: 13px;
}
.footer-copy {
  margin-top: 10px;
  max-width: 320px;
  font-size: 13px;
  line-height: 1.6;
}
.footer h4 {
  margin: 0 0 12px;
  font-size: 11.5px;
  letter-spacing: .18em;
}
.footer-links a,
.footer-links span {
  font-size: 13.5px;
  line-height: 1.7;
}
.footer-bottom {
  font-size: 12px;
}
@media (min-width: 1600px) {
  .footer-logo-stacked { width: 205px; }
}
@media (max-width: 900px) {
  .hero-art { max-width: 100%; }
  .footer-links a,
  .footer-links span { font-size: 13px; }
}


/* === V17 premium shell refinement === */
.brand.brand-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  line-height: 1;
}
.header-logo {
  display: block;
}
.header-brand-tagline {
  display: block;
  margin-top: 2px;
  margin-left: 34%;
  white-space: nowrap;
  font-size: 9.5px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: .02em;
  color: #173e6f;
}
.header-brand-tagline strong {
  color: #2f73b7;
  font-weight: 800;
}

/* Keep footer visually broad and premium; reduce vertical footprint only. */
.footer .container {
  width: min(1760px, calc(100% - clamp(56px, 7vw, 150px)));
}
.footer-main {
  grid-template-columns: minmax(300px, 1.35fr) repeat(3, minmax(170px, .8fr));
  justify-content: space-between;
  align-items: start;
  gap: clamp(42px, 5vw, 90px);
  padding: 26px 0 18px;
}
.footer-brand {
  max-width: 390px;
}
.footer-logo-stacked {
  width: clamp(170px, 12.5vw, 205px);
}
.footer-copy {
  margin-top: 8px;
  max-width: 340px;
  font-size: 13px;
  line-height: 1.55;
}
.footer h4 {
  margin: 2px 0 10px;
  font-size: 11.5px;
  letter-spacing: .16em;
}
.footer-links {
  gap: 7px;
}
.footer-links a,
.footer-links span {
  font-size: 13.5px;
  line-height: 1.5;
}
.footer-bottom {
  min-height: 42px;
  font-size: 12px;
}

@media (min-width: 1800px) {
  .footer .container {
    width: min(1840px, calc(100% - 170px));
  }
  .footer-main {
    gap: clamp(56px, 6vw, 120px);
  }
}

@media (max-width: 1180px) {
  .header-brand-tagline {
    margin-left: 33.5%;
    font-size: 9px;
  }
  .footer .container {
    width: min(100% - 42px, 1500px);
  }
  .footer-main {
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 34px;
  }
  .footer-main > :last-child {
    grid-column: 2 / 4;
  }
}

@media (max-width: 900px) {
  .header-brand-tagline { display: none; }
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  .footer-main > :first-child,
  .footer-main > :last-child {
    grid-column: 1 / -1;
  }
  .footer-links a,
  .footer-links span {
    font-size: 13px;
  }
}


/* === V18 almost-final brand shell === */
.header-brand-tagline { display:none !important; }

.footer {
  background: linear-gradient(180deg, #bfcddb 0%, #b8c7d6 100%);
}
.footer .container {
  width: min(94vw, 1720px);
}
.footer-main {
  display: grid;
  grid-template-columns: minmax(360px, 1.55fr) repeat(3, minmax(160px, .82fr));
  gap: clamp(34px, 4.2vw, 82px);
  align-items: start;
  padding: 40px 0 26px;
}
.footer-brand-signature {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  color: inherit;
}
.footer-brand-row {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.footer-brand-mark {
  width: 104px;
  height: auto;
  display: block;
  flex: 0 0 auto;
}
.footer-brand-divider {
  width: 1px;
  height: 58px;
  background: rgba(17,51,84,.34);
  display: block;
}
.footer-brand-wordstack {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
}
.footer-brand-nobleeight {
  width: 184px;
  height: auto;
  display: block;
}
.footer-brand-solutions {
  width: 152px;
  height: auto;
  display: block;
}
.footer-brand-tagline {
  display: block;
  margin-top: 10px;
  margin-left: 120px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
  color: #183b60;
}
.footer-brand-tagline strong {
  color: #2f73b7;
}
.footer-copy {
  margin-top: 12px;
  max-width: 360px;
  font-size: 13.5px;
  line-height: 1.65;
}
.footer h4 {
  margin: 2px 0 14px;
  font-size: 11.5px;
  letter-spacing: .2em;
}
.footer-links { gap: 8px; }
.footer-links a,
.footer-links span {
  font-size: 13.5px;
  line-height: 1.72;
}
.footer-bottom {
  min-height: 46px;
  padding: 16px 0 18px;
  border-top: 1px solid rgba(17,51,84,.12);
  font-size: 12px;
}
/* Keep the areas-of-focus strip static and premium, not ticker-like */
.trust-grid { overflow: hidden; }
.trust-grid .tech-chip { min-width: fit-content; }
@media (min-width: 1700px) {
  .footer-brand-mark { width: 110px; }
  .footer-brand-nobleeight { width: 196px; }
  .footer-brand-solutions { width: 162px; }
}
@media (max-width: 1200px) {
  .footer-main {
    grid-template-columns: minmax(320px, 1.4fr) 1fr 1fr;
    gap: 28px 36px;
  }
  .footer-main > :last-child { grid-column: 2 / 4; }
}
@media (max-width: 900px) {
  .footer-main {
    grid-template-columns: 1fr 1fr;
    padding: 30px 0 22px;
    gap: 24px 28px;
  }
  .footer-main > :first-child,
  .footer-main > :last-child { grid-column: 1 / -1; }
  .footer-brand-mark { width: 90px; }
  .footer-brand-divider { height: 50px; }
  .footer-brand-nobleeight { width: 164px; }
  .footer-brand-solutions { width: 138px; }
  .footer-brand-tagline { margin-left: 104px; font-size: 13px; }
  .footer-links a,
  .footer-links span { font-size: 13px; }
}
@media (max-width: 560px) {
  .footer .container { width: calc(100% - 28px); }
  .footer-main { grid-template-columns: 1fr; }
  .footer-main > :last-child { grid-column: auto; }
}


/* === V19 correction: restore clean V15 header + rebalance footer mark === */
.brand.brand-header {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  line-height: normal !important;
}
.header-brand-tagline,
.brand-tagline { display: none !important; }
.header-logo {
  display: block !important;
  width: clamp(176px, 14vw, 205px) !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Footer Option 1 proportions: make the symbol equal in visual height to the word stack. */
.footer-brand-row { gap: 16px; }
.footer-brand-mark {
  width: 128px;
  height: auto;
}
.footer-brand-divider {
  height: 64px;
}
.footer-brand-nobleeight { width: 184px; }
.footer-brand-solutions { width: 152px; }
.footer-brand-tagline {
  margin-left: 161px;
}
@media (min-width: 1700px) {
  .footer-brand-mark { width: 136px; }
  .footer-brand-divider { height: 68px; }
  .footer-brand-nobleeight { width: 196px; }
  .footer-brand-solutions { width: 162px; }
  .footer-brand-tagline { margin-left: 169px; }
}
@media (max-width: 1200px) {
  .header-logo { width: 184px !important; }
}
@media (max-width: 900px) {
  .header-logo { width: 168px !important; }
  .footer-brand-mark { width: 108px; }
  .footer-brand-divider { height: 56px; }
  .footer-brand-nobleeight { width: 164px; }
  .footer-brand-solutions { width: 138px; }
  .footer-brand-tagline { margin-left: 141px; }
}


/* === V20 micro-fix: footer tagline placement === */
.footer-brand-tagline {
  margin-top: 6px !important;
  margin-left: 148px !important;
  line-height: 1.2;
}
@media (min-width: 1700px) {
  .footer-brand-tagline {
    margin-left: 156px !important;
    margin-top: 6px !important;
  }
}
@media (max-width: 900px) {
  .footer-brand-tagline {
    margin-left: 118px !important;
    margin-top: 5px !important;
  }
}


/* === V21 exact footer lockup alignment === */
.footer-brand-signature {
  align-items: flex-start !important;
}
.footer-brand-tagline {
  margin-left: 0 !important;
  margin-top: 8px !important;
  padding-left: 0 !important;
  align-self: flex-start !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}
@media (min-width: 1700px) {
  .footer-brand-tagline {
    margin-left: 0 !important;
    margin-top: 8px !important;
    font-size: 13.5px !important;
  }
}
@media (max-width: 900px) {
  .footer-brand-tagline {
    margin-left: 0 !important;
    margin-top: 7px !important;
    font-size: 12.5px !important;
  }
}


/* === V30 controlled final polish === */

/* Hero: render the talent path as native HTML so labels remain crisp at every screen size. */
.hero-visual.talent-path-visual {
  min-height: 520px;
  padding: clamp(22px, 2.2vw, 36px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 14% 12%, rgba(59,130,246,.09), transparent 26%),
    linear-gradient(145deg, #ffffff 0%, #f2f6fb 100%);
  border: 1px solid #cbd5e1;
  box-shadow: 0 22px 56px rgba(15,23,42,.09);
}
.hero-visual.talent-path-visual::before,
.hero-visual.talent-path-visual::after { pointer-events: none; }
.talent-path-visual > * { position: relative; z-index: 2; }
.talent-path-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #d8e2ed;
}
.talent-path-kicker {
  display: block;
  margin-bottom: 7px;
  color: #2f67a7;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.talent-path-head h2 {
  max-width: 520px;
  font-size: clamp(22px, 2vw, 31px);
  line-height: 1.08;
  color: #102c4d;
  letter-spacing: -.025em;
}
.talent-path-count {
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  background: #eef4fa;
  color: #355b82;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.talent-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.talent-stage {
  min-height: 130px;
  padding: 16px 15px;
  border-radius: 18px;
  border: 1px solid #cbd5e1;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 9px 20px rgba(15,23,42,.055);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.talent-stage:hover {
  transform: translateY(-2px);
  border-color: #9fb6cd;
  box-shadow: 0 14px 28px rgba(15,23,42,.09);
}
.stage-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 27px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e8f1fb;
  color: #1f5790;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
}
.talent-stage h3 {
  margin-top: 13px;
  font-size: clamp(15px, 1.22vw, 19px);
  line-height: 1.12;
  letter-spacing: -.02em;
  color: #173e6f;
}
.talent-stage p {
  margin-top: 8px;
  color: #536b83;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.35;
}
.talent-stage.stage-emphasis {
  background: linear-gradient(145deg, #153d6b 0%, #0e3159 100%);
  border-color: #153d6b;
}
.talent-stage.stage-emphasis .stage-number {
  background: #dceafb;
  color: #173e6f;
}
.talent-stage.stage-emphasis h3 { color: #fff; }
.talent-stage.stage-emphasis p { color: #cbdced; }
.talent-path-footer {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: #526c87;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.path-line {
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #9fb7d0, #3b82f6);
}

/* Proof points above the fold: stronger but still restrained. */
.proof-icon {
  background: #e5f2ff;
  color: #1f6fb5;
  box-shadow: inset 0 0 0 1px rgba(59,130,246,.10);
}
.proof-pill {
  border-color: #cbd5e1;
  box-shadow: 0 8px 22px rgba(15,23,42,.055);
}

/* Structured service index. */
.tech-chip {
  border-color: #cbd5e1;
  background: linear-gradient(180deg, #ffffff, #f2f6fa);
}
.tech-chip:hover,
.tech-chip:focus-visible {
  border-color: #8ca8c4;
  color: #173e6f;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
  outline: none;
}

/* Break up card fatigue with a deliberate cool-slate technology-path band. */
.path-section {
  background:
    radial-gradient(circle at 86% 12%, rgba(59,130,246,.055), transparent 25%),
    linear-gradient(180deg, #f1f5f9 0%, #f7f9fc 100%) !important;
  border-top: 1px solid #d7e0e9;
  border-bottom: 1px solid #d7e0e9;
}
.path-step {
  border-color: #d3dde8;
  box-shadow: 0 10px 26px rgba(15,23,42,.045);
}

/* Make capability cards clearly actionable. */
.card-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #164f86;
  transition: color .18s ease;
}
.card-link .link-arrow {
  display: inline-block;
  color: #3b82f6;
  transition: transform .18s ease, color .18s ease;
}
.card:hover .card-link,
.card-link:hover { color: #0f3f6e; text-decoration: none; }
.card:hover .card-link .link-arrow,
.card-link:hover .link-arrow {
  transform: translateX(4px);
  color: #2563eb;
}

/* Executive-summary icon treatment in the dark panel. */
.feature-icon-glow {
  color: #bfe0ff;
  background: rgba(85,163,238,.13) !important;
  border: 1px solid rgba(126,183,235,.22);
  box-shadow: 0 0 22px rgba(59,130,246,.10);
}
.feature-icon-glow svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Anchor destination comfort below sticky navigation. */
.capability { scroll-margin-top: 120px; }

@media (max-width: 1280px) {
  .talent-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .talent-stage { min-height: 118px; }
  .talent-stage h3 { font-size: 18px; }
}
@media (max-width: 1080px) {
  .hero-visual.talent-path-visual { min-height: auto; }
  .talent-path-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .talent-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .talent-path-head { align-items: flex-start; }
  .talent-path-head h2 { font-size: 24px; }
  .talent-path-footer { display: none; }
}
@media (max-width: 440px) {
  .talent-path-grid { grid-template-columns: 1fr; }
  .talent-path-count { display: none; }
}


/* === V31 Contact page: single-window desktop inquiry === */
.contact-page .contact-stage {
  padding: clamp(20px, 2.4vh, 30px) 0;
}
.contact-page .contact-grid-compact {
  grid-template-columns: minmax(420px, .92fr) minmax(600px, 1.08fr);
  gap: clamp(24px, 2.6vw, 44px);
  align-items: stretch;
}
.contact-page .contact-card-compact,
.contact-page .form-card-compact {
  min-height: 0;
  border-radius: 26px;
}
.contact-page .contact-card-compact {
  padding: clamp(28px, 2.2vw, 38px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background:
    radial-gradient(circle at 18% 12%, rgba(96,165,250,.15), transparent 27%),
    linear-gradient(145deg, #0e2f56 0%, #173f70 100%);
  box-shadow: 0 20px 48px rgba(15,23,42,.13);
}
.contact-page .contact-breadcrumb {
  margin-bottom: 10px;
  color: #a8c2dd;
}
.contact-page .contact-breadcrumb a { color: #dce9f7; }
.contact-page .contact-eyebrow {
  margin-bottom: 12px;
  color: #c5daf0;
}
.contact-page .contact-eyebrow::before { background: linear-gradient(90deg, #7fb1e6, #c5daf0); }
.contact-page .contact-card h1 {
  max-width: 700px;
  color: #fff;
  font-size: clamp(34px, 3.05vw, 50px);
  line-height: 1.04;
  letter-spacing: -.035em;
}
.contact-page .contact-lead {
  margin-top: 16px;
  max-width: 650px;
  color: #c9d9e9;
  font-size: clamp(14px, 1.15vw, 17px);
  line-height: 1.55;
}
.contact-page .contact-list-compact {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.contact-page .contact-list-compact .contact-item {
  min-width: 0;
  padding: 15px 0 13px;
  border-top: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.contact-page .contact-list-compact .contact-item span {
  margin-bottom: 7px;
  color: #a9c2da;
  font-size: 10.5px;
  letter-spacing: .13em;
}
.contact-page .contact-list-compact .contact-item a,
.contact-page .contact-list-compact .contact-item strong {
  display: block;
  margin-top: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.contact-page .form-card-compact {
  padding: clamp(26px, 2vw, 34px);
  border: 1px solid #cbd5e1;
  background: rgba(255,255,255,.97);
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
}
.contact-page .contact-form-head .eyebrow { margin-bottom: 8px; }
.contact-page .contact-form-head h2 {
  font-size: clamp(28px, 2.3vw, 38px);
  color: #102c4d;
}
.contact-page .contact-form-head p {
  margin-top: 8px;
  margin-bottom: 18px;
  color: #607086;
  font-size: 13px;
  line-height: 1.45;
}
.contact-page .contact-form-grid {
  gap: 11px 14px;
}
.contact-page .field { gap: 5px; }
.contact-page label {
  color: #354f6a;
  font-size: 11.5px;
  font-weight: 780;
}
.contact-page input,
.contact-page textarea,
.contact-page select {
  border-color: #cbd5e1;
  background-color: #fbfdff;
  box-shadow: inset 0 1px 0 rgba(15,23,42,.02);
}
.contact-page input,
.contact-page select {
  min-height: 43px;
  padding: 9px 12px;
}
.contact-page textarea {
  min-height: 82px;
  height: 82px;
  padding: 10px 12px;
  line-height: 1.4;
}
.contact-page select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23354f6a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 17px 17px;
}
.contact-page input:focus,
.contact-page textarea:focus,
.contact-page select:focus {
  border-color: #6f98c3;
  box-shadow: 0 0 0 4px rgba(59,130,246,.08);
}
.contact-page .contact-submit-row {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
  align-items: center;
  margin-top: 1px;
}
.contact-page .contact-submit-row .form-submit {
  grid-row: 1 / 3;
  min-height: 44px;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
}
.contact-page .contact-submit-row .form-status,
.contact-page .contact-submit-row .form-note { grid-column: 2; }
.contact-page .contact-submit-row .form-status { margin-top: 0; }
.contact-page .contact-submit-row .form-note {
  margin-top: 0;
  font-size: 10.5px;
  line-height: 1.35;
}

/* Preserve the approved footer design, but remove unnecessary vertical air on this utility page. */
.contact-page .footer { margin-top: 0; }
.contact-page .footer-main { padding-top: 18px; padding-bottom: 11px; }
.contact-page .footer-copy { margin-top: 6px; font-size: 12px; line-height: 1.4; }
.contact-page .footer h4 { margin-bottom: 7px; }
.contact-page .footer-links { gap: 4px; }
.contact-page .footer-links a,
.contact-page .footer-links span { font-size: 12px; line-height: 1.42; }
.contact-page .footer-bottom { min-height: 34px; padding-top: 8px; padding-bottom: 8px; }

@media (min-width: 1181px) and (max-height: 920px) {
  .contact-page .contact-stage { padding: 16px 0; }
  .contact-page .contact-card-compact { padding: 26px 30px; }
  .contact-page .form-card-compact { padding: 23px 28px; }
  .contact-page .contact-card h1 { font-size: clamp(32px, 2.7vw, 43px); }
  .contact-page .contact-lead { margin-top: 12px; font-size: 14px; }
  .contact-page .contact-list-compact { margin-top: 20px; }
  .contact-page .contact-list-compact .contact-item { padding: 11px 0 10px; }
  .contact-page .contact-form-head p { margin-bottom: 13px; }
  .contact-page .contact-form-grid { gap: 9px 13px; }
  .contact-page input,
  .contact-page select { min-height: 40px; }
  .contact-page textarea { min-height: 70px; height: 70px; }
  .contact-page .footer-main { padding-top: 14px; padding-bottom: 8px; }
  .contact-page .footer-brand-mark { width: 104px; }
  .contact-page .footer-brand-divider { height: 54px; }
  .contact-page .footer-brand-nobleeight { width: 168px; }
  .contact-page .footer-brand-solutions { width: 140px; }
  .contact-page .footer-brand-tagline { margin-top: 5px !important; font-size: 12px !important; }
  .contact-page .footer-copy { font-size: 11px; line-height: 1.32; }
  .contact-page .footer-links a,
  .contact-page .footer-links span { font-size: 11px; line-height: 1.3; }
  .contact-page .footer-bottom { min-height: 28px; padding: 5px 0 6px; font-size: 10.5px; }
}

@media (max-width: 1180px) {
  .contact-page .contact-stage { padding: 44px 0 54px; }
  .contact-page .contact-grid-compact { grid-template-columns: 1fr; }
  .contact-page .contact-card-compact,
  .contact-page .form-card-compact { padding: 34px; }
  .contact-page .contact-card h1 { font-size: clamp(40px, 7vw, 58px); }
  .contact-page .contact-lead { font-size: 16px; }
  .contact-page .footer { margin-top: 30px; }
}

@media (max-width: 700px) {
  .contact-page .contact-stage { padding: 28px 0 36px; }
  .contact-page .contact-card-compact,
  .contact-page .form-card-compact { padding: 24px 20px; border-radius: 22px; }
  .contact-page .contact-card h1 { font-size: clamp(36px, 10vw, 48px); }
  .contact-page .contact-list-compact { grid-template-columns: 1fr; }
  .contact-page .contact-form-grid { grid-template-columns: 1fr; }
  .contact-page .field.full { grid-column: auto; }
  .contact-page .contact-submit-row { grid-template-columns: 1fr; gap: 8px; }
  .contact-page .contact-submit-row .form-submit,
  .contact-page .contact-submit-row .form-status,
  .contact-page .contact-submit-row .form-note { grid-column: 1; grid-row: auto; }
  .contact-page textarea { min-height: 110px; height: 110px; }
}


/* === V32 Contact viewport correction + About page refinement === */

/* Contact: make the page occupy the full viewport cleanly. The footer is anchored
   to the bottom when content is shorter, while normal scrolling remains available
   when browser height or device width requires it. */
.contact-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
.contact-page > main {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.contact-page .contact-stage {
  flex: 1 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
}
.contact-page .contact-grid-compact {
  width: 100%;
}
.contact-page .footer {
  flex: 0 0 auto;
  margin-top: 0;
}

/* At comfortable desktop heights, add controlled breathing room so the contact
   experience fills the screen rather than ending in the middle of the viewport. */
@media (min-width: 1181px) and (min-height: 921px) {
  .contact-page .contact-stage {
    padding-top: clamp(34px, 4vh, 58px);
    padding-bottom: clamp(34px, 4vh, 58px);
  }
  .contact-page .contact-grid-compact {
    min-height: clamp(510px, 52vh, 620px);
  }
  .contact-page .contact-card-compact,
  .contact-page .form-card-compact {
    height: 100%;
  }
}

/* About page: introduce scrolling rhythm and distinguish values from operational cards. */
.about-values-section {
  position: relative;
}
.values-iconic .value {
  position: relative;
  padding-top: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-color: #d8e2ed;
  box-shadow: 0 10px 26px rgba(15,23,42,.045);
}
.value-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #edf4fb;
  color: #2f67a7;
  border: 1px solid #d7e5f3;
}
.value-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.values-iconic .value-index {
  position: absolute;
  top: 28px;
  right: 24px;
  color: #8da4bd;
}
.values-iconic .value h3 {
  margin-top: 24px;
}

.about-experience-band {
  padding: 0 0 74px;
}
.about-experience-band .container {
  padding: 34px 38px;
  border-radius: 24px;
  border: 1px solid #d8e2ed;
  background: linear-gradient(135deg, #f8fafc 0%, #eef4fa 100%);
  box-shadow: 0 12px 30px rgba(15,23,42,.045);
}
.about-experience-intro {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 36px;
  align-items: end;
  padding-bottom: 26px;
  border-bottom: 1px solid #d5e0eb;
}
.about-experience-intro .eyebrow { margin-bottom: 0; }
.about-experience-intro p {
  color: #51667c;
  font-size: 15px;
  line-height: 1.55;
}
.experience-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 26px;
}
.experience-metrics article {
  padding: 4px 30px;
  border-left: 1px solid #d5e0eb;
}
.experience-metrics article:first-child {
  padding-left: 0;
  border-left: 0;
}
.experience-metrics strong {
  display: block;
  color: #102f54;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.1;
  letter-spacing: -.025em;
}
.experience-metrics span {
  display: block;
  margin-top: 8px;
  color: #607086;
  font-size: 12.5px;
  line-height: 1.4;
}
.about-partner-section {
  background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
  border-top: 1px solid #dfe7ef;
  border-bottom: 1px solid #dfe7ef;
}

@media (max-width: 900px) {
  .about-experience-intro {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .experience-metrics {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .experience-metrics article,
  .experience-metrics article:first-child {
    padding: 0 0 18px;
    border-left: 0;
    border-bottom: 1px solid #d5e0eb;
  }
  .experience-metrics article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

@media (max-width: 700px) {
  .about-experience-band { padding-bottom: 54px; }
  .about-experience-band .container { padding: 28px 22px; border-radius: 20px; }
}


/* === V33 Capabilities page polish === */
.capabilities-overview {
  background:
    radial-gradient(circle at 92% 8%, rgba(59,130,246,.035), transparent 22%),
    transparent;
}
.capability {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border-color: #d7e0e9;
  box-shadow: 0 8px 24px rgba(15,23,42,.035);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.capability:hover {
  transform: translateY(-3px);
  border-color: #aebfd1;
  box-shadow: 0 16px 34px rgba(15,23,42,.075);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.capability p {
  color: #536a82;
}
.capability ul {
  margin-bottom: 0;
}
.capability li {
  padding-left: 26px;
  color: #334e68;
  font-size: 14px;
  line-height: 1.55;
}
.capability li::before {
  content: "✓";
  width: 16px;
  height: 16px;
  top: .28em;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e7f1fb;
  color: #1f6fb5;
  font-size: 10px;
  font-weight: 900;
}
.capability-platforms {
  margin-top: 24px;
  padding: 14px 16px;
  border: 1px solid #dce5ee;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fbfe, #f2f6fa);
}
.capability-platforms span {
  display: block;
  color: #5d7187;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.capability-platforms p {
  margin-top: 7px;
  color: #274969;
  font-size: 12.5px;
  line-height: 1.55;
  font-weight: 700;
}
.capability-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: #164f86;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
}
.capability-action span {
  color: #3b82f6;
  transition: transform .18s ease, color .18s ease;
}
.capability:hover .capability-action,
.capability-action:hover,
.capability-action:focus-visible {
  color: #0f3f6e;
  outline: none;
}
.capability:hover .capability-action span,
.capability-action:hover span,
.capability-action:focus-visible span {
  transform: translateX(4px);
  color: #2563eb;
}
.engagement-section {
  background: linear-gradient(180deg, rgba(248,250,252,.72), rgba(255,255,255,.92));
  border-top: 1px solid #e0e7ef;
  border-bottom: 1px solid #e0e7ef;
}
.engagement-list {
  margin-top: 0;
  gap: 0;
}
.engagement-feature {
  grid-template-columns: 48px 1fr;
  gap: 18px;
  padding: 24px 0;
  border-top: 1px solid #d6e0ea;
}
.engagement-feature:first-child {
  border-top: 0;
  padding-top: 4px;
}
.engagement-index {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #e9f0f7;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
}
.engagement-feature strong {
  font-size: 16px;
  color: #173e6f;
}
.engagement-feature span {
  display: block;
  margin-top: 6px;
  color: #50677f;
  font-size: 14.5px;
  line-height: 1.65;
}

@media (max-width: 700px) {
  .capability-platforms p { font-size: 12px; }
  .engagement-feature { grid-template-columns: 44px 1fr; gap: 14px; }
  .engagement-feature span { font-size: 14px; }
}


/* V34 Talent page polish */
.talent-services .card p {
  color: #536a82;
  font-size: 15px;
  line-height: 1.65;
}
.talent-services .card {
  min-height: 245px;
}

.talent-focus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 32px;
}
.talent-focus-card {
  min-height: 112px;
  display: grid;
  grid-template-columns: 12px 1fr;
  align-items: start;
  gap: 12px;
  padding: 22px;
  border: 1px solid #d7e2ec;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafe 100%);
  box-shadow: 0 9px 24px rgba(15, 23, 42, .045);
}
.focus-dot {
  width: 9px;
  height: 9px;
  margin-top: 7px;
  border-radius: 50%;
  background: #3b82f6;
  box-shadow: 0 0 0 5px rgba(59,130,246,.08);
}
.talent-focus-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.25;
}
.talent-focus-card span:not(.focus-dot) {
  display: block;
  margin-top: 8px;
  color: #5c7187;
  font-size: 13px;
  line-height: 1.5;
}

.talent-network-panel h2 {
  font-size: clamp(36px, 3.7vw, 48px);
}
.talent-network-panel p {
  margin-top: 18px;
}
.talent-professional-steps {
  margin-top: 22px;
}
.talent-professional-steps .feature {
  border-color: var(--line);
  grid-template-columns: 42px 1fr;
}
.talent-professional-steps .feature-icon {
  width: 36px;
  height: 36px;
  background: #edf3f9;
  color: var(--navy);
}
.talent-professional-steps .feature strong {
  color: var(--navy);
  font-size: 15px;
}
.talent-professional-steps .feature span {
  color: #5b7086;
  font-size: 14px;
  line-height: 1.55;
}
.talent-inline-action {
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}
.talent-inline-action:hover,
.talent-inline-action:focus-visible {
  color: #2563eb;
  transform: translateX(2px);
}

.talent-integrity-band {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
}
.talent-integrity-band .section-head {
  margin-bottom: 24px;
}
.talent-integrity-band .section-head p {
  color: #536a82;
}

@media (max-width: 1080px) {
  .talent-services .card { min-height: auto; }
}
@media (max-width: 700px) {
  .talent-focus-grid { grid-template-columns: 1fr; }
  .talent-focus-card { min-height: auto; }
}
