.container {
  width:min(78%,1476px);
  margin-inline:auto;
}

.site-header {
  position:fixed;
  inset:14px 0 auto;
  z-index:100;
  background:transparent;
}

.site-header>.container {
  width:min(78%,1476px);
  max-width:1476px;
}

.nav-wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  padding:0 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 40px rgba(7,20,38,.07);
  backdrop-filter:blur(18px);
}

.brand {
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.brand-logo {
  display:block;
  width:194px;
  height:68px;
  object-fit:contain;
  object-position:left center;
}

.site-nav {
  display:flex;
  align-items:center;
  gap:25px;
  color:#354358;
  font-size:13px;
  font-weight:500;
}

.site-nav>a:not(.nav-cta) {
  position:relative;
  padding:8px 0;
  text-decoration:none;
  transition:color .2s ease;
}

.site-nav>a:not(.nav-cta)::after {
  position:absolute;
  right:0;
  bottom:2px;
  left:0;
  height:1px;
  background:var(--blue);
  content:"";
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .25s ease;
}

.site-nav>a:not(.nav-cta):hover,
.site-nav>a.is-current {
  color:var(--blue);
}

.site-nav>a:not(.nav-cta):hover::after,
.site-nav>a.is-current::after {
  transform:scaleX(1);
  transform-origin:left;
}

.nav-cta,
.mobile-project-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:var(--blue);
  color:#fff;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(23,105,255,.2);
}

.nav-cta {
  min-height:48px;
  margin-left:4px;
  padding:0 18px;
}

.mobile-project-cta,
.mobile-nav-actions,
.menu-toggle {
  display:none;
}

.language-switch {
  display:inline-grid;
  grid-template-columns:repeat(2,1fr);
  gap:4px;
  padding:0;
  border:0;
  background:transparent;
}

.language-switch button {
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#526176;
  font:700 10px var(--font-body);
  letter-spacing:.04em;
  cursor:pointer;
}

.language-switch button.is-active {
  background:var(--blue);
  color:#fff;
  box-shadow:0 4px 12px rgba(23,105,255,.24);
}

.theme-switch {
  display:inline-grid;
  grid-template-columns:repeat(2,1fr);
  gap:2px;
  padding:3px;
  border:1px solid #d6dfeb;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 28px rgba(7,20,38,.08);
}

.theme-switch button {
  display:grid;
  place-items:center;
  width:34px;
  min-width:34px;
  height:30px;
  min-height:30px;
  padding:5px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#526176;
  font-size:0;
  cursor:pointer;
}

.theme-switch button.is-active {
  background:var(--blue);
  color:#fff;
  box-shadow:0 5px 14px rgba(23,105,255,.25);
}

.theme-switch button::before {
  display:block;
  width:16px;
  height:16px;
  margin:auto;
  background:currentColor;
  content:"";
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:contain;
}

.theme-switch button[data-theme-option="light"]::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.42-1.42M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.theme-switch button[data-theme-option="dark"]::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 15.5A8.5 8.5 0 0 1 8.5 4 8.5 8.5 0 1 0 20 15.5Z' fill='black'/%3E%3C/svg%3E");
}

.eyebrow {
  margin:0 0 18px;
  color:var(--blue);
  font-size:13px;
  font-weight:600;
  letter-spacing:.2em;
  line-height:1.3;
  text-transform:uppercase;
}

.company-hero {
  position:relative;
  min-height:560px;
  padding:148px 0 66px;
  overflow:hidden;
  background:linear-gradient(145deg,#fbfcfe 0%,#f2f6fd 58%,#e8f0ff 100%);
}

.company-hero::before,
.company-hero::after {
  position:absolute;
  border:1px solid rgba(23,105,255,.13);
  border-radius:50%;
  content:"";
}

.company-hero::before {
  top:-430px;
  right:-70px;
  width:820px;
  height:820px;
}

.company-hero::after {
  bottom:-420px;
  left:20%;
  width:650px;
  height:650px;
}

.company-hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.65fr);
  gap:96px;
  align-items:center;
}

.hero-title h1,
.company-section h2,
.company-cta h2 {
  margin:0;
  color:var(--navy);
  font-family:var(--font-heading);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:1.04;
}

.hero-title h1 {
  max-width:920px;
  font-size:clamp(52px,5.8vw,90px);
}

.hero-summary {
  display:grid;
  gap:15px;
  align-self:center;
}

