:root {
  --navy: #031443;
  --navy-2: #062d5b;
  --navy-3: #0b3f75;
  --blue: #076ee6;
  --cyan: #63dcf5;
  --cyan-soft: #c9f4fb;
  --ice: #f4f9fc;
  --mist: #e8f3f9;
  --horizon: #d6eaf4;
  --white: #ffffff;
  --ink: #0a2147;
  --muted: #536b86;
  --line: rgba(7, 110, 230, .18);
  --green: #118052;
  --red: #b51f37;
  --gold: #d18a08;
  --max: 1280px;
  --radius: 24px;
  --shadow: 0 28px 80px rgba(3, 20, 67, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--mist);
  color: var(--ink);
  font-family: Aptos, "Helvetica Neue", Arial, sans-serif;
  margin: 0;
  overflow-x: hidden;
}
body::before {
  background:
    radial-gradient(circle at 12% 8%, rgba(99, 220, 245, .22), transparent 28rem),
    radial-gradient(circle at 85% 18%, rgba(7, 110, 230, .12), transparent 34rem);
  content: "";
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

.skip-link {
  background: var(--white);
  color: var(--navy);
  left: 1rem;
  padding: .75rem 1rem;
  position: fixed;
  top: -6rem;
  z-index: 999;
}
.skip-link:focus { top: 1rem; }

.site-header {
  backdrop-filter: blur(18px);
  background: rgba(247, 252, 254, .89);
  border-bottom: 1px solid rgba(3, 20, 67, .08);
  position: sticky;
  top: 0;
  z-index: 100;
}
.header-inner {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin: auto;
  max-width: var(--max);
  min-height: 88px;
  padding: .8rem 2rem;
}
.brand { flex: 0 0 auto; text-decoration: none; }
.brand img { height: auto; width: 255px; }
.nav-toggle {
  background: none;
  border: 0;
  color: var(--navy);
  display: none;
  font-weight: 800;
  padding: .8rem;
}
.site-nav { align-items: center; display: flex; gap: 1.65rem; }
.site-nav a {
  color: var(--navy);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .045em;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
}
.site-nav a:not(.nav-cta)::after {
  background: linear-gradient(90deg, var(--blue), var(--cyan));
  bottom: -.55rem;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
  width: 100%;
}
.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav-cta {
  background: var(--navy);
  border-radius: 999px;
  color: var(--white) !important;
  padding: .78rem 1.05rem;
}
.lang-switch { border-left: 1px solid var(--line); padding-left: 1rem; }

.hero {
  align-items: stretch;
  background-image:
    linear-gradient(90deg, rgba(3,20,67,.91) 0%, rgba(3,20,67,.73) 39%, rgba(3,20,67,.12) 75%, rgba(3,20,67,.03) 100%),
    url("images/sp-baltic-hero-approved.webp");
  background-position: center;
  background-size: cover;
  color: var(--white);
  display: grid;
  min-height: min(820px, calc(100vh - 88px));
  overflow: hidden;
  position: relative;
}
.hero::after {
  background: linear-gradient(90deg, var(--blue), var(--cyan));
  bottom: 0;
  content: "";
  height: 8px;
  left: 0;
  position: absolute;
  width: 100%;
}
.hero-inner {
  align-items: center;
  display: grid;
  margin: auto;
  max-width: var(--max);
  padding: 5.5rem 2rem 7rem;
  width: 100%;
}
.hero-copy { max-width: 790px; }
.eyebrow {
  color: var(--cyan);
  display: inline-block;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .16em;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}
.hero h1,
.page-hero h1 {
  font-size: clamp(3.3rem, 7.2vw, 6.8rem);
  letter-spacing: -.055em;
  line-height: .94;
  margin: 0;
  max-width: 980px;
}
.hero h1 em { color: var(--cyan); font-style: normal; }
.hero-lede {
  color: #e5f6fb;
  font-size: clamp(1.08rem, 1.8vw, 1.42rem);
  line-height: 1.55;
  margin: 2rem 0 0;
  max-width: 710px;
}
.actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.2rem; }
.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 850;
  gap: .6rem;
  letter-spacing: .045em;
  padding: 1rem 1.3rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--cyan); color: var(--navy); }
.button-primary:hover { box-shadow: 0 16px 40px rgba(99,220,245,.28); }
.button-secondary { border-color: rgba(255,255,255,.5); color: var(--white); }
.button-secondary:hover { background: rgba(255,255,255,.1); }
.button-blue { background: var(--blue); color: var(--white); }