.hero-summary p {
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
}

.hero-summary .company-name {
  color:var(--navy);
  font:600 18px var(--font-heading);
  letter-spacing:.03em;
}

.hero-summary .company-role {
  color:var(--blue);
  font-weight:600;
}

.company-section {
  padding:72px 0;
}

.company-section h2 {
  max-width:850px;
  font-size:clamp(38px,4.4vw,64px);
}

.section-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
  margin-bottom:34px;
}

.section-heading>p {
  max-width:460px;
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}

.text-link {
  justify-self:end;
  padding:8px 0 6px;
  border-bottom:1px solid var(--blue);
  color:var(--blue);
  font-weight:600;
  text-decoration:none;
}

.capabilities-section,
.profiles-section,
.standards-section {
  background:#fff;
}

.capability-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.capability-grid a {
  display:flex;
  align-items:center;
  min-height:64px;
  padding:14px 22px;
  border:1px solid #d8e1ee;
  border-radius:20px;
  background:#f7f9fc;
  color:var(--navy);
  font:600 18px var(--font-heading);
  text-decoration:none;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}

.capability-grid a:hover,
.capability-grid a:focus-visible {
  border-color:var(--blue);
  background:#eef4ff;
  color:var(--blue);
  transform:translateY(-3px);
}

.principles-section {
  background:#edf3ff;
}

.principles-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.interactive-card {
  outline:none;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}

.principles-grid article {
  min-height:156px;
  padding:24px 26px;
  border:1px solid #cfdbea;
  border-radius:24px;
  background:rgba(255,255,255,.72);
}

.principles-grid span {
  color:var(--blue);
  font-weight:600;
}

.principles-grid h3,
.profile-card h3 {
  margin:18px 0 8px;
  color:var(--navy);
  font:600 24px var(--font-heading);
  letter-spacing:-.03em;
}

.principles-grid p,
.profile-card p,
.profile-card li {
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
}

.interactive-card:hover,
.interactive-card:focus-visible,
.interactive-card.is-active {
  border-color:var(--blue);
  background:#fff;
  box-shadow:0 18px 45px rgba(23,105,255,.12);
  transform:translateY(-4px);
}

.leadership-section {
  background:#07172b;
}

.leadership-grid,
.credentials-grid,
.standards-grid,
.delivery-base-grid,
.location-grid,
.company-cta-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:92px;
  align-items:center;
}

.leadership-section h2,
.leadership-section p,
.leader-card h3 {
  color:#fff;
}

.leadership-copy>p:last-child {
  max-width:650px;
  margin:28px 0 0;
  color:#b9c8dd;
  font-size:17px;
  line-height:1.7;
}

.leader-card {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:24px;
  padding:26px;
  border:1px solid #29425f;
  border-radius:26px;
  background:#10263f;
}

.leader-monogram {
  display:grid;
  place-items:center;
  width:74px;
  height:74px;
  border-radius:20px;
  background:var(--blue);
  color:#fff;
  font:600 22px var(--font-heading);
}

.leader-card h3 {
  margin:0 0 5px;
  font:600 27px var(--font-heading);
}

.leader-card p {
  margin:12px 0 0;
  color:#b9c8dd;
  line-height:1.65;
}

.leader-card .leader-role {
  margin:0;
  color:#71a5ff;
  font-weight:600;
}

.credentials-section,
.delivery-base-section {
  background:#edf3ff;
}

.credential-panel>p,
.delivery-base-card p {
  margin:0 0 18px;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}

.profile-role {
  margin:0;
  color:var(--blue);
  font-weight:600;
}

.profile-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.profile-card {
  min-height:390px;
  padding:24px;
  border:1px solid #d7e0ec;
  border-radius:24px;
  background:#f7f9fc;
}

.profile-card h3 {
  margin-top:16px;
  margin-bottom:4px;
  font-size:23px;
}

.profile-card .profile-experience {
  margin:8px 0 18px;
  font-size:14px;
}