.sector-rail {
  bottom: 2.2rem;
  display: flex;
  gap: 2.3rem;
  left: max(2rem, calc((100vw - var(--max)) / 2 + 2rem));
  position: absolute;
  z-index: 2;
}
.sector-rail span { color: #d8edf7; font-size: .73rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }

.section { overflow: hidden; padding: clamp(5rem, 8vw, 8.5rem) 2rem; position: relative; }
.section-inner { margin: auto; max-width: var(--max); position: relative; z-index: 2; }
.bg-mist { background: linear-gradient(135deg, #f2f9fc 0%, #dceef6 60%, #cce9f4 100%); }
.bg-mist::before {
  border: 1px solid rgba(7,110,230,.11);
  border-radius: 50%;
  content: "";
  height: 620px;
  position: absolute;
  right: -260px;
  top: -300px;
  width: 620px;
}
.bg-current {
  background:
    radial-gradient(circle at 15% 35%, rgba(99,220,245,.22), transparent 30rem),
    linear-gradient(135deg, #0a477d 0%, #07529a 47%, #0878c4 100%);
  color: var(--white);
}
.bg-navy {
  background:
    radial-gradient(circle at 78% 20%, rgba(7,110,230,.4), transparent 30rem),
    radial-gradient(circle at 10% 90%, rgba(99,220,245,.14), transparent 22rem),
    var(--navy);
  color: var(--white);
}
.bg-ice { background: linear-gradient(160deg, #f9fcfd 0%, #eaf4f9 100%); }
.bg-horizon { background: linear-gradient(180deg, #dceef6 0%, #f5fafc 78%); }

.section-kicker { color: var(--blue); font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.bg-navy .section-kicker,
.bg-current .section-kicker { color: var(--cyan); }
.section-title {
  color: var(--navy);
  font-size: clamp(2.45rem, 5vw, 5.1rem);
  letter-spacing: -.048em;
  line-height: .98;
  margin: .85rem 0 1.4rem;
  max-width: 980px;
}
.bg-navy .section-title,
.bg-current .section-title { color: var(--white); }
.section-lede { color: var(--muted); font-size: clamp(1.05rem,1.8vw,1.32rem); line-height: 1.6; max-width: 860px; }
.bg-navy .section-lede,
.bg-current .section-lede { color: #cfe6f2; }

.split { align-items: center; display: grid; gap: clamp(2.4rem,6vw,6rem); grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); }
.split.reverse { grid-template-columns: minmax(440px,1.1fr) minmax(0,.9fr); }
.media-frame {
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.65);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}
.media-frame::after {
  background: linear-gradient(90deg, var(--blue), var(--cyan));
  bottom: 0;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  width: 100%;
}
.media-frame img { height: 100%; object-fit: cover; width: 100%; }
.media-frame.wide { aspect-ratio: 2.2 / 1; }
.media-frame.team { aspect-ratio: 2 / 1; }
.media-caption { color: var(--muted); font-size: .72rem; margin-top: .75rem; text-align: right; }

.statement-line {
  border-left: 5px solid var(--cyan);
  color: var(--navy);
  font-size: clamp(1.35rem, 2.6vw, 2.2rem);
  font-weight: 720;
  line-height: 1.25;
  margin-top: 2rem;
  padding-left: 1.4rem;
}
.bg-navy .statement-line,
.bg-current .statement-line { color: var(--white); }

.decision-image { margin-top: 3.5rem; }
.decision-image img { min-height: 310px; object-position: center; }

.value-flow {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4,1fr);
  margin-top: 4.2rem;
  position: relative;
}
.value-flow::before {
  background: linear-gradient(90deg, var(--cyan), var(--blue), #5b7df4, #f0b232);
  content: "";
  height: 4px;
  left: 5%;
  position: absolute;
  right: 5%;
  top: 31px;
}
.flow-step { padding: 0 1.2rem; position: relative; }
.flow-dot {
  background: var(--navy);
  border: 4px solid var(--cyan);
  border-radius: 50%;
  box-shadow: 0 0 0 9px rgba(99,220,245,.12);
  display: block;
  height: 28px;
  margin: 18px 0 2.2rem;
  position: relative;
  width: 28px;
  z-index: 2;
}
.flow-step:nth-child(2) .flow-dot { border-color: #5cb4ff; }
.flow-step:nth-child(3) .flow-dot { border-color: #7d8cf4; }
.flow-step:nth-child(4) .flow-dot { border-color: #f0b232; }
.flow-step h3 { color: var(--white); font-size: 1.35rem; margin: 0 0 .8rem; }
.flow-step p { color: #bdd9e8; line-height: 1.55; margin: 0; }

.capability-lines { display: grid; gap: 0; grid-template-columns: repeat(3,1fr); margin-top: 4rem; }
.capability {
  border-left: 1px solid rgba(255,255,255,.28);
  min-height: 340px;
  padding: 1.2rem 2.2rem 2.2rem;
}
.capability:first-child { border-left: 0; padding-left: 0; }
.capability:last-child { padding-right: 0; }
.capability span { color: var(--cyan); font-size: .72rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.capability h3 { font-size: clamp(1.7rem,3vw,2.7rem); letter-spacing: -.035em; line-height: 1; margin: 1rem 0 1.4rem; }
.capability p { color: #d4e8f2; line-height: 1.6; }
.text-link { color: var(--cyan); display: inline-block; font-size: .78rem; font-weight: 850; letter-spacing: .06em; margin-top: 1rem; text-decoration: none; text-transform: uppercase; }

.benchmark-shell {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-top: 2.8rem;
  padding: clamp(1rem,3vw,2.2rem);
}
.benchmark-shell svg { height: auto; width: 100%; }
.benchmark-legend { display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; margin-top: 1.1rem; }
.benchmark-legend span { align-items: center; color: var(--muted); display: inline-flex; font-size: .76rem; font-weight: 750; gap: .45rem; }
.benchmark-legend i { border-radius: 99px; display: inline-block; height: 4px; width: 28px; }
.legend-rel { background: #b6c4d1; }
.legend-top { background: var(--green); }
.legend-client { background: var(--blue); }
.legend-comp { background: var(--red); }

.page-hero {
  background:
    radial-gradient(circle at 75% 25%, rgba(99,220,245,.25), transparent 22rem),
    radial-gradient(circle at 18% 80%, rgba(7,110,230,.42), transparent 30rem),
    linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 65%, #0d5b97 100%);
  color: var(--white);
  min-height: 620px;
  overflow: hidden;
  position: relative;
}
.page-hero::after {
  border: 1px solid rgba(99,220,245,.2);
  border-radius: 50%;
  content: "";
  height: 580px;
  position: absolute;
  right: -170px;
  top: -140px;
  width: 580px;
}
.page-hero-inner { margin: auto; max-width: var(--max); padding: 7.5rem 2rem; position: relative; z-index: 2; }
.page-hero h1 { font-size: clamp(3.4rem,7vw,6.7rem); }
.page-hero p { color: #d7edf6; font-size: clamp(1.1rem,2vw,1.4rem); line-height: 1.55; max-width: 780px; }

.strategy-architecture {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-top: 3rem;
  overflow: hidden;
}
.strategy-stage {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(180px,.75fr) minmax(0,2.25fr);
  min-height: 135px;
  padding: 1.5rem 2rem;
  position: relative;
}
.strategy-stage:last-child { border-bottom: 0; }
.strategy-stage::before { background: var(--blue); content: ""; inset: 0 auto 0 0; position: absolute; width: 6px; }
.strategy-stage:nth-child(2)::before { background: #06a6c7; }
.strategy-stage:nth-child(3)::before { background: #586ee7; }
.strategy-stage:nth-child(4)::before { background: var(--gold); }
.strategy-stage:nth-child(5)::before { background: var(--green); }
.strategy-stage h3 { color: var(--navy); font-size: 1.4rem; margin: 0; }
.strategy-stage p { color: var(--muted); line-height: 1.55; margin: 0; }
.strategy-stage.result { background: linear-gradient(110deg, #052e5d, #0874bf); }
.strategy-stage.result h3,
.strategy-stage.result p { color: var(--white); }
.strategy-stage.result p { color: #d6eef7; }
.resource-horizons { display: grid; gap: .7rem; grid-template-columns: repeat(3,1fr); margin-top: 1.5rem; }
.resource-horizons div { background: rgba(255,255,255,.72); border-top: 5px solid var(--blue); padding: 1.2rem; }
.resource-horizons div:nth-child(2) { border-color: var(--gold); }
.resource-horizons div:nth-child(3) { border-color: var(--green); }
.resource-horizons strong { color: var(--navy); display: block; margin-bottom: .4rem; }
.resource-horizons span { color: var(--muted); font-size: .88rem; }

.matrix {
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  display: grid;
  gap: 4px;
  grid-template-columns: 90px repeat(3,1fr);
  margin-top: 3rem;
  overflow: hidden;
  padding: 4px;
}
.matrix-head,
.matrix-axis,
.matrix-cell { padding: 1.2rem; }
.matrix-head { background: var(--navy); color: var(--white); font-size: .75rem; font-weight: 850; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.matrix-axis { align-content: center; background: var(--navy); color: var(--white); display: grid; font-size: .78rem; font-weight: 850; text-align: center; }
.matrix-cell { display: grid; min-height: 170px; }
.matrix-cell strong { color: var(--navy); font-size: 1.15rem; }
.matrix-cell span { align-self: end; color: #405873; font-size: .82rem; line-height: 1.4; }
.m-red { background: #ffe3df; }
.m-amber { background: #fff1c6; }
.m-green { background: #dff4e7; }
.m-neutral { background: #edf2f5; }

.process-line { display: grid; gap: .75rem; grid-template-columns: repeat(5,1fr); margin-top: 3rem; }
.process-line div { border-top: 5px solid var(--cyan); padding: 1.2rem .9rem; }
.process-line div:nth-child(2n) { border-top-color: var(--blue); }
.process-line strong { display: block; font-size: 1.02rem; margin-bottom: .5rem; }
.process-line span { color: #cde5f0; font-size: .84rem; line-height: 1.45; }

.contact-band {
  background:
    radial-gradient(circle at 80% 10%, rgba(99,220,245,.2), transparent 25rem),
    var(--navy);
  color: var(--white);
  padding: 5.5rem 2rem;
}
.contact-band-inner { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin: auto; max-width: var(--max); }
.contact-band h2 { font-size: clamp(2.3rem,4.8vw,4.6rem); letter-spacing: -.045em; line-height: 1; margin: 0; max-width: 770px; }
.contact-band p { color: #cfe5f0; line-height: 1.55; max-width: 650px; }

.site-footer { background: #020d2b; border-top: 5px solid var(--blue); color: #aac5d7; padding: 2.2rem 2rem; }
.site-footer::before { background: var(--cyan); content: ""; display: block; height: 2px; left: 0; position: absolute; right: 0; }
.footer-inner { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin: auto; max-width: var(--max); }
.footer-inner strong { color: var(--white); }
.footer-inner span { font-size: .76rem; }

.ownership { bottom: .8rem; color: rgba(255,255,255,.68); font-size: .64rem; letter-spacing: .04em; position: absolute; right: 1rem; }
.figure-ownership { color: var(--muted); display: block; font-size: .66rem; margin-top: .7rem; text-align: right; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.js .reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1060px) {
  .header-inner { min-height: 78px; }
  .brand img { width: 220px; }
  .nav-toggle { display: block; }
  .site-nav {
    align-items: stretch;
    background: rgba(247,252,254,.98);
    box-shadow: 0 24px 60px rgba(3,20,67,.18);
    display: none;
    flex-direction: column;
    left: 0;
    padding: 2rem;
    position: absolute;
    right: 0;
    top: 100%;
  }
  .site-header.nav-open .site-nav { display: flex; }
  .lang-switch { border-left: 0; padding-left: 0; }
  .split,
  .split.reverse { grid-template-columns: 1fr; }
  .split.reverse .media-frame { order: 2; }
  .capability-lines { grid-template-columns: 1fr; }
  .capability { border-left: 0; border-top: 1px solid rgba(255,255,255,.25); min-height: 0; padding: 2rem 0; }
  .capability:first-child { border-top: 0; }
  .contact-band-inner { align-items: start; flex-direction: column; }
}

@media (max-width: 760px) {
  .header-inner { padding: .65rem 1rem; }
  .brand img { width: 190px; }
  .hero { min-height: 760px; }
  .hero-inner { align-items: end; padding: 6rem 1.2rem 9rem; }
  .hero h1 { font-size: clamp(3rem,16vw,4.8rem); }
  .sector-rail { bottom: 2.2rem; flex-wrap: wrap; gap: .7rem 1.2rem; left: 1.2rem; }
  .section { padding: 5rem 1.2rem; }
  .section-title { font-size: clamp(2.4rem,12vw,3.7rem); }
  .value-flow { gap: 1.4rem; grid-template-columns: 1fr; }
  .value-flow::before { bottom: 0; height: auto; left: 13px; right: auto; top: 0; width: 3px; }
  .flow-step { padding-left: 3.4rem; }
  .flow-dot { left: 0; margin: 0; position: absolute; top: 0; }
  .flow-step h3 { margin-bottom: .45rem; }
  .media-frame.wide,
  .media-frame.team { aspect-ratio: 1.35 / 1; }
  .matrix { grid-template-columns: 62px repeat(3,minmax(150px,1fr)); overflow-x: auto; }
  .matrix-cell { min-height: 185px; }
  .process-line { grid-template-columns: 1fr; }
  .strategy-stage { grid-template-columns: 1fr; }
  .resource-horizons { grid-template-columns: 1fr; }
  .page-hero { min-height: 560px; }
  .page-hero-inner { padding: 6rem 1.2rem; }
  .page-hero h1 { font-size: clamp(3rem,15vw,4.8rem); }
  .contact-band { padding: 4.5rem 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.brand img{width:220px}.site-nav{gap:.95rem}.site-nav a{font-size:.71rem}.page-hero{min-height:560px}.page-hero-copy{color:#d7edf6;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.62;max-width:860px}.page-hero-copy p{margin:1rem 0}.breadcrumbs{align-items:center;color:#a9cfdf;display:flex;font-size:.72rem;gap:.55rem;margin-bottom:2rem}.breadcrumbs a{text-decoration:none}.content-grid{display:grid;gap:1.25rem;margin-top:3rem}.content-grid--2{grid-template-columns:repeat(2,1fr)}.content-grid--3{grid-template-columns:repeat(3,1fr)}.content-grid--4{grid-template-columns:repeat(4,1fr)}.content-card{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 14px 40px rgba(3,20,67,.1);min-height:190px;padding:1.6rem;position:relative}.bg-current .content-card{background:rgba(255,255,255,.94);color:var(--ink)}.content-card h2,.content-card h3{color:var(--navy);line-height:1.1;margin:.5rem 0 1rem}.content-card h3{font-size:1.22rem}.content-card p{color:var(--muted);line-height:1.55}.card-marker{background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:9px;display:block;height:7px;width:58px}.prose-stack{display:grid;gap:1.1rem;margin:2.2rem 0;max-width:980px}.prose-stack>p{color:var(--muted);font-size:1.12rem;line-height:1.7;margin:0}.bg-current .prose-stack>p{color:#e0eff6}.prefix-card{background:rgba(255,255,255,.8);border-left:6px solid var(--cyan);border-radius:0 18px 18px 0;padding:1.25rem 1.5rem}.prefix-card strong{color:var(--blue);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.prefix-card p{color:var(--ink);font-size:1.04rem;line-height:1.55;margin:.45rem 0 0}.prefix-card.boundary{border-left-color:var(--gold)}.visual-shell{background:rgba(255,255,255,.9);border:1px solid #fff;border-radius:24px;box-shadow:var(--shadow);margin-top:3rem;overflow:hidden;padding:1rem}.visual-shell img{width:100%}.figure-ownership{margin-bottom:0}.challenge-grid{display:grid;gap:1.4rem;grid-template-columns:repeat(2,1fr)}.challenge-card{background:rgba(255,255,255,.84);border-radius:24px;box-shadow:0 18px 55px rgba(3,20,67,.12);padding:2rem}.challenge-card:last-child{grid-column:1/-1}.challenge-number{color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.14em}.challenge-card h2{color:var(--navy);font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.08}.challenge-card>p{color:var(--muted);line-height:1.6}.related-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-top:2.5rem}.related-card{align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;color:#fff;display:flex;font-weight:800;justify-content:space-between;min-height:110px;padding:1.35rem;text-decoration:none}.related-card strong{color:var(--cyan);font-size:1.6rem}.profile-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.profile-card{background:rgba(255,255,255,.84);border-radius:26px;box-shadow:var(--shadow);padding:clamp(2rem,4vw,3.5rem)}.profile-monogram{align-items:center;background:linear-gradient(135deg,var(--navy),var(--blue));border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:800;height:78px;justify-content:center;margin-bottom:2rem;width:78px}.profile-card h2{color:var(--navy);font-size:clamp(2rem,3.5vw,3.4rem);line-height:1;margin:.7rem 0 1.4rem}.profile-card>p{color:var(--muted);line-height:1.65}.dark-link{color:var(--blue)}.contact-grid{display:grid;gap:4rem;grid-template-columns:.85fr 1.15fr}.contact-form{background:rgba(255,255,255,.9);border-radius:24px;box-shadow:var(--shadow);display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr);padding:2rem}.contact-form label{color:var(--navy);display:grid;font-size:.78rem;font-weight:800;gap:.5rem;letter-spacing:.06em;text-transform:uppercase}.contact-form label.wide,.contact-form .form-note{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{background:#f7fbfd;border:1px solid #c6dbe6;border-radius:10px;color:var(--ink);padding:.9rem;text-transform:none}.form-note{color:var(--muted);font-size:.78rem;line-height:1.4}.direct-contact{display:grid;gap:.6rem;margin-top:2rem}.direct-contact p{color:#d7edf6;font-size:1.1rem;line-height:1.5;margin:0}.legal-status{background:#fff0c7;border-left:6px solid var(--gold);border-radius:0 16px 16px 0;color:#674400;font-weight:800;margin-bottom:2rem;padding:1.2rem}.site-footer a{color:inherit}.button-blue{margin-top:1.2rem}.bg-current .section-kicker{color:var(--cyan)}
@media(max-width:1180px){.site-nav{gap:.75rem}.site-nav a{font-size:.66rem}.brand img{width:195px}.content-grid--4{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.content-grid--2,.content-grid--3,.content-grid--4,.challenge-grid,.profile-grid,.contact-grid{grid-template-columns:1fr}.challenge-card:last-child{grid-column:auto}.related-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form label.wide,.contact-form .form-note{grid-column:auto}}

.nav-mega{position:relative}.nav-mega-toggle{align-items:center;background:transparent;border:0;color:var(--navy);cursor:pointer;display:flex;font-size:.71rem;font-weight:800;gap:.35rem;letter-spacing:.045em;padding:0;position:relative;text-transform:uppercase}.nav-mega-toggle::after{background:linear-gradient(90deg,var(--blue),var(--cyan));bottom:-.55rem;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .2s ease;width:100%}.nav-mega-toggle:hover::after,.nav-mega-toggle.is-current::after,.nav-mega.is-open .nav-mega-toggle::after{transform:scaleX(1)}.nav-mega-toggle>span{color:var(--blue);font-size:1rem;transition:transform .2s ease}.nav-mega.is-open .nav-mega-toggle>span{transform:rotate(180deg)}.mega-menu{background:rgba(248,252,254,.985);border:1px solid rgba(3,20,67,.1);border-radius:22px;box-shadow:0 28px 75px rgba(3,20,67,.22);opacity:0;padding:1.25rem;pointer-events:none;position:absolute;right:-280px;top:calc(100% + 1.8rem);transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease;width:min(860px,calc(100vw - 2rem));z-index:120}.nav-mega:hover .mega-menu,.nav-mega:focus-within .mega-menu,.nav-mega.is-open .mega-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.mega-menu-head{align-items:center;border-bottom:1px solid rgba(3,20,67,.1);display:flex;justify-content:space-between;margin-bottom:1rem;padding:.2rem .35rem 1rem}.mega-menu-head>span{color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.site-nav .mega-menu-head>a{color:var(--blue);font-size:.72rem}.mega-columns{display:grid;gap:.85rem;grid-template-columns:repeat(3,1fr)}.mega-group{background:#fff;border:1px solid rgba(7,110,230,.1);border-radius:15px;display:flex;flex-direction:column;padding:1rem}.site-nav .mega-menu a{color:var(--muted);font-size:.76rem;font-weight:650;letter-spacing:0;line-height:1.35;padding:.42rem .3rem;text-transform:none}.site-nav .mega-menu a::after{display:none}.site-nav .mega-menu a:hover{color:var(--blue)}.site-nav .mega-menu .mega-title{align-items:center;color:var(--navy);display:flex;font-size:.86rem;font-weight:850;justify-content:space-between;margin-bottom:.35rem}.mega-title span{color:var(--cyan);font-size:1.1rem}
.card-link{color:inherit;display:flex;flex-direction:column;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card-link:hover,.card-link:focus-visible{border-color:rgba(7,110,230,.55);box-shadow:0 20px 55px rgba(3,20,67,.18);transform:translateY(-5px)}.card-action{align-items:center;color:var(--blue);display:flex;font-size:.72rem;font-weight:850;gap:.35rem;letter-spacing:.07em;margin-top:auto;padding-top:1.2rem;text-transform:uppercase}.card-action strong{color:var(--cyan);font-size:1.15rem}.challenge-card.card-link{border:1px solid rgba(255,255,255,.95)}.challenge-card.card-link .prefix-card{margin-top:1rem}.flow-link{border-radius:18px;color:inherit;text-decoration:none;transition:background .2s ease,transform .2s ease}.flow-link:hover,.flow-link:focus-visible{background:rgba(255,255,255,.07);transform:translateY(-4px)}.flow-action{color:var(--cyan);display:block;font-size:.7rem;font-weight:850;letter-spacing:.06em;margin-top:1.2rem;text-transform:uppercase}.capability-link{border-radius:18px;color:inherit;text-decoration:none;transition:background .2s ease,transform .2s ease}.capability-link:hover,.capability-link:focus-visible{background:rgba(255,255,255,.07);transform:translateY(-4px)}.media-link,.visual-link{color:inherit;display:block;text-decoration:none}.media-link .media-frame,.visual-link .visual-shell{transition:box-shadow .2s ease,transform .2s ease}.media-link:hover .media-frame,.media-link:focus-visible .media-frame,.visual-link:hover .visual-shell,.visual-link:focus-visible .visual-shell{box-shadow:0 32px 90px rgba(3,20,67,.24);transform:translateY(-5px)}.visual-action{align-items:center;color:var(--blue);display:inline-flex;font-size:.75rem;font-weight:850;letter-spacing:.07em;margin-top:1rem;text-transform:uppercase}.bg-current .visual-action,.bg-navy .visual-action{color:var(--cyan)}
.page-journey{background:#07173f;display:grid;gap:1px;grid-template-columns:repeat(2,1fr)}.journey-link{background:rgba(255,255,255,.035);color:#fff;display:flex;flex-direction:column;min-height:150px;padding:2.2rem max(2rem,calc((100vw - var(--max))/2 + 2rem));text-decoration:none;transition:background .2s ease}.journey-link.next{align-items:flex-end;text-align:right}.journey-link:hover,.journey-link:focus-visible{background:rgba(7,110,230,.18)}.journey-link small{color:var(--cyan);font-size:.7rem;font-weight:850;letter-spacing:.09em;margin-bottom:.55rem;text-transform:uppercase}.journey-link strong{font-size:clamp(1.05rem,2vw,1.45rem)}
.site-footer{padding:0}.footer-top{display:grid;gap:2rem;grid-template-columns:1.3fr repeat(4,1fr);margin:auto;max-width:var(--max);padding:4rem 2rem}.footer-brand>strong{color:#fff;display:block;font-size:1.05rem}.footer-brand p{color:#b9d3e1;font-size:.84rem;line-height:1.55;max-width:260px}.footer-brand>span{font-size:.74rem;line-height:1.5}.footer-column{display:flex;flex-direction:column;gap:.58rem}.footer-column>strong{color:var(--cyan);font-size:.72rem;letter-spacing:.11em;margin-bottom:.35rem;text-transform:uppercase}.footer-column a{color:#b9d3e1;font-size:.74rem;line-height:1.35;text-decoration:none}.footer-column a:hover,.footer-column a:focus-visible{color:#fff;text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;font-size:.72rem;gap:1rem;justify-content:space-between;margin:auto;max-width:var(--max);padding:1.35rem 2rem 1.8rem}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.mega-group-summary{color:var(--muted);font-size:.7rem;line-height:1.42;margin:.1rem .3rem .55rem}.section-title{font-size:clamp(1.75rem,2.9vw,2.85rem);letter-spacing:-.025em;line-height:1.12;max-width:880px}.page-hero h1{font-size:clamp(2.65rem,4.8vw,4.25rem);letter-spacing:-.04em;line-height:1}.hero h1{font-size:clamp(3rem,5.5vw,5rem)}.contact-band h2{font-size:clamp(1.9rem,3.2vw,3rem);letter-spacing:-.03em;line-height:1.08}.challenge-card h2{font-size:clamp(1.4rem,2vw,2rem)}.profile-card h2{font-size:clamp(1.75rem,2.8vw,2.7rem)}
.service-navigator{margin-top:3rem}.service-tabs{display:grid;gap:.9rem;grid-template-columns:repeat(3,1fr)}.service-tab{align-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(7,110,230,.16);border-radius:18px;color:var(--navy);cursor:pointer;display:flex;gap:1rem;min-height:92px;padding:1.25rem;text-align:left;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.service-tab>span{align-items:center;background:#dbeefe;border-radius:50%;color:var(--blue);display:flex;flex:0 0 38px;font-size:.72rem;font-weight:900;height:38px;justify-content:center}.service-tab>strong{font-size:1rem;line-height:1.25}.service-tab:hover,.service-tab:focus-visible{border-color:var(--blue);transform:translateY(-2px)}.service-tab.is-active{background:var(--navy);border-color:var(--navy);box-shadow:0 18px 45px rgba(3,20,67,.18);color:#fff}.service-tab.is-active>span{background:var(--cyan);color:var(--navy)}.service-panels{margin-top:1rem}.service-panel{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:var(--shadow);display:grid;gap:2.4rem;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);padding:clamp(1.5rem,3vw,2.6rem)}.service-panel[hidden]{display:none}.service-panel-intro h3{color:var(--navy);font-size:clamp(1.55rem,2.4vw,2.25rem);line-height:1.1;margin:0 0 .85rem}.service-panel-intro p{color:var(--muted);font-size:1.02rem;line-height:1.62}.service-detail-list{display:grid;gap:.65rem}.service-detail-link{align-items:center;background:#f3f8fb;border:1px solid rgba(3,20,67,.08);border-radius:14px;color:inherit;display:flex;gap:1.2rem;justify-content:space-between;padding:1rem 1.1rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}.service-detail-link:hover,.service-detail-link:focus-visible{background:#e8f4fa;border-color:rgba(7,110,230,.45);transform:translateX(3px)}.service-detail-link>span{display:grid;gap:.3rem}.service-detail-link strong{color:var(--navy);font-size:.94rem}.service-detail-link small{color:var(--muted);font-size:.78rem;line-height:1.4}.service-detail-link b{color:var(--blue);font-size:.68rem;letter-spacing:.045em;min-width:145px;text-align:right;text-transform:uppercase}
.decision-graphic{background:rgba(255,255,255,.92);border:1px solid #fff;border-radius:24px;box-shadow:var(--shadow);margin-top:3rem;padding:1rem}.decision-graphic-window{aspect-ratio:1672/640;border-radius:16px;overflow:hidden;position:relative}.decision-graphic-window picture{display:block}.decision-graphic-window img{display:block;height:auto;max-width:none;transform:translateY(-14.56%);width:100%}.decision-graphic .figure-ownership{padding:.15rem .2rem 0}.decision-graphic-link .decision-graphic{transition:box-shadow .2s ease,transform .2s ease}.decision-graphic-link:hover .decision-graphic,.decision-graphic-link:focus-visible .decision-graphic{box-shadow:0 32px 90px rgba(3,20,67,.24);transform:translateY(-5px)}
@media(max-width:1180px){.nav-mega-toggle{font-size:.66rem}.footer-top{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}.mega-menu{right:-330px}}
@media(max-width:1060px){.nav-mega{width:100%}.nav-mega-toggle{font-size:.8rem;justify-content:space-between;padding:.35rem 0;width:100%}.nav-mega-toggle::after{bottom:0}.mega-menu{background:#eaf4f9;border-radius:14px;box-shadow:none;display:none;opacity:1;padding:.8rem;pointer-events:auto;position:static;transform:none;width:100%}.nav-mega:hover .mega-menu,.nav-mega:focus-within .mega-menu{display:none}.nav-mega.is-open .mega-menu{display:block}.mega-columns{grid-template-columns:1fr}.mega-menu-head{align-items:flex-start;gap:.7rem}.site-nav .mega-menu a{font-size:.82rem}.footer-top{grid-template-columns:repeat(2,1fr)}.service-panel{grid-template-columns:1fr}}
@media(max-width:760px){.page-journey{grid-template-columns:1fr}.journey-link.next{align-items:flex-start;text-align:left}.journey-link{min-height:120px;padding:1.7rem 1.2rem}.footer-top{grid-template-columns:1fr;padding:3rem 1.2rem}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;padding:1.2rem}.content-card{min-height:0}.flow-link{padding-bottom:1.1rem}.section-title{font-size:clamp(1.65rem,7.5vw,2.35rem)}.page-hero h1{font-size:clamp(2.45rem,11vw,3.5rem)}.hero h1{font-size:clamp(2.8rem,13vw,4rem)}.service-tabs{display:flex;gap:.75rem;overflow-x:auto;padding:.15rem .1rem .8rem;scroll-snap-type:x mandatory}.service-tab{flex:0 0 82%;scroll-snap-align:start}.service-panel{padding:1.3rem}.service-detail-link{align-items:flex-start;flex-direction:column}.service-detail-link b{min-width:0;text-align:left}.decision-graphic{padding:.45rem}.decision-graphic-window{border-radius:12px}}

/* V06: top-level themes stay in the header; their details live in a left rail. */
.hero h1{font-size:clamp(2.4rem,3.6vw,3.4rem);line-height:1.04}
.page-hero{min-height:360px}
.page-hero-inner{margin:0;max-width:1080px;padding:3.6rem clamp(1.6rem,4vw,4.5rem)}
.page-hero h1{font-size:clamp(1.95rem,2.65vw,2.5rem);letter-spacing:-.03em;line-height:1.12;max-width:840px}
.page-hero p,.page-hero-copy{font-size:clamp(.98rem,1.3vw,1.12rem);line-height:1.62;max-width:900px}
.section-title{font-size:clamp(1.48rem,1.95vw,2rem);letter-spacing:-.018em;line-height:1.22}
.contact-band h2{font-size:clamp(1.65rem,2.5vw,2.35rem)}
[id^="detail-"],#visual,#decision-matrix,#insight-topics,[id^="challenge-"],[id^="person-"]{scroll-margin-top:112px}

/* The header button opens a real left-side capability drawer. */
.mega-menu,.nav-mega:hover .mega-menu,.nav-mega:focus-within .mega-menu{
  background:#f4f9fc;border:0;border-radius:0 22px 22px 0;bottom:0;box-shadow:24px 25px 70px rgba(3,20,67,.3);
  display:block;left:0;opacity:1;overflow-y:auto;padding:1.35rem;pointer-events:none;position:fixed;right:auto;
  top:88px;transform:translateX(-105%);transition:transform .22s ease;width:min(430px,calc(100vw - 36px));z-index:180
}
.nav-mega.is-open .mega-menu{opacity:1;pointer-events:auto;transform:translateX(0)}
.mega-menu-head{background:#f4f9fc;margin:0 0 .7rem;padding:.15rem .2rem 1rem;position:sticky;top:0;z-index:2}
.mega-menu-close{align-items:center;background:var(--navy);border:0;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.35rem;height:38px;justify-content:center;line-height:1;width:38px}
.site-nav .mega-overview-link{align-items:center;background:#dceef7;border-radius:12px;color:var(--navy);display:flex;font-size:.78rem;font-weight:850;justify-content:space-between;margin-bottom:.85rem;padding:.9rem 1rem;text-decoration:none}
.site-nav .mega-contact-link{align-items:center;background:var(--navy);border-radius:12px;color:#fff;display:flex;font-size:.8rem;font-weight:850;justify-content:space-between;margin-top:.9rem;padding:1rem;text-decoration:none}
.site-nav .mega-contact-link span{color:var(--cyan);font-size:1.1rem}
.mega-columns{display:grid;gap:.75rem;grid-template-columns:1fr}
.mega-group{padding:.85rem 1rem}
.mega-group-summary{margin:.1rem .3rem .45rem}

/* The homepage capability selector is vertical, never a horizontal scroller. */
.service-navigator{align-items:start;display:grid;gap:1.15rem;grid-template-columns:minmax(230px,290px) minmax(0,1fr);margin-top:2.3rem}
.service-tabs{display:flex;flex-direction:column;gap:.7rem;overflow:visible;padding:0}
.service-tab{flex:none;min-height:78px;width:100%}
.service-panels{margin-top:0;min-width:0}
.service-panel{display:block;min-height:100%;padding:clamp(1.5rem,3vw,2.6rem)}
.service-panel-intro{border-bottom:1px solid rgba(3,20,67,.1);margin-bottom:1.2rem;padding-bottom:1.2rem}
.service-panel-intro h3{font-size:clamp(1.45rem,2vw,1.95rem)}

/* Persistent level-two navigation and readable level-three content. */
.topic-layout{align-items:start;background:var(--mist);display:grid;grid-template-columns:310px minmax(0,1fr);min-width:0}
.topic-content{min-width:0}
.topic-rail{align-self:start;background:linear-gradient(180deg,#031443 0%,#082f61 100%);color:#fff;height:calc(100vh - 88px);overflow-y:auto;position:sticky;top:88px;z-index:55}
.topic-rail-inner{padding:2rem 1.15rem 2.5rem}
.topic-rail-kicker{color:var(--cyan);display:block;font-size:.68rem;font-weight:850;letter-spacing:.13em;margin:0 .55rem .55rem;text-transform:uppercase}
.topic-rail h2{font-size:1.4rem;line-height:1.15;margin:.2rem .55rem 1.35rem}
.topic-rail-contact{align-items:center;background:var(--cyan);border-radius:11px;color:var(--navy);display:flex;font-size:.8rem;font-weight:850;justify-content:space-between;margin:0 .45rem 1rem;padding:.82rem .9rem;text-decoration:none}
.topic-rail-contact b{font-size:1rem}
.topic-rail-nav{display:flex;flex-direction:column;gap:.2rem}
.topic-rail-nav a{border-radius:10px;color:#d7e9f3;display:block;font-size:.81rem;font-weight:680;line-height:1.32;padding:.62rem .72rem;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.topic-rail-nav a:hover,.topic-rail-nav a:focus-visible{background:rgba(99,220,245,.12);color:#fff;transform:translateX(3px)}
.topic-rail-nav a.is-current{background:var(--cyan);color:var(--navy);font-weight:850}
.topic-rail-nav .topic-rail-group{align-items:center;border-top:1px solid rgba(255,255,255,.16);color:#fff;display:flex;font-size:.86rem;font-weight:850;justify-content:space-between;margin-top:.75rem;padding-top:.95rem}
.topic-rail-nav .topic-rail-group:first-child{border-top:0;margin-top:0;padding-top:.7rem}
.topic-rail-nav .topic-rail-link{padding-left:1.15rem}
.topic-rail-divider{color:#7edff2;display:block;font-size:.64rem;font-weight:850;letter-spacing:.11em;margin:1.3rem .72rem .3rem;text-transform:uppercase}
.topic-rail-nav .topic-rail-anchor{border-left:2px solid rgba(99,220,245,.38);border-radius:0;color:#bcd4e1;font-size:.74rem;margin-left:.72rem;padding:.44rem .7rem}
.topic-rail-mobile-toggle{display:none}

/* V7: true primary/secondary content navigation */
.topic-rail-inner{display:flex;flex-direction:column}
.topic-rail-kicker{order:1}
.topic-rail h2{order:2}
.topic-rail-nav{order:3}
.topic-rail-contact{background:rgba(99,220,245,.1);border:1px solid rgba(99,220,245,.5);color:#fff;margin-top:1.25rem;order:4}
.topic-rail-contact:hover,.topic-rail-contact:focus-visible{background:var(--cyan);color:var(--navy)}
.is-topic-interactive .challenge-grid{grid-template-columns:1fr}
.is-topic-interactive .challenge-card[hidden]{display:none}
.is-topic-interactive .challenge-card.is-selected{display:flex;grid-column:1/-1}
.is-topic-interactive .challenge-card h2{font-size:clamp(1.35rem,1.8vw,1.85rem)}
.topic-content .section{padding:clamp(3.5rem,5.2vw,5.5rem) clamp(1.6rem,4vw,4.5rem)}
.topic-content .section-inner{margin:0;max-width:1060px}
.topic-content .contact-band{padding:clamp(3.5rem,5vw,5rem) clamp(1.6rem,4vw,4.5rem)}
.topic-content .contact-band-inner{margin:0;max-width:1060px}
.topic-content .page-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
.topic-content .journey-link{padding-left:clamp(1.6rem,4vw,4.5rem);padding-right:clamp(1.6rem,4vw,4.5rem)}
.service-copy-stack{display:grid;gap:0;margin-top:2rem;max-width:940px}
.service-copy-item{border-top:1px solid rgba(3,20,67,.13);padding:1.25rem 0}
.service-copy-item:last-child{border-bottom:1px solid rgba(3,20,67,.13)}
.service-copy-item h3{color:var(--navy);font-size:1.08rem;line-height:1.35;margin:0 0 .4rem}
.service-copy-item p{color:var(--muted);font-size:1.03rem;line-height:1.68;margin:0}
.bg-current .service-copy-item{border-color:rgba(255,255,255,.22)}
.bg-current .service-copy-item h3{color:#fff}
.bg-current .service-copy-item p{color:#dceef6}
.figure-story{max-width:1060px}
.figure-story-intro{max-width:920px}
.figure-story-before{display:grid;gap:.9rem;margin-top:1.25rem;max-width:920px}
.figure-story-before p{color:var(--muted);font-size:1.04rem;line-height:1.72;margin:0}
.source-figure-link{color:inherit;display:block;margin-top:2.2rem;text-decoration:none}
.source-figure{background:#fff;border:1px solid rgba(3,20,67,.12);border-radius:18px;box-shadow:0 20px 60px rgba(3,20,67,.14);margin:0;overflow:hidden;padding:.65rem;transition:box-shadow .2s ease,transform .2s ease}
.source-figure-link:hover .source-figure,.source-figure-link:focus-visible .source-figure{box-shadow:0 28px 78px rgba(3,20,67,.22);transform:translateY(-3px)}
.source-figure picture{display:block}
.source-figure img{display:block;height:auto;max-width:100%;object-fit:contain;width:100%}
.source-figure figcaption{align-items:center;color:var(--blue);display:flex;font-size:.72rem;font-weight:850;justify-content:flex-end;letter-spacing:.055em;padding:.75rem .4rem .25rem;text-transform:uppercase}
.source-figure figcaption b{color:var(--cyan);font-size:1rem;margin-left:.45rem}
.figure-story-after{border-bottom:1px solid rgba(3,20,67,.14);border-top:1px solid rgba(3,20,67,.14);display:grid;gap:2.2rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2.2rem;padding:1.8rem 0}
.figure-story-after>div>span{color:var(--blue);display:block;font-size:.68rem;font-weight:900;letter-spacing:.1em;margin-bottom:.55rem;text-transform:uppercase}
.figure-story-after p{color:var(--muted);font-size:1rem;line-height:1.68;margin:0}
.figure-story-footer{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;padding-top:1.2rem}
.figure-story-footer small{color:#667d91;font-size:.7rem;line-height:1.45}
.figure-story-footer .text-link{flex:0 0 auto;font-size:.75rem}
.bg-current .figure-story-before p,.bg-navy .figure-story-before p,.bg-current .figure-story-after p,.bg-navy .figure-story-after p{color:#dceef6}
.bg-current .figure-story-after,.bg-navy .figure-story-after{border-color:rgba(255,255,255,.2)}
.bg-current .figure-story-after>div>span,.bg-navy .figure-story-after>div>span{color:var(--cyan)}
.bg-current .figure-story-footer small,.bg-navy .figure-story-footer small{color:#afd0df}
.bg-current .figure-story-footer .dark-link,.bg-navy .figure-story-footer .dark-link{color:var(--cyan)}
.decision-graphic-window{aspect-ratio:auto;border-radius:16px;overflow:visible}
.decision-graphic-window img{height:auto;max-width:100%;object-fit:contain;transform:none;width:100%}
.legal-source-note{background:#fff3cf;border-left:5px solid var(--gold);border-radius:0 12px 12px 0;color:#5f4300;font-size:.9rem;font-weight:750;line-height:1.55;margin-bottom:2.5rem;padding:1rem 1.2rem}
.legal-copy{max-width:980px}
.legal-copy h2{color:var(--navy);font-size:clamp(1.45rem,2vw,2rem);line-height:1.2;margin:3rem 0 1rem}
.legal-copy h3{color:var(--navy);font-size:1.12rem;line-height:1.35;margin:2rem 0 .75rem}
.legal-copy p,.legal-copy li{color:var(--muted);font-size:1rem;line-height:1.72}
.legal-copy ul{padding-left:1.4rem}

@media(max-width:1050px){
  .topic-layout{grid-template-columns:260px minmax(0,1fr)}
  .topic-rail-nav a{font-size:.76rem}
  .mega-menu,.nav-mega:hover .mega-menu,.nav-mega:focus-within .mega-menu{display:block;position:fixed;top:78px}
}
@media(max-width:820px){
  .hero h1{font-size:clamp(2.25rem,8vw,3rem)}
  .page-hero{min-height:300px}
  .page-hero-inner{padding:2.8rem 1.35rem}
  .page-hero h1{font-size:clamp(1.9rem,6vw,2.45rem)}
  .section-title{font-size:clamp(1.45rem,5vw,1.95rem)}
  .topic-layout{display:block}
  .topic-rail{height:auto;overflow:visible;position:sticky;top:76px;width:100%;z-index:80}
  .topic-rail-inner{display:none;max-height:calc(100vh - 132px);overflow-y:auto;padding:1rem}
  .topic-rail.is-open .topic-rail-inner{display:block}
  .topic-rail-mobile-toggle{align-items:center;background:#031443;border:0;color:#fff;display:flex;font-size:.82rem;font-weight:850;justify-content:space-between;padding:1rem 1.2rem;text-align:left;width:100%}
  .topic-rail-mobile-toggle b{color:var(--cyan);font-size:1.1rem;transition:transform .18s ease}
  .topic-rail.is-open .topic-rail-mobile-toggle b{transform:rotate(180deg)}
  .topic-content .section,.topic-content .contact-band{padding:3.5rem 1.35rem}
  .service-navigator{grid-template-columns:1fr}
  .service-tabs{display:flex;flex-direction:column;overflow:visible;padding:0}
  .service-tab{flex:none;min-height:68px;width:100%}
  .topic-content .page-journey{grid-template-columns:1fr}
  .figure-story-after{grid-template-columns:1fr}
  .figure-story-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(2.05rem,10vw,2.65rem)}
  .page-hero h1{font-size:clamp(1.7rem,7.5vw,2.05rem)}
  .page-hero-copy{font-size:.98rem}
  .section-title{font-size:clamp(1.38rem,7vw,1.8rem)}
}


/* V8.0: stable navigation, complete source figures and an independent contact route. */
[hidden]{display:none!important}
html{scroll-behavior:auto;scroll-padding-top:calc(var(--header-height,88px) + 16px)}
body{overflow-x:clip}
.reveal,.js .reveal{opacity:1!important;transform:none!important}
.site-header{top:var(--wp-admin-offset,0px)}
.header-inner{max-width:1600px;gap:1.2rem;min-height:88px;padding:.8rem clamp(1rem,2vw,2rem)}
.brand img{width:210px;height:auto}
.site-nav{gap:clamp(.6rem,1.1vw,1.3rem);flex:1;justify-content:center}
.site-nav>a{font-size:.76rem;white-space:nowrap}
.site-nav>a[aria-current=page]{color:var(--blue)}
.header-actions{display:flex;gap:1rem;align-items:center;flex:0 0 auto}
.v8-contact{background:var(--navy)!important;border:2px solid var(--navy);border-radius:9px;color:#fff!important;font-size:.93rem;font-weight:800;line-height:1.3;padding:.7rem 1.15rem;text-decoration:none;white-space:nowrap}
.v8-contact:hover,.v8-contact:focus-visible{background:var(--blue)!important;border-color:var(--blue)}
.language-nav{display:flex;align-items:center;gap:.5rem}
.language-nav a{color:var(--muted);font-size:.83rem;font-weight:800;padding:.38rem .18rem;text-decoration:none;min-height:32px}
.language-nav a[aria-current=page]{color:var(--navy);border-bottom:3px solid var(--blue)}
.nav-toggle{border:1px solid var(--line);border-radius:8px;min-height:42px;min-width:42px;padding:.35rem}
.nav-toggle span{font-size:1.35rem}
.topic-layout{grid-template-columns:300px minmax(0,1fr);max-width:1600px;margin:auto;align-items:stretch}
.topic-rail{top:calc(var(--header-height,88px) + var(--wp-admin-offset,0px));height:calc(100dvh - var(--header-height,88px) - var(--wp-admin-offset,0px));overscroll-behavior:contain}
.topic-rail-nav a{font-size:.88rem;line-height:1.4;min-height:40px}
.topic-rail-contact{display:none!important}
.topic-content{min-width:0}
.topic-content .section-inner{max-width:1100px}
.topic-rail-inner{display:flex}
.topic-content .section{padding-top:3.2rem;padding-bottom:3.2rem}
.v8-backbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem;background:#f5faff;border-bottom:1px solid var(--line);padding:1rem clamp(1.35rem,4vw,4.5rem)}
.v8-back{color:var(--navy);font-size:.93rem;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;min-height:36px;border-radius:8px}
.v8-back:hover{text-decoration:underline}
.v8-backbar>span{color:var(--muted);font-size:.8rem}
.v8-figure{margin:1.75rem 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem;box-shadow:0 12px 30px rgba(3,20,67,.07);max-width:1100px}
.v8-figure>a{display:block}
.v8-figure img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none;aspect-ratio:auto}
.v8-figure figcaption{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;flex-wrap:wrap;color:var(--muted);font-size:.82rem;line-height:1.5;padding:.8rem .35rem .25rem}
.v8-figure figcaption>a{color:var(--blue);font-weight:800;white-space:nowrap;min-height:28px}
.source-figure,.challenge-figure,.source-figure picture,.challenge-figure picture,.decision-graphic-window,.media-frame,.visual-shell{aspect-ratio:auto!important;height:auto!important;max-height:none!important;overflow:visible!important}
.source-figure img,.challenge-figure img,.decision-graphic-window img,.media-frame img,.visual-shell img{display:block;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;transform:none!important;position:static!important}
.challenge-grid:has([data-topic-panel]),.profile-grid:has([data-topic-panel]){display:block}
.challenge-card[data-topic-panel],.profile-card[data-topic-panel]{max-width:none;width:100%}
.challenge-card[data-topic-panel]{display:flex;flex-direction:column;align-items:stretch}
.challenge-card .v8-figure{width:100%;margin:1.4rem 0}
.challenge-card .text-link{align-self:flex-start}
.publication-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:12px;padding:1.6rem;margin:1.6rem 0}
.publication-card h3{color:var(--navy);font-size:1.2rem;line-height:1.35;margin:.5rem 0}
.publication-card p{color:var(--muted);margin:.5rem 0 0}
.publication-card .button{font-size:.87rem;line-height:1.5;text-align:center;flex:0 1 280px}
.v8-download-top{padding-top:1.2rem!important;padding-bottom:1.2rem!important}
.v8-governance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0}
.v8-governance article{background:linear-gradient(160deg,#e9f6fc,#fff);border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:12px;padding:1.3rem}
.v8-governance article:nth-child(2){border-top-color:#1591ad}
.v8-governance article:nth-child(3){border-top-color:#456a99}
.v8-governance span{color:var(--blue);font-size:.75rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.v8-governance h3{font-size:1.16rem;line-height:1.35}
.v8-governance p{color:var(--muted);line-height:1.65;font-size:1rem}
.v8-process{display:flex;align-items:stretch;gap:.6rem;flex-wrap:wrap;list-style:none;padding:0;margin:2rem 0;counter-reset:step}
.v8-process li{counter-increment:step;flex:1 1 130px;border:1px solid var(--line);border-radius:10px;background:#eaf4fa;padding:1rem;font-weight:750;color:var(--navy);line-height:1.45}
.v8-process li::before{content:counter(step,decimal-leading-zero);display:block;font-weight:900;font-size:1.2rem;color:var(--blue);margin-bottom:.7rem}
.site-footer{clear:both;position:relative;margin:0;background:var(--navy);color:#d6e8f5;padding:0}
.footer-bottom--compact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:auto;max-width:1600px;padding:1.4rem clamp(1.35rem,3vw,3rem);font-size:.8rem;line-height:1.5}
.footer-legal-nav{display:flex;flex-wrap:wrap;gap:1.1rem}
.footer-legal-nav a{color:#fff;text-decoration:none;font-weight:750;min-height:30px;display:inline-flex;align-items:center}
.footer-legal-nav a:hover{text-decoration:underline}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2.5rem}
.v8-contact-form{min-width:0}
.v8-contact-form label{font-size:.96rem}
.v8-contact-form input,.v8-contact-form select,.v8-contact-form textarea{width:100%;max-width:100%;min-width:0;border:1px solid #a5b9ca;border-radius:7px;padding:.78rem;background:#fff;color:var(--ink);font-size:1rem}
.v8-contact-form input:focus,.v8-contact-form select:focus,.v8-contact-form textarea:focus{outline:3px solid #70cee3;outline-offset:2px}
.v8-contact-form .privacy-check{display:flex;flex-direction:row;align-items:flex-start;gap:.8rem;line-height:1.5}
.v8-contact-form .privacy-check input{width:20px;height:20px;min-width:20px;margin:.2rem 0 0;accent-color:var(--blue)}
.v8-contact-form .form-privacy,.form-mode{font-size:.82rem;line-height:1.55;color:var(--muted);margin:0}
.v8-contact-form .form-mode{margin-top:1rem}
.sp-form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-result{border-left:5px solid var(--blue);background:#e8f4ff;padding:1.1rem;line-height:1.6;font-size:.95rem}
.form-result.error{border-color:#a62c3e;background:#fff0f0}
.form-result.success{border-color:#14734e;background:#e9f9f0}
.v8-review-banner{padding:.6rem 1.2rem;background:#edf7fc;color:#063159;border-bottom:1px solid #bad8ed;text-align:center;font-size:.86rem;line-height:1.5}
.v8-review-banner a{font-weight:800;margin-left:.7rem}
:focus-visible{outline:3px solid #148da9;outline-offset:4px}
.legal-copy{overflow-wrap:anywhere}
@media(max-width:1180px){
 .header-inner{gap:.7rem}
 .site-nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 85px);overflow-y:auto;background:#f6fbfe;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(3,20,67,.12);padding:1rem 1.5rem;flex-direction:column;align-items:stretch;gap:0}
 .nav-open .site-nav{display:flex}
 .site-nav>a{padding:.85rem .4rem;font-size:.94rem}
 .nav-toggle{display:block}
 .header-actions{margin-left:auto}
 .brand img{width:205px}
 .topic-layout{grid-template-columns:255px minmax(0,1fr)}
 .topic-rail-nav a{font-size:.83rem}
 .v8-governance{grid-template-columns:1fr}
 .publication-card{align-items:flex-start;flex-direction:column}
 .publication-card .button{flex:0 0 auto}
 .contact-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
 .header-inner{padding:.7rem 1rem;min-height:76px}
 .topic-layout{display:block}
 .topic-rail{position:relative;top:auto;height:auto;max-height:none;overflow:visible;width:100%;z-index:50}
 .topic-rail-inner{display:none;max-height:62dvh;overflow-y:auto}
 .topic-rail.is-open .topic-rail-inner{display:flex}
 .topic-rail-mobile-toggle{display:flex;padding:1rem 1.35rem}
 .topic-content .section{padding:2.5rem 1.35rem}
 .page-hero-inner{padding:2.5rem 1.35rem}
 .v8-backbar{padding:.8rem 1.35rem}
 .v8-backbar>span{display:none}
 .v8-figure{padding:.35rem;border-radius:8px}
 .v8-figure figcaption{font-size:.76rem}
 .v8-process li{flex-basis:160px}
 .footer-bottom--compact{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
 .header-inner{padding:.65rem .6rem;gap:.45rem;min-height:68px}
 .brand img{width:122px}
 .header-actions{gap:.5rem}
 .v8-contact{font-size:.82rem;padding:.55rem .65rem}
 .language-nav{gap:.25rem}
 .language-nav a{font-size:.76rem}
 .nav-toggle{min-width:35px;min-height:38px}
 .hero h1{font-size:clamp(2.05rem,8vw,2.65rem)}
 .page-hero h1{font-size:clamp(1.7rem,7.5vw,2.05rem)}
 .publication-card{padding:1.1rem}
 .publication-card .button{width:100%}
 .v8-contact-form{grid-template-columns:1fr}
 .contact-form .wide{grid-column:auto}
}
@media(max-width:360px){.brand img{width:100px}.header-actions{gap:.3rem}.v8-contact{padding:.5rem}.header-inner{gap:.3rem}.language-nav a{padding:.3rem .1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.topic-rail,.v8-backbar,.contact-band,.page-journey{display:none!important}.topic-layout{display:block}.topic-content{width:100%}.section{padding:1rem!important}.v8-figure{break-inside:avoid;box-shadow:none}}
.figure-context{display:block;flex-basis:100%;font-size:.76rem;line-height:1.45;color:var(--muted)}

/* V14 ICCBA approved one-wave word-image mark */
.iccba-brand-lockup{margin-top:1.6rem;max-width:520px}.iccba-brand-lockup img{display:block;height:auto;width:100%;border-radius:4px}@media(max-width:760px){.iccba-brand-lockup{max-width:420px;margin-top:1.25rem}}