.profile-card h4 {
  margin:15px 0 5px;
  color:var(--navy);
  font:600 12px var(--font-heading);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.profile-card .profile-tech {
  margin:0;
  color:var(--blue);
  font-size:14px;
  font-weight:600;
}

.profile-card ul {
  margin:8px 0 0;
  padding-left:20px;
}

.profile-card li {
  font-size:14px;
  line-height:1.5;
}

.profile-note {
  max-width:900px;
  margin:28px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}

.profile-directory {
  margin:34px 0 0;
  padding:24px;
  border:1px solid #cad8eb;
  border-radius:26px;
  background:#f7f9fc;
}

.profile-filter-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.profile-filter-field {
  display:grid;
  gap:9px;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
}

.profile-filter-field select {
  width:100%;
  min-height:52px;
  padding:0 42px 0 15px;
  border:1px solid #c7d5e7;
  border-radius:14px;
  outline:none;
  background:#fff;
  color:var(--navy);
  font:500 15px var(--font-body);
  transition:border-color .2s ease,box-shadow .2s ease;
}

.profile-filter-field select:focus {
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(23,105,255,.12);
}

.profile-filter-field select:disabled {
  cursor:not-allowed;
  opacity:.55;
}

.profile-filter-actions {
  display:flex;
  gap:12px;
  margin-top:18px;
}

.profile-search-button,
.profile-reset-button {
  min-height:46px;
  padding:0 20px;
  border:1px solid var(--blue);
  border-radius:13px;
  font:700 14px var(--font-body);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.profile-search-button {
  background:var(--blue);
  color:#fff;
  box-shadow:0 10px 24px rgba(23,105,255,.2);
}

.profile-reset-button {
  background:transparent;
  color:var(--blue);
}

.profile-search-button:hover,
.profile-reset-button:hover {
  transform:translateY(-2px);
}

.profile-directory-status {
  margin:18px 0 0;
  padding:14px 16px;
  border-left:3px solid #9db9de;
  border-radius:0 12px 12px 0;
  background:#f4f7fb;
  color:var(--muted);
  font-size:14px;
}

.profile-directory-status.has-results {
  border-left-color:var(--blue);
  color:var(--navy);
  font-weight:700;
}

.profile-results {
  grid-template-columns:1fr;
  margin-top:18px;
}

.profile-results[hidden] {
  display:none;
}

.profile-directory-card {
  min-height:0;
  padding:28px;
  overflow:hidden;
}

.profile-card-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.profile-card-header h3 {
  margin:7px 0 3px;
  font-size:27px;
}

.profile-id,
.profile-level,
.profile-industry {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.profile-level {
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(23,105,255,.26);
  background:#edf4ff;
}

.profile-directory-card .profile-role {
  margin:0;
  color:var(--blue);
  font-size:16px;
  font-weight:700;
}

.profile-directory-card .profile-location {
  margin:0 0 18px;
  font-size:13px;
}

.profile-directory-card .profile-summary {
  max-width:1050px;
  margin:0;
  padding:17px 18px;
  border-radius:15px;
  background:#edf4ff;
  color:#354861;
}

.profile-skills-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.profile-skills-grid>div {
  padding:17px;
  border:1px solid #dbe4ef;
  border-radius:16px;
  background:#fff;
}

.profile-directory-card .profile-projects-heading {
  margin:24px 0 12px;
  color:var(--navy);
  font:700 18px var(--font-heading);
}

.profile-project-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.profile-project-list section {
  padding:17px;
  border:1px solid #dbe4ef;
  border-radius:16px;
  background:#fff;
}

.profile-project-list h5 {
  margin:8px 0 6px;
  color:var(--navy);
  font:700 16px var(--font-heading);
}

.profile-project-list .profile-prior-organisation {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 9px;
  color:var(--blue);
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}

.profile-project-list .profile-prior-organisation::before {
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:currentColor;
  content:"";
}

.profile-project-list p {
  margin:0;
  font-size:14px;
  line-height:1.55;
}

.profile-verification {
  display:flex;
  gap:8px;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid #dbe4ef;
  color:var(--muted);
  font-size:13px;
}

.profile-verification strong {
  color:var(--navy);
}

.credential-panel,
.delivery-base-card {
  padding:26px;
  border:1px solid #cad8eb;
  border-radius:26px;
  background:rgba(255,255,255,.72);
}

.credential-tags {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.credential-tags span {
  padding:11px 16px;
  border:1px solid #b9cbe4;
  border-radius:999px;
  color:var(--navy);
  font-size:13px;
  font-weight:600;
}

.organisation-section {
  background:#07172b;
}

.organisation-section h2 {
  color:#fff;
}

.organisation-chart {
  position:relative;
  display:grid;
  justify-items:center;
  padding:42px 34px 34px;
  border:1px solid #29425f;
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 5%,rgba(23,105,255,.2),transparent 30%),
    linear-gradient(145deg,#0a1d33,#102944);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 24px 60px rgba(0,0,0,.18);
}

.organisation-chart::before {
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(108,157,221,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(108,157,221,.045) 1px,transparent 1px);
  background-size:48px 48px;
  content:"";
  mask-image:linear-gradient(to bottom,black,transparent 88%);
  pointer-events:none;
}

.org-node,
.org-team-grid div {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:50px;
  padding:11px 18px;
  border:1px solid #3b5e85;
  border-radius:16px;
  background:rgba(20,45,75,.92);
  color:#fff;
  font-weight:600;
  text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}

.org-node::before,
.org-team-grid div::before {
  display:block;
  flex:0 0 auto;
  width:20px;
  height:20px;
  background:#78a9ff;
  content:"";
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:contain;
}

.org-node:hover,
.org-team-grid div:hover {
  border-color:#5c94df;
  background:#193858;
  box-shadow:0 16px 34px rgba(0,0,0,.2),0 0 0 3px rgba(23,105,255,.08);
  transform:translateY(-3px);
}

.org-client {
  min-width:210px;
  min-height:58px;
  border-color:#4b91ff;
  border-radius:18px;
  background:linear-gradient(135deg,#2476ff,#135be0);
  box-shadow:0 16px 36px rgba(23,105,255,.28);
  font-size:18px;
}

.org-client::before {
  background:#fff;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16M6 20V8l6-4 6 4v12M9 11h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.org-manager,
.org-lead {
  min-width:330px;
}

.org-manager::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='4' width='14' height='17' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 4V2h6v2M8 9h8M8 13h8M8 17h5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.org-lead {
  border-color:#4b78ab;
  background:#183656;
}

.org-lead::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='5' r='2.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='5' cy='18' r='2.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='19' cy='18' r='2.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7.5v4M12 11.5 6.5 16M12 11.5l5.5 4.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.org-connector {
  position:relative;
  z-index:1;
  width:1px;
  height:22px;
  background:linear-gradient(#78a9ff,#3f6eaa);
  box-shadow:0 0 10px rgba(78,139,220,.45);
  overflow:visible;
}

.org-connector::after {
  position:absolute;
  top:-3px;
  left:-3px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#b9d5ff;
  box-shadow:0 0 9px #5f9cff,0 0 18px rgba(95,156,255,.72);
  content:"";
  animation:org-flow-down 1.65s linear infinite;
}

.org-branches {
  position:relative;
  z-index:1;
  width:calc(80% + 14px);
  height:30px;
  border-top:1px solid #5689c6;
  filter:drop-shadow(0 0 5px rgba(78,139,220,.32));
}

.org-branches::before,
.org-branches::after {
  position:absolute;
  top:-4px;
  left:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#b9d5ff;
  box-shadow:0 0 9px #5f9cff,0 0 18px rgba(95,156,255,.72);
  content:"";
}

.org-branches::before {
  animation:org-flow-left 2.4s ease-in-out infinite;
}

.org-branches::after {
  animation:org-flow-right 2.4s ease-in-out infinite;
}

.org-team-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  width:100%;
}

.org-team-grid div {
  justify-content:flex-start;
  min-height:64px;
  padding:13px 16px;
  border-radius:18px;
  text-align:left;
}

.org-team-grid div::after {
  position:absolute;
  top:-31px;
  left:calc(50% - 3px);
  width:7px;
  height:31px;
  background:
    linear-gradient(#5689c6,#3e6fa8) center/1px 100% no-repeat,
    radial-gradient(circle,#d7e7ff 0 2px,#82b3ff 2.5px,transparent 3.5px) center -7px/7px 7px no-repeat;
  filter:drop-shadow(0 0 4px rgba(113,169,255,.85));
  content:"";
  animation:org-feed-team 1.75s linear infinite;
}

.org-team-grid div:nth-child(2)::after {
  animation-delay:.18s;
}

.org-team-grid div:nth-child(3)::after {
  animation-delay:.36s;
}

.org-team-grid div:nth-child(4)::after {
  animation-delay:.54s;
}

.org-team-grid div:nth-child(5)::after {
  animation-delay:.72s;
}

.org-team-grid div::before {
  width:22px;
  height:22px;
}

.org-team-grid div:nth-child(1)::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.org-team-grid div:nth-child(2)::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3 9h18M8 9v11' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");
}

.org-team-grid div:nth-child(3)::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m8.5 12 2.3 2.3 4.8-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.org-team-grid div:nth-child(4)::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 8.5 4.8 4.8 0 0 0 7 18Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.org-team-grid div:nth-child(5)::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='5' cy='7' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='19' cy='7' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='5' cy='17' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='19' cy='17' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m7 8 2.5 2M17 8l-2.5 2M7 16l2.5-2M17 16l-2.5-2' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");
}

@keyframes org-flow-down {
  0% {
    opacity:0;
    transform:translateY(0) scale(.65);
  }

  18% {
    opacity:1;
  }

  82% {
    opacity:1;
  }

  100% {
    opacity:0;
    transform:translateY(21px) scale(1);
  }
}

@keyframes org-flow-left {
  0% {
    left:50%;
    opacity:0;
    transform:scale(.65);
  }

  18% {
    opacity:1;
  }

  82% {
    opacity:1;
  }

  100% {
    left:0;
    opacity:0;
    transform:scale(1);
  }
}

@keyframes org-flow-right {
  0% {
    left:50%;
    opacity:0;
    transform:scale(.65);
  }

  18% {
    opacity:1;
  }

  82% {
    opacity:1;
  }

  100% {
    left:calc(100% - 7px);
    opacity:0;
    transform:scale(1);
  }
}

@keyframes org-feed-team {
  0% {
    background-position:center,center -7px;
  }

  100% {
    background-position:center,center 38px;
  }
}

.standards-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.standards-list span {
  display:flex;
  align-items:center;
  min-height:54px;
  padding:11px 16px;
  border:1px solid #d5dfeb;
  border-radius:16px;
  background:#f7f9fc;
  color:var(--navy);
  font-weight:600;
}

.delivery-base-card strong {
  display:block;
  margin-bottom:16px;
  color:var(--blue);
  font:600 clamp(42px,4vw,64px) var(--font-heading);
  letter-spacing:-.05em;
}

.delivery-base-card p:last-child {
  margin-bottom:0;
}

.location-section {
  background:#fff;
}

.location-grid>p {
  margin:0;
  color:var(--navy);
  font:600 22px var(--font-heading);
  text-align:right;
}

.location-grid>p span {
  margin:0 8px;
  color:var(--blue);
}

.site-footer {
  padding:38px 0 22px;
  background:#20252c;
  color:#9ba7b7;
}

.site-footer>.container {
  width:min(78%,1476px);
  max-width:1476px;
}

.footer-top {
  margin-bottom:32px;
}

.footer-title {
  margin:0 0 3px;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
}

.footer-tagline {
  margin:0;
  font-size:11px;
}

.footer-nav {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px 44px;
  max-width:560px;
  margin-bottom:34px;
  color:#c0cede;
  font-size:13px;
  font-weight:600;
}

.footer-nav a,
.footer-legal a {
  color:inherit;
  text-decoration:none;
}

.footer-nav a:hover,
.footer-nav a:focus-visible,
.footer-legal a:hover,
.footer-legal a:focus-visible {
  color:#fff;
}

.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-top:20px;
  border-top:1px solid #424a55;
  font-size:11px;
}

.footer-legal {
  display:flex;
  gap:24px;
}

.company-cta {
  padding:60px 0;
  background:var(--blue);
}

.company-cta h2,
.company-cta .eyebrow {
  color:#fff;
}

.company-cta button {
  justify-self:end;
  min-height:56px;
  padding:0 25px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:16px;
  background:#fff;
  color:var(--blue);
  font:600 16px var(--font-heading);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.company-cta button:hover,
.company-cta button:focus-visible {
  box-shadow:0 14px 32px rgba(7,23,43,.2);
  transform:translateY(-2px);
}

.reveal {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease,transform .6s ease;
}

.reveal.is-visible {
  opacity:1;
  transform:none;
}

html[data-theme="dark"] body {
  background:#061425;
}

html[data-theme="dark"] .nav-wrap {
  border-color:#28415e;
  background:rgba(7,23,43,.94);
}

html[data-theme="dark"] .site-nav {
  color:#c8d4e4;
}

html[data-theme="dark"] .language-switch button,
html[data-theme="dark"] .theme-switch button {
  color:#aebed2;
}

html[data-theme="dark"] .theme-switch {
  border-color:#35506f;
  background:#0d2138;
}

html[data-theme="dark"] .company-hero,
html[data-theme="dark"] .credentials-section,
html[data-theme="dark"] .delivery-base-section {
  background:linear-gradient(145deg,#07172b,#102943);
}

html[data-theme="dark"] .capabilities-section,
html[data-theme="dark"] .profiles-section,
html[data-theme="dark"] .standards-section,
html[data-theme="dark"] .location-section {
  background:#091a2e;
}

html[data-theme="dark"] .principles-section {
  background:#0d223a;
}

html[data-theme="dark"] .hero-title h1,
html[data-theme="dark"] .company-section h2,
html[data-theme="dark"] .hero-summary .company-name,
html[data-theme="dark"] .principles-grid h3,
html[data-theme="dark"] .profile-card h3,
html[data-theme="dark"] .credential-tags span,
html[data-theme="dark"] .standards-list span,
html[data-theme="dark"] .location-grid>p {
  color:#f5f8fd;
}

html[data-theme="dark"] .hero-summary p,
html[data-theme="dark"] .credential-panel>p,
html[data-theme="dark"] .delivery-base-card p,
html[data-theme="dark"] .profile-note,
html[data-theme="dark"] .profile-card li,
html[data-theme="dark"] .principles-grid p,
html[data-theme="dark"] .section-heading>p {
  color:#b7c7da;
}

html[data-theme="dark"] .capability-grid a,
html[data-theme="dark"] .principles-grid article,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .credential-panel,
html[data-theme="dark"] .delivery-base-card,
html[data-theme="dark"] .standards-list span {
  border-color:#2b4969;
  background:#10263f;
}

html[data-theme="dark"] .capability-grid a {
  color:#f5f8fd;
}

html[data-theme="dark"] .profile-card h4 {
  color:#f5f8fd;
}

html[data-theme="dark"] .profile-directory,
html[data-theme="dark"] .profile-directory-status,
html[data-theme="dark"] .profile-directory-card .profile-summary {
  border-color:#2b4969;
  background:#0d2239;
  color:#b7c7da;
}

html[data-theme="dark"] .profile-filter-field,
html[data-theme="dark"] .profile-directory-status.has-results,
html[data-theme="dark"] .profile-verification strong {
  color:#f5f8fd;
}

html[data-theme="dark"] .profile-filter-field select,
html[data-theme="dark"] .profile-skills-grid>div,
html[data-theme="dark"] .profile-project-list section {
  border-color:#2b4969;
  background:#10263f;
  color:#f5f8fd;
}

html[data-theme="dark"] .profile-directory-card .profile-projects-heading,
html[data-theme="dark"] .profile-project-list h5 {
  color:#f5f8fd;
}

html[data-theme="dark"] .profile-level {
  border-color:#3d70b4;
  background:#142f51;
}

html[data-theme="dark"] .interactive-card:hover,
html[data-theme="dark"] .interactive-card:focus-visible,
html[data-theme="dark"] .interactive-card.is-active {
  border-color:var(--blue);
  background:#163252;
}

@media(max-width:1180px) {
  .site-nav {
    gap:15px;
    font-size:12px;
  }

  .brand-logo {
    width:170px;
  }

  .profile-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .org-team-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:800px) {
  .container {
    width:min(100% - 32px,1180px);
  }

  .profile-filter-grid,
  .profile-skills-grid,
  .profile-project-list {
    grid-template-columns:1fr;
  }

  .profile-card-header {
    display:grid;
  }

  .profile-level {
    justify-self:start;
  }

  .site-header>.container {
    width:calc(100% - 32px);
  }

  .site-footer>.container {
    width:calc(100% - 32px);
  }

  .site-header {
    inset:0 0 auto;
    padding:12px 0 0;
  }

  .nav-wrap {
    position:relative;
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:8px 10px;
    height:148px;
    padding:12px 14px;
    border-radius:22px;
  }

  .brand-logo {
    width:202px;
    height:72px;
  }

  .mobile-nav-actions {
    display:contents;
  }

  .mobile-project-cta {
    display:inline-flex;
    align-self:center;
    min-height:52px;
    padding:0 16px;
    font-size:14px;
  }

  .mobile-nav-tools {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 48px 1fr;
    align-items:center;
  }

  .language-switch-mobile {
    justify-self:start;
  }

  .theme-switch-mobile {
    justify-self:end;
  }

  .menu-toggle {
    position:relative;
    display:block;
    justify-self:center;
    width:44px;
    height:42px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
  }

  .menu-toggle span {
    position:absolute;
    left:8px;
    width:28px;
    height:2px;
    background:var(--navy);
    transition:transform .25s ease,opacity .2s ease,top .25s ease;
  }

  .menu-toggle span:nth-child(1) {
    top:12px;
  }

  .menu-toggle span:nth-child(2) {
    top:20px;
  }

  .menu-toggle span:nth-child(3) {
    top:28px;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) {
    top:20px;
    transform:rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity:0;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3) {
    top:20px;
    transform:rotate(-45deg);
  }

  html[data-theme="dark"] .menu-toggle span {
    background:#fff;
  }

  .site-nav {
    position:fixed;
    top:172px;
    right:16px;
    left:16px;
    z-index:99;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    max-height:calc(100vh - 188px);
    padding:18px 24px;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:24px;
    background:#fff;
    box-shadow:0 24px 70px rgba(7,20,38,.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
  }

  .site-nav.open {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .site-nav>a:not(.nav-cta) {
    padding:15px 4px;
    border-bottom:1px solid var(--line);
    font-size:17px;
  }

  .site-nav>a:not(.nav-cta)::after,
  .site-nav .language-switch,
  .site-nav .theme-switch,
  .site-nav .nav-cta {
    display:none;
  }

  html[data-theme="dark"] .site-nav {
    border-color:#29425f;
    background:#0b1e34;
  }

  .company-hero {
    min-height:auto;
    padding:222px 0 62px;
  }

  .company-hero-grid,
  .leadership-grid,
  .credentials-grid,
  .standards-grid,
  .delivery-base-grid,
  .location-grid,
  .company-cta-grid {
    grid-template-columns:1fr;
    gap:44px;
  }

  .hero-title h1 {
    font-size:clamp(48px,9vw,72px);
  }

  .company-section {
    padding:58px 0;
  }

  .profile-grid {
    grid-template-columns:1fr 1fr;
  }

  .org-team-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .org-branches {
    width:60%;
  }

  .location-grid>p,
  .company-cta button {
    justify-self:start;
    text-align:left;
  }
}

@media(max-width:520px) {
  .container {
    width:min(100% - 28px,1180px);
  }

  .nav-wrap,
  .site-header>.container {
    width:calc(100% - 28px);
  }

  .site-footer>.container {
    width:calc(100% - 28px);
  }

  .brand-logo {
    width:190px;
  }

  .mobile-project-cta {
    padding:0 13px;
    font-size:12px;
  }

  .company-hero {
    padding-top:226px;
  }

  .hero-title h1 {
    font-size:clamp(43px,12vw,61px);
  }

  .hero-summary p {
    font-size:16px;
  }

  .company-section h2 {
    font-size:clamp(35px,10vw,50px);
  }

  .section-heading {
    grid-template-columns:1fr;
    gap:24px;
  }

  .text-link {
    justify-self:end;
  }

  .capability-grid,
  .principles-grid,
  .profile-grid,
  .standards-list,
  .org-team-grid {
    grid-template-columns:1fr;
  }

  .principles-grid article,
  .profile-card {
    min-height:0;
  }

  .profile-directory,
  .profile-directory-card {
    padding:18px;
    border-radius:20px;
  }

  .profile-filter-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .profile-search-button,
  .profile-reset-button {
    width:100%;
  }

  .leader-card {
    grid-template-columns:1fr;
  }

  .organisation-chart {
    padding:24px 18px;
  }

  .org-manager,
  .org-lead {
    min-width:0;
    width:100%;
  }

  .org-branches {
    width:1px;
    height:24px;
    border:0;
    background:#5d8dcc;
  }

  .org-branches::before,
  .org-branches::after {
    display:none;
  }

  .org-team-grid div::after {
    top:-15px;
    height:15px;
  }

  .company-cta {
    padding:52px 0;
  }

  .footer-nav {
    grid-template-columns:1fr 1fr;
  }

  .footer-bottom {
    flex-direction:column;
  }

  .footer-legal {
    flex-wrap:wrap;
    gap:14px 20px;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }

  .reveal {
    opacity:1;
    transform:none;
  }
}
