/* Mentaswift static corporate site — no external font or runtime dependencies. */
:root {
  --blue: #0B69B9;
  --gold: #F9B805;
  --white: #FFFFFF;
  --pale: #ECECEC;
  --charcoal: #4C4C4C;
  --ink: #4C4C4C;
  --muted: #4C4C4C;
  --line: #ECECEC;
  --soft-blue: #ECECEC;
  --container: 1160px;
  --shadow: 0 14px 38px rgba(76, 76, 76, .14);
  --radius: 12px;
  --brand-ribbon-height: 36px;
  --brand-surface: #0B69B9;
  --brand-orbit-x: 78%;
  --brand-orbit-top-y: 160px;
  --brand-orbit-footer-y: -124px;
  font-family: Montserrat, "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; line-height: 1.65; color: var(--ink); background: var(--white); }
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; z-index: 1000; top: 8px; left: 8px; transform: translateY(-160%); padding: 10px 16px; color: var(--white); background: var(--charcoal); border-radius: 4px; }
.skip-link:focus { transform: translateY(0); }
/* Consistent location and contextual navigation below the site header. */
.page-context {
  position: relative;
  z-index: 3;
  color: #35485a;
  border-bottom: 1px solid rgba(12,29,51,.11);
  background: #fff;
  box-shadow: 0 7px 20px rgba(12,29,51,.035);
}
.page-context-inner { padding-block: 16px 17px; }
.page-breadcrumb { color: #5d6a75; font-size: .79rem; line-height: 1.5; }
.page-breadcrumb ol,
.page-link-trail ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.page-breadcrumb ol { gap: 6px; }
.page-breadcrumb li { min-width: 0; }
.page-breadcrumb li + li::before { content: "/"; margin-right: 6px; color: #9aa4ad; }
.page-breadcrumb a { color: #0b69b9; font-weight: 700; text-decoration: none; }
.page-breadcrumb a:hover,
.page-breadcrumb a:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; }
.page-link-trail { margin-top: 9px; overflow-x: auto; scrollbar-width: thin; }
.page-link-trail ol { width: max-content; max-width: 100%; flex-wrap: nowrap; }
.page-link-trail li { display: inline-flex; align-items: center; white-space: nowrap; }
.page-link-trail li + li::before { content: "→"; margin: 0 10px; color: #a87722; font-weight: 700; }
.page-link-trail a {
  color: #17334a;
  border-bottom: 1px solid transparent;
  font-size: .83rem;
  font-weight: 720;
  line-height: 1.5;
  text-decoration: none;
  transition: color .18s ease, border-color .18s ease;
}
.page-link-trail a:hover,
.page-link-trail a:focus-visible,
.page-link-trail a[aria-current="location"] { color: #0b69b9; border-bottom-color: #f9b805; }
@media (max-width: 680px) {
  .page-context-inner { padding-block: 13px 14px; }
  .page-breadcrumb { font-size: .73rem; }
  .page-link-trail { margin-right: -18px; padding-right: 18px; }
  .page-link-trail a { font-size: .78rem; }
  .page-link-trail li + li::before { margin-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-link-trail a { transition: none; }
}
.social-links { display: flex; align-items: center; gap: 8px; }
.social-links a { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 4px; color: inherit; }
.social-links a:hover { background: rgba(255,255,255,.16); }
.social-links svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-header { position: relative; top: auto; z-index: 50; background: var(--white); border-bottom: 1px solid rgba(76, 76, 76, .12); box-shadow: 0 4px 18px rgba(76,76,76,.08); }
.site-header::before {
  display: block;
  height: var(--brand-ribbon-height);
  content: "";
  background:
    radial-gradient(circle at var(--brand-orbit-x) var(--brand-orbit-top-y), rgba(255,255,255,.035) 0 144px, rgba(255,255,255,.17) 145px 146px, transparent 147px 189px, rgba(255,255,255,.09) 190px 191px, transparent 192px),
    var(--brand-surface);
}
.header-inner { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; text-decoration: none; color: var(--blue); }
.brand-logo { display: block; width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.04; width: 158px; }
.brand-name { font-weight: 750; letter-spacing: -.035em; font-size: 1.42rem; }
.brand-tag { font-size: .76rem; color: var(--charcoal); font-weight: 600; letter-spacing: .075em; text-transform: none; margin-top: 4px; white-space: nowrap; }
.nav-wrap { display: flex; align-items: center; gap: 28px; }
.nav-links { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); }
.nav-links a { color: var(--charcoal); font-size: .91rem; font-weight: 650; text-decoration: none; padding: 9px 0; border-bottom: 2px solid transparent; transition: color .2s ease, border-color .2s ease; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--blue); border-color: var(--gold); }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 5px; padding: 12px 20px; font-weight: 700; font-size: .92rem; text-decoration: none; cursor: pointer; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(11, 105, 185, .16); }
.button-gold { background: var(--gold); color: var(--charcoal); }
.button-gold:hover { background: var(--gold); }
.header-cta[aria-current="page"] { outline: 2px solid var(--blue); outline-offset: 2px; }
.button-blue { color: var(--white); background: var(--blue); }
.button-blue:hover { background: var(--blue); }
.button-outline { color: var(--blue); border-color: var(--blue); background: transparent; }
.button-outline:hover { color: var(--white); background: var(--blue); }
.nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); color: var(--blue); cursor: pointer; }
.nav-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; border-radius: 2px; background: currentColor; }
.hero { position: relative; isolation: isolate; min-height: min(680px, 72vw); height: 630px; max-height: 78vh; overflow: hidden; color: var(--white); background: var(--charcoal); }
.hero-track, .hero-slide { position: absolute; inset: 0; }
.hero-slide { display: flex; align-items: center; isolation: isolate; }
.hero-slide[hidden] { display: none; }
.hero-slide img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.hero-slide::after { position: absolute; z-index: -1; content: ""; inset: 0; background: linear-gradient(90deg, rgba(76, 76, 76, .83) 0%, rgba(76, 76, 76, .59) 43%, rgba(76, 76, 76, .12) 100%), linear-gradient(0deg, rgba(76, 76, 76, .22), transparent 50%); }
.hero-copy { width: min(var(--container), calc(100% - 128px)); margin-inline: auto; padding-top: 10px; }
.hero-copy-inner { max-width: 665px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--blue); text-transform: uppercase; letter-spacing: .16em; font-size: .75rem; font-weight: 750; }
.eyebrow::before { width: 27px; height: 2px; content: ""; background: var(--gold); }
.hero .eyebrow { color: var(--white); }
.hero h1, .hero h2 { max-width: 760px; margin: 17px 0 18px; font-size: clamp(2.7rem, 5.3vw, 4.35rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 700; }
.hero p { max-width: 625px; margin: 0 0 28px; font-size: clamp(1rem, 1.55vw, 1.18rem); color: rgba(255,255,255,.93); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-actions .button-outline { color: var(--white); border-color: rgba(255,255,255,.78); }
.hero-actions .button-outline:hover { color: var(--ink); background: var(--white); }
.hero-control { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 50px; height: 58px; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.48); color: var(--white); background: rgba(76,76,76,.55); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.hero-control:hover { background: var(--blue); border-color: var(--blue); }
.hero-control span { font-family: Arial, sans-serif; font-size: 2rem; line-height: 1; }
.hero-control-prev { left: 0; border-left: 0; border-radius: 0 5px 5px 0; }
.hero-control-next { right: 0; border-right: 0; border-radius: 5px 0 0 5px; }
.hero-status { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 2; padding: 7px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; color: rgba(255,255,255,.92); background: rgba(76,76,76,.58); font-size: .75rem; letter-spacing: .04em; backdrop-filter: blur(6px); }
.hero-status[aria-hidden="true"] { display: none; }
.hero-pagination { display: flex; align-items: center; justify-content: center; gap: 11px; min-height: 48px; padding: 12px 20px; background: var(--white); }
.hero-dot { position: relative; width: 14px; height: 14px; flex: 0 0 14px; padding: 0; border: 2px solid rgba(11, 105, 185, .34); border-radius: 50%; background: rgba(11, 105, 185, .07); cursor: pointer; transition: border-color .24s ease, background-color .24s ease, transform .24s ease, box-shadow .24s ease; }
.hero-dot:hover { border-color: rgba(11, 105, 185, .68); transform: scale(1.14); box-shadow: 0 0 0 4px rgba(11,105,185,.1); }
.hero-dot.is-active, .hero-dot[aria-current="true"] { border-color: var(--blue); background: var(--blue); box-shadow: 0 0 0 3px rgba(11,105,185,.1); }
.hero-dot:focus-visible { outline: 3px solid rgba(197,160,89,.72); outline-offset: 4px; }
.page-hero { position: relative; overflow: hidden; padding: 82px 0 88px; color: var(--white); background: var(--blue); }
.page-hero::after { position: absolute; right: -8%; bottom: -65%; width: 580px; height: 580px; content: ""; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.035), 0 0 0 98px rgba(255,255,255,.03); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero .eyebrow { color: #fff; }
.page-hero h1 { max-width: 820px; margin: 14px 0 14px; font-size: clamp(2.35rem, 4vw, 3.55rem); line-height: 1.12; letter-spacing: -.035em; }
.page-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.88); font-size: 1.08rem; }
.section { padding: 82px 0; }
.section-compact { padding: 60px 0; }
.section-tint { background-color: var(--pale); background-image: radial-gradient(rgba(11,105,185,.07) .7px, transparent .7px); background-size: 15px 15px; }
.section-blue { color: var(--white); background: var(--blue); }
.section-heading { max-width: 780px; margin: 0 auto 38px; text-align: center; }
.section-heading .eyebrow { justify-content: center; }
.section-heading h2 { margin: 12px 0 13px; color: var(--ink); font-size: clamp(1.9rem, 3.15vw, 2.7rem); line-height: 1.16; letter-spacing: -.035em; }
.section-blue .section-heading h2 { color: var(--white); }
.section-heading p { margin: 0; color: var(--muted); font-size: 1.02rem; }
.section-blue .section-heading p { color: rgba(255,255,255,.86); }
.intro-grid { display: grid; grid-template-columns: 1fr .88fr; gap: 66px; align-items: center; }
.intro-copy h2 { margin: 12px 0 18px; max-width: 640px; font-size: clamp(1.9rem, 3.2vw, 2.7rem); line-height: 1.15; letter-spacing: -.035em; }
.intro-copy p { margin: 0 0 16px; color: var(--muted); }
.intro-panel { position: relative; overflow: hidden; min-height: 310px; padding: 34px; display: flex; flex-direction: column; justify-content: flex-end; color: var(--white); border-radius: var(--radius); background: linear-gradient(145deg, rgba(76,76,76,.22), rgba(76,76,76,.91)), url("images/hills.webp") center/cover; box-shadow: var(--shadow); }
.intro-panel::before { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.42); border-radius: 7px; content: ""; }
.intro-panel > * { position: relative; }
.intro-panel h3 { margin: 0 0 10px; font-size: 1.5rem; line-height: 1.25; }
.intro-panel p { margin: 0; max-width: 420px; color: rgba(255,255,255,.9); }
/* Homepage introduction — three-card executive profile, based on the supplied layout. */
.home-intro-showcase {
  padding: clamp(58px, 6.5vw, 88px) 0;
  background: #f4f6f9;
  border-top: 1px solid rgba(12,29,51,.06);
  border-bottom: 1px solid rgba(12,29,51,.08);
}
.home-intro-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px);
  align-items: stretch;
}
.home-intro-card {
  display: flex;
  min-width: 0;
  min-height: 580px;
  flex-direction: column;
  padding: clamp(25px, 2.5vw, 34px) clamp(22px, 2.35vw, 31px) 26px;
  border: 1px solid rgba(12,29,51,.13);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(12,29,51,.055);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.home-intro-card:hover {
  transform: translateY(-5px);
  border-color: rgba(11,105,185,.28);
  box-shadow: 0 22px 48px rgba(12,29,51,.11);
}
.home-intro-card-icon {
  display: grid;
  width: 48px;
  height: 48px;
  margin: 0 auto 17px;
  place-items: center;
  color: #0793c8;
  border-radius: 13px;
  background: #eef9fd;
}
.home-intro-card-icon svg { width: 25px; height: 25px; }
.home-intro-card > h3 {
  margin: 0 0 20px;
  color: #076f99;
  font-size: clamp(1.28rem, 1.65vw, 1.55rem);
  line-height: 1.2;
  text-align: center;
  letter-spacing: -.025em;
}
.home-intro-card-body { flex: 1 1 auto; }
.home-intro-card-body h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  color: #172331;
  font-size: .94rem;
  line-height: 1.4;
}
.home-intro-card-body p {
  margin: 0 0 18px;
  color: #3f4d5c;
  font-size: .91rem;
  line-height: 1.72;
}
.mini-mark {
  display: inline-grid;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #0793c8;
  font-family: Georgia, serif;
  font-size: .62rem;
  font-weight: 800;
}
.mini-handshake { display: inline-flex; width: 17px; color: #0793c8; }
.mini-handshake svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-intro-benefits {
  display: grid;
  gap: 10px;
  margin: 21px 0 18px;
  padding: 0;
  list-style: none;
}
.home-intro-benefits li {
  padding: 11px 12px;
  color: #1c2732;
  border-left: 3px solid #0793c8;
  border-radius: 0 5px 5px 0;
  background: #f8fafc;
  font-size: .82rem;
  line-height: 1.45;
}
.home-intro-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 19px;
  padding: 10px 18px;
  color: #0788ba;
  border: 2px solid #0793c8;
  border-radius: 7px;
  background: #fff;
  font-size: .79rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.home-intro-button span { font-size: 1rem; transition: transform .2s ease; }
.home-intro-button:hover,
.home-intro-button:focus-visible { color: #fff; background: #0788ba; transform: translateY(-1px); }
.home-intro-button:hover span { transform: translateX(3px); }
@media (max-width: 980px) {
  .home-intro-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-intro-card { min-height: 0; }
  .home-intro-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .home-intro-showcase { padding: 48px 0; }
  .home-intro-cards { grid-template-columns: 1fr; gap: 16px; }
  .home-intro-card,
  .home-intro-card:last-child { grid-column: auto; padding: 24px 20px 21px; }
  .home-intro-card > h3 { margin-bottom: 17px; }
  .home-intro-card-body p { font-size: .9rem; line-height: 1.66; }
}
@media (prefers-reduced-motion: reduce) {
  .home-intro-card,
  .home-intro-button,
  .home-intro-button span { transition: none; }
  .home-intro-card:hover { transform: none; }
}
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card-grid.two-col { grid-template-columns: repeat(2, 1fr); }
.card { height: 100%; padding: 27px 26px; background: var(--white); border: 1px solid rgba(76,76,76,.08); border-radius: var(--radius); box-shadow: 0 5px 19px rgba(76,76,76,.045); transition: transform .22s ease, box-shadow .22s ease; }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card-icon { display: grid; width: 46px; height: 46px; margin-bottom: 18px; place-items: center; color: var(--blue); background: var(--soft-blue); border-radius: 10px; }
.card-icon svg { width: 23px; height: 23px; stroke: currentColor; }
.card h3 { margin: 0 0 11px; color: var(--ink); font-size: 1.17rem; line-height: 1.35; }
.card p { margin: 0; color: var(--muted); font-size: .94rem; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--blue); font-size: .9rem; font-weight: 720; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.text-link::after { content: "→"; font-size: 1.12rem; transition: transform .18s ease; }
.text-link:hover::after { transform: translateX(3px); }
.service-card { position: relative; padding-top: 29px; }
.service-card::before { position: absolute; top: 0; left: 26px; width: 48px; height: 3px; background: var(--gold); content: ""; }
.sector-card { min-height: 175px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(145deg, var(--white), var(--pale)); }
.sector-card .card-icon { margin-bottom: auto; }
.sector-card h3 { margin-top: 21px; }
.note-band { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; padding: 30px 34px; border-left: 4px solid var(--gold); border-radius: 4px; background: var(--white); box-shadow: 0 9px 26px rgba(76,76,76,.07); }
.note-band h2 { margin: 0 0 6px; font-size: 1.45rem; }
.note-band p { margin: 0; color: var(--muted); }
.portfolio + .portfolio { margin-top: 64px; }
.portfolio-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.portfolio-heading h2 { margin: 8px 0 0; font-size: clamp(1.6rem, 2.4vw, 2.05rem); line-height: 1.2; }
.portfolio-heading p { max-width: 460px; margin: 0; color: var(--muted); }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.value-card { padding: 25px 22px; border: 1px solid rgba(76,76,76,.09); border-radius: var(--radius); background: var(--white); }
.value-card h3 { margin: 0 0 9px; font-size: 1.05rem; }
.value-card p { margin: 0; color: var(--muted); font-size: .91rem; }
.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.method-card { padding: 24px 20px; background: var(--white); border-top: 3px solid var(--gold); box-shadow: 0 7px 24px rgba(76,76,76,.07); }
.method-card h3 { margin: 0 0 8px; font-size: 1.08rem; }
.method-card p { margin: 0; color: var(--muted); font-size: .92rem; }
.insight-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.insight-art { min-height: 8px; height: 8px; background: linear-gradient(90deg, var(--blue), var(--blue)); }
.insight-body { padding: 26px; }
.insight-category { display: inline-block; margin-bottom: 11px; color: var(--blue); font-size: .72rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.insight-body h3 { font-size: 1.25rem; }
.insight-body details { margin-top: 15px; color: var(--muted); font-size: .92rem; }
.insight-body summary { color: var(--blue); cursor: pointer; font-weight: 700; }
.insight-body details p { margin-top: 10px; }
.form-section { padding: 72px 0; background: var(--soft-blue); }
.form-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: start; }
.form-intro h2 { margin: 10px 0 12px; font-size: clamp(1.9rem, 3.2vw, 2.6rem); line-height: 1.16; }
.form-intro p { color: var(--muted); }
.form-card { padding: 31px; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field { margin-bottom: 16px; }
.form-field label { display: block; margin-bottom: 6px; color: var(--charcoal); font-size: .88rem; font-weight: 700; }
.form-field input, .form-field select, .form-field textarea { width: 100%; padding: 11px 12px; color: var(--ink); border: 1px solid rgba(76,76,76,.4); border-radius: 5px; background: var(--white); }
.form-field textarea { min-height: 135px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--blue); outline: 2px solid rgba(11,105,185,.14); }
.form-note { margin: 13px 0 0; color: var(--muted); font-size: .81rem; }
.form-status { margin: 16px 0 0; padding: 13px 15px; border-left: 3px solid var(--blue); color: var(--ink); background: var(--soft-blue); font-size: .92rem; }
.form-status[hidden] { display: none; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.contact-list { display: grid; gap: 15px; margin-top: 26px; }
.contact-item { padding: 19px 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.contact-item h3 { margin: 0 0 5px; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; color: var(--blue); }
.contact-item p { margin: 0; color: var(--charcoal); }
.contact-item a { color: var(--blue); font-weight: 700; }
.promise { margin-top: 25px; padding: 18px 20px; background: var(--soft-blue); border-left: 3px solid var(--gold); border-radius: 3px; }
.promise strong { display: block; margin-bottom: 4px; }
.promise p { margin: 0; color: var(--muted); font-size: .92rem; }
.cta-band { padding: 50px 0; color: var(--white); background: var(--blue); }
.cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.cta-inner h2 { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.18; }
.cta-inner p { max-width: 650px; margin: 0; color: rgba(255,255,255,.88); }
.site-footer {
  color: #CFD5DE;
  background:
    radial-gradient(circle at var(--brand-orbit-x) var(--brand-orbit-footer-y), rgba(255,255,255,.035) 0 144px, rgba(255,255,255,.17) 145px 146px, transparent 147px 189px, rgba(255,255,255,.09) 190px 191px, transparent 192px),
    var(--brand-surface);
}
.footer-main { display: grid; grid-template-columns: minmax(245px, 1.28fr) minmax(135px, .72fr) minmax(190px, .98fr) minmax(230px, 1.08fr); gap: clamp(30px, 4vw, 58px); padding: 52px 0 40px; }
.footer-brand-column p { max-width: 315px; margin: 18px 0 20px; color: #E0E5EB; font-size: .88rem; line-height: 1.65; }
.site-footer .brand { color: #FFFFFF; }
.site-footer .brand-tag { color: rgba(255,255,255,.72); }
.footer-column h2 { position: relative; margin: 5px 0 19px; padding-bottom: 11px; color: #C5A059; font-size: .72rem; font-weight: 760; letter-spacing: .17em; line-height: 1.3; text-transform: uppercase; }
.footer-column h2::after { position: absolute; bottom: 0; left: 0; width: 25px; height: 1px; content: ""; background: rgba(197,160,89,.65); }
.footer-links { display: grid; gap: 8px; }
.footer-links a { width: fit-content; color: #E7EBF0; font-size: .86rem; line-height: 1.45; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.footer-links a:hover { color: #D8B875; transform: translateX(2px); }
.footer-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.footer-social a { display: grid; width: 34px; height: 34px; place-items: center; color: #FFFFFF; border: 1px solid transparent; border-radius: 50%; text-decoration: none; box-shadow: 0 3px 10px rgba(0,0,0,.16); transition: filter .18s ease, transform .18s ease, box-shadow .18s ease; }
.footer-social a:nth-child(1) { background: #25D366; }
.footer-social a:nth-child(2) { background: #0A66C2; }
.footer-social a:nth-child(3) { background: linear-gradient(135deg, #833AB4 0%, #E1306C 48%, #FCAF45 100%); }
.footer-social a:nth-child(4) { background: #000000; }
.footer-social a:nth-child(5) { background: #1877F2; }
.footer-social a:hover { color: #FFFFFF; filter: brightness(1.1); transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0,0,0,.24); }
.footer-social svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-social a:nth-child(1) svg { width: 18px; height: 18px; }
.footer-social .social-icon-linkedin { width: 17px; height: 17px; fill: currentColor; stroke: none; }
.footer-social a:nth-child(3) svg { width: 17px; height: 17px; }
.footer-social a:nth-child(4) svg { width: 16px; height: 16px; stroke-width: 2.1; }
.footer-social a:last-child svg { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.footer-contact-list { display: grid; gap: 13px; margin: 0; color: #E7EBF0; font-style: normal; }
.footer-contact-item { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; color: #E7EBF0; font-size: .86rem; line-height: 1.5; text-decoration: none; }
a.footer-contact-item:hover { color: #D8B875; }
.footer-contact-item svg, .footer-email-group svg { width: 18px; height: 18px; margin-top: 2px; fill: none; stroke: #C5A059; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.footer-email-group { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; color: #E7EBF0; font-size: .86rem; line-height: 1.5; }
.footer-email-group > span { display: grid; gap: 4px; }
.footer-email-group a { width: fit-content; color: #E7EBF0; text-decoration: none; }
.footer-email-group a:hover { color: #D8B875; text-decoration: underline; }
.footer-bottom { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.13); color: #AEB7C3; font-size: .78rem; }
.footer-bottom p { margin: 0; }
.footer-positioning { margin-left: auto !important; text-align: right; }
.error-panel { padding: 90px 0; text-align: center; }
.error-panel h1 { margin: 10px 0; font-size: clamp(2.4rem, 4vw, 3.2rem); }
.error-panel p { max-width: 560px; margin: 0 auto 26px; color: var(--muted); }
@media (max-width: 1000px) {
  .nav-wrap { gap: 18px; }
  .footer-main { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: .85rem; }
  .header-cta { padding-inline: 15px; font-size: .86rem; }
  .hero { height: 570px; }
  .values-grid, .method-grid { grid-template-columns: repeat(2, 1fr); }
  .intro-grid { gap: 42px; }
}
@media (max-width: 790px) {
  :root { --brand-ribbon-height: 28px; --brand-orbit-footer-y: -132px; }
  .container { width: min(var(--container), calc(100% - 36px)); }
  body.menu-open { overflow: hidden; }
  .site-header::before { height: var(--brand-ribbon-height); background-position: center; }
  .header-inner { min-height: 72px; }
  .nav-toggle { display: block; margin-left: auto; }
  .nav-wrap { position: fixed; z-index: 45; top: 100px; right: 0; bottom: 0; left: 0; display: none; padding: 28px max(24px, calc((100vw - var(--container)) / 2)) 40px; overflow-y: auto; background: var(--white); border-top: 1px solid var(--line); }
  .nav-wrap.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .nav-links { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links a { padding: 18px 4px; border-bottom: 1px solid var(--line); font-size: 1.08rem; }
  .header-cta { width: 100%; margin-top: auto; }
  .hero { min-height: 550px; height: 76vh; max-height: 720px; }
  .hero-copy { width: calc(100% - 92px); }
  .hero h1 { font-size: clamp(2.5rem, 8vw, 3.6rem); }
  .hero-control { width: 38px; height: 52px; }
  .hero-status { bottom: 14px; max-width: calc(100% - 86px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .section { padding: 66px 0; }
  .intro-grid, .form-layout, .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 35px; }
  .footer-about { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
  :root { --brand-ribbon-height: 24px; --brand-orbit-footer-y: -136px; }
  body { font-size: 15px; }
  .container { width: calc(100% - 32px); }
  .site-header::before { height: var(--brand-ribbon-height); }
  .header-inner { min-height: 70px; }
  .nav-wrap { top: 94px; }
  .brand-logo { width: 46px; height: 46px; }
  .brand-copy { width: 142px; }
  .brand-name { font-size: 1.25rem; }
  .brand-tag { font-size: .68rem; letter-spacing: .065em; }
  .hero { min-height: 540px; height: 80vh; }
  .hero-copy { width: calc(100% - 72px); }
  .hero-slide img { object-position: center center; }
  .hero-slide::after { background: linear-gradient(90deg, rgba(76,76,76,.8), rgba(76,76,76,.45)), linear-gradient(0deg, rgba(76,76,76,.36), transparent 72%); }
  .hero h1 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .hero p { font-size: 1rem; }
  .hero-actions { flex-direction: column; align-items: stretch; max-width: 285px; }
  .hero-control { width: 30px; height: 48px; }
  .hero-control span { font-size: 1.7rem; }
  .page-hero { padding: 61px 0 66px; }
  .page-hero p { font-size: 1rem; }
  .section { padding: 56px 0; }
  .section-heading { margin-bottom: 28px; }
  .card-grid, .card-grid.two-col, .values-grid, .method-grid { grid-template-columns: 1fr; }
  .card { padding: 24px; }
  .portfolio-heading { display: block; }
  .portfolio-heading p { margin-top: 10px; }
  .note-band, .cta-inner { grid-template-columns: 1fr; display: grid; }
  .note-band { padding: 25px 24px; }
  .cta-inner { gap: 21px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .form-card { padding: 23px 19px; }
  .footer-main { grid-template-columns: 1fr; gap: 27px; padding-top: 42px; }
  .footer-about { grid-column: auto; }
  .footer-bottom { padding: 14px 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Inline CSS triangles and compact About/Sectors dropdowns. */
.services-trigger { display: inline-flex; align-items: center; gap: 7px; line-height: 1.4; }
.services-chevron, .dropdown-chevron {
  display: inline-block;
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  font-size: 0;
  line-height: 0;
  vertical-align: middle;
  transform: rotate(0deg);
  transition: transform .18s ease;
}
.nav-services:hover .services-chevron,
.nav-services:focus-within .services-chevron,
.nav-services.is-expanded .services-chevron,
.nav-dropdown:hover .dropdown-chevron,
.nav-dropdown:focus-within .dropdown-chevron,
.nav-dropdown.is-expanded .dropdown-chevron { transform: rotate(180deg); }
.nav-dropdown { position: relative; display: flex; align-items: center; }
.dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--charcoal);
  background: transparent;
  font: inherit;
  font-size: .91rem;
  font-weight: 650;
  line-height: 1.4;
  cursor: pointer;
  white-space: nowrap;
}
.dropdown-trigger:hover, .dropdown-trigger:focus-visible,
.nav-dropdown:hover > .dropdown-trigger, .nav-dropdown:focus-within > .dropdown-trigger,
.nav-dropdown.is-expanded > .dropdown-trigger { color: var(--blue); border-color: var(--gold); }
.dropdown-panel {
  position: absolute;
  z-index: 61;
  top: 100%;
  display: none;
  padding: 12px;
  border: 1px solid rgba(76,76,76,.12);
  border-top: 3px solid var(--gold);
  border-radius: 0 0 9px 9px;
  background: var(--white);
  box-shadow: 0 16px 32px rgba(30,48,67,.16);
}
.nav-dropdown:hover > .dropdown-panel, .nav-dropdown:focus-within > .dropdown-panel,
.nav-dropdown.is-expanded > .dropdown-panel { display: block; }
.about-panel { left: 0; width: 278px; }
.sectors-panel { right: 0; width: min(465px, calc(100vw - 32px)); padding: 18px; }
.nav-links .dropdown-panel a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 0; border-radius: 5px; color: var(--charcoal); font-size: .86rem; line-height: 1.4; text-decoration: none; }
.nav-links .dropdown-panel a:hover, .nav-links .dropdown-panel a:focus-visible { color: var(--blue); background: var(--pale); }
.nav-links .dropdown-panel .dropdown-primary { color: var(--blue); font-weight: 750; }
.sectors-panel-intro { padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.sectors-panel-intro p { margin: 0 0 8px; color: var(--muted); font-size: .81rem; line-height: 1.5; }
.sectors-panel-intro .sectors-intro-heading { color: var(--ink); font-size: .9rem; font-weight: 750; }
.nav-links .sectors-panel .sectors-audiences { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.sectors-panel-list h2 { margin: 14px 9px 6px; color: var(--ink); font-size: .95rem; }
.nav-links .sectors-panel .sectors-link-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.sectors-panel-list > .dropdown-primary { margin-top: 5px; }
.team-boundary { margin: 24px 0 0; color: var(--muted); font-size: .9rem; }
.compliance-level-note { max-width: 780px; margin: 24px auto 0; padding: 18px 22px; border-left: 3px solid var(--gold); background: var(--white); }
@media (max-width: 1000px) and (min-width: 791px) {
  .dropdown-trigger { font-size: .85rem; }
  .sectors-panel { right: 0; width: min(430px, calc(100vw - 24px)); }
}
@media (max-width: 790px) {
  .nav-dropdown { display: block; width: 100%; }
  .dropdown-trigger { width: 100%; justify-content: space-between; padding: 15px 4px; border-bottom: 1px solid var(--line); font-size: 1.04rem; text-align: left; }
  .dropdown-trigger:hover, .dropdown-trigger:focus-visible, .nav-dropdown:hover > .dropdown-trigger, .nav-dropdown:focus-within > .dropdown-trigger, .nav-dropdown.is-expanded > .dropdown-trigger { border-bottom-color: var(--line); }
  .dropdown-panel, .about-panel, .sectors-panel { position: static; width: 100%; max-width: none; padding: 10px 7px 14px; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
  .nav-dropdown:not(.is-expanded):hover > .dropdown-panel,
  .nav-dropdown:not(.is-expanded):focus-within > .dropdown-panel { display: none; }
  .nav-dropdown.is-expanded > .dropdown-panel { display: block; }
  .nav-links .dropdown-panel a { padding: 10px 11px; font-size: .94rem; }
  .sectors-panel-intro { padding: 12px; border: 0; border-radius: 6px; background: var(--pale); }
  .sectors-panel-list h2 { margin-top: 13px; }
  .nav-links .sectors-panel .sectors-link-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
  .nav-links .sectors-panel .sectors-link-grid, .nav-links .sectors-panel .sectors-audiences { grid-template-columns: 1fr; }
}


.email-icon { display: inline-flex; vertical-align: middle; margin-right: 7px; }
.email-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Accessible services mega-menu and non-sticky navigation. */
.site-header { position: relative; top: auto; z-index: 50; }
.header-inner { position: static; }
.nav-services { position: static; }
.services-trigger { display: inline-flex; align-items: center; gap: 6px; padding: 9px 0; border: 0; border-bottom: 2px solid transparent; color: var(--charcoal); background: transparent; font: inherit; font-size: .91rem; font-weight: 650; cursor: pointer; }
.services-trigger:hover, .services-trigger:focus-visible, .nav-services:hover > .services-trigger, .nav-services:focus-within > .services-trigger { color: var(--blue); border-color: var(--gold); }
.services-chevron { font-size: 1rem; line-height: 1; transition: transform .18s ease; }
.nav-services:hover .services-chevron, .nav-services:focus-within .services-chevron, .nav-services.is-expanded .services-chevron { transform: rotate(180deg); }
.mega-menu { position: absolute; z-index: 60; top: 100%; left: 50%; display: none; grid-template-columns: minmax(175px, .78fr) 2.8fr; gap: 26px; width: min(1040px, calc(100vw - 40px)); max-height: min(74vh, 650px); padding: 25px; overflow-y: auto; transform: translateX(-50%); border: 1px solid rgba(76,76,76,.12); border-top: 3px solid var(--gold); border-radius: 0 0 10px 10px; background: var(--white); box-shadow: 0 18px 36px rgba(30,48,67,.18); }
.nav-services:hover > .mega-menu, .nav-services:focus-within > .mega-menu, .nav-services.is-expanded > .mega-menu { display: grid; }
.mega-intro { align-self: stretch; padding: 12px 20px 12px 8px; border-right: 1px solid var(--line); }
.mega-intro p { margin: 0 0 10px; color: var(--muted); font-size: .89rem; line-height: 1.55; }
.mega-intro .mega-kicker { color: var(--blue); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.mega-all { display: inline-flex; align-items: center; gap: 8px; margin-top: 9px; color: var(--charcoal); font-weight: 750; text-decoration: none; transition: color .2s ease; }
.mega-all:hover, .mega-all:focus-visible { color: var(--blue); text-decoration: underline; }
.mega-groups { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px 22px; }
.mega-column { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.mega-group-link { margin-bottom: 3px; color: var(--charcoal); font-size: .86rem; font-weight: 750; line-height: 1.35; text-decoration: none; }
.mega-child-link { color: #5c6670; font-size: .78rem; line-height: 1.35; text-decoration: none; }
.nav-links .mega-menu a { padding: 0; border: 0; transition: none; }
.nav-links .mega-menu a.mega-group-link { font-size: .86rem; }
.nav-links .mega-menu a.mega-child-link { font-size: .78rem; }
.mega-group-link:hover, .mega-child-link:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.services-intro { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.services-intro h2 { margin: 10px 0; font-size: clamp(1.8rem,3vw,2.45rem); line-height: 1.2; }
.services-intro p { margin: 0; color: var(--muted); }
.service-portfolio + .service-portfolio { margin-top: 55px; }
.service-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-detail-grid .card { padding: 22px; }
.service-detail-grid h3 { scroll-margin-top: 22px; }
.service-portfolio h2[id] { scroll-margin-top: 20px; }
.services-note { margin-top: 58px; }
@media (max-width: 1000px) and (min-width: 791px) {
  .services-trigger { font-size: .85rem; }
  .mega-menu { grid-template-columns: 155px 1fr; gap: 16px; padding: 20px; }
  .mega-groups { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
}
@media (max-width: 790px) {
  .nav-wrap { position: fixed; z-index: 49; top: var(--mobile-nav-top, 110px); right: 0; bottom: 0; left: 0; display: none; padding: 24px max(18px, calc((100vw - var(--container)) / 2)) 28px; overflow-y: auto; overscroll-behavior: contain; background: var(--white); border-top: 1px solid var(--line); }
  .nav-wrap.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 20px; }
  .nav-links { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links > a, .services-trigger { width: 100%; justify-content: space-between; padding: 15px 4px; border-bottom: 1px solid var(--line); font-size: 1.04rem; text-align: left; }
  .services-trigger:hover, .services-trigger:focus-visible, .nav-services:hover > .services-trigger, .nav-services:focus-within > .services-trigger { border-bottom-color: var(--line); }
  .nav-services { width: 100%; }
  .mega-menu { position: static; width: 100%; max-height: none; padding: 0; overflow: visible; transform: none; grid-template-columns: 1fr; gap: 12px; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
  .nav-services:not(.is-expanded):hover > .mega-menu, .nav-services:not(.is-expanded):focus-within > .mega-menu { display: none; }
  .nav-services.is-expanded > .mega-menu { display: grid; }
  .mega-intro { padding: 15px 12px; border: 0; border-radius: 6px; background: var(--pale); }
  .mega-intro p { font-size: .86rem; }
  .mega-all { margin-top: 5px; }
  .mega-groups { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 14px; padding: 4px 7px 10px; }
  .mega-group-link { font-size: .82rem; }
  .mega-child-link { font-size: .76rem; }
  .header-cta { width: 100%; margin-top: auto; }
}
@media (max-width: 540px) {
  .mega-groups { grid-template-columns: 1fr; gap: 16px; }
  .service-detail-grid { grid-template-columns: 1fr; }
  .services-note { display: grid; }
}


/* Refined full-width Services menu: viewport-wide panel, page-aligned contents. */
@media (min-width: 791px) {
  .mega-menu {
    left: 0;
    right: 0;
    width: auto;
    max-width: none;
    max-height: min(74vh, 650px);
    padding: 24px max(24px, calc((100vw - var(--container)) / 2));
    transform: none;
    grid-template-columns: minmax(170px, .72fr) minmax(0, 2.8fr);
    align-items: start;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 0 0 10px 10px;
  }
  .mega-groups {
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 28px;
    align-content: start;
  }
  .mega-column { min-width: 0; gap: 7px; }
  .mega-group-link,
  .nav-links .mega-menu a.mega-group-link {
    margin-bottom: 4px;
    color: #0B69B9;
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.4;
  }
  .mega-child-link,
  .nav-links .mega-menu a.mega-child-link {
    font-size: .79rem;
    line-height: 1.4;
  }
  .services-trigger:hover,
  .services-trigger:focus-visible,
  .nav-services:hover > .services-trigger,
  .nav-services:focus-within > .services-trigger,
  .nav-services.is-expanded > .services-trigger {
    color: var(--blue);
    border-color: var(--gold);
  }
}
@media (max-width: 1000px) and (min-width: 791px) {
  .mega-menu {
    grid-template-columns: minmax(150px, .65fr) minmax(0, 2.8fr);
    gap: 18px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .mega-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 18px; }
}
@media (max-width: 790px) {
  .mega-menu {
    left: auto;
    right: auto;
    width: 100%;
    max-height: none;
    padding: 0;
    transform: none;
    overflow: visible;
  }
  .mega-group-link,
  .nav-links .mega-menu a.mega-group-link {
    color: #0B69B9;
    font-weight: 800;
  }
  .mega-child-link,
  .nav-links .mega-menu a.mega-child-link { color: #5c6670; }
}

/* Full-width About Us and Sectors panels, aligned with the Services mega-menu. */
@media (min-width: 791px) {
  .nav-dropdown { position: static; }
  .dropdown-panel,
  .about-panel,
  .sectors-panel {
    left: 0;
    right: 0;
    width: auto;
    max-width: none;
    max-height: min(70vh, 560px);
    padding: 25px max(24px, calc((100vw - var(--container)) / 2));
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 0 0 10px 10px;
  }
  .nav-dropdown:hover > .about-panel,
  .nav-dropdown:focus-within > .about-panel,
  .nav-dropdown.is-expanded > .about-panel {
    display: grid;
    grid-template-columns: minmax(210px, .85fr) repeat(2, minmax(220px, 1fr));
    gap: 24px;
    align-items: stretch;
  }
  .nav-links .about-panel .dropdown-link {
    min-height: 84px;
    padding: 18px 20px;
    align-items: center;
    border: 1px solid var(--line);
    background: var(--white);
    font-size: .92rem;
    font-weight: 700;
  }
  .nav-links .about-panel .dropdown-primary {
    color: var(--white);
    border-color: var(--blue);
    background: var(--blue);
  }
  .nav-links .about-panel .dropdown-primary:hover,
  .nav-links .about-panel .dropdown-primary:focus-visible {
    color: var(--white);
    background: #075b9f;
  }
  .nav-dropdown:hover > .sectors-panel,
  .nav-dropdown:focus-within > .sectors-panel,
  .nav-dropdown.is-expanded > .sectors-panel {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(420px, 1.5fr);
    gap: 44px;
    align-items: start;
  }
  .sectors-panel-intro {
    padding: 4px 40px 4px 0;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }
  .sectors-panel-list { min-width: 0; }
  .sectors-panel-list h2 { margin: 2px 10px 10px; color: var(--blue); }
  .nav-links .sectors-panel .sectors-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 14px;
  }
  .nav-links .sectors-panel .dropdown-primary { margin-top: 12px; }
  .nav-dropdown:hover > .dropdown-trigger,
  .nav-dropdown:focus-within > .dropdown-trigger,
  .nav-dropdown.is-expanded > .dropdown-trigger {
    color: var(--blue);
    border-color: var(--gold);
  }
}
@media (max-width: 1000px) and (min-width: 791px) {
  .nav-dropdown:hover > .about-panel,
  .nav-dropdown:focus-within > .about-panel,
  .nav-dropdown.is-expanded > .about-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .nav-dropdown:hover > .sectors-panel,
  .nav-dropdown:focus-within > .sectors-panel,
  .nav-dropdown.is-expanded > .sectors-panel {
    grid-template-columns: minmax(240px, .85fr) minmax(360px, 1.35fr);
    gap: 26px;
  }
}

/* Sectors dropdown follows the Services mega-menu intro/content hierarchy. */
@media (min-width: 791px) {
  .nav-dropdown:hover > .sectors-panel,
  .nav-dropdown:focus-within > .sectors-panel,
  .nav-dropdown.is-expanded > .sectors-panel {
    grid-template-columns: minmax(170px, .72fr) minmax(0, 2.8fr);
    gap: 26px;
    align-items: start;
  }
  .sectors-panel-intro { padding: 4px 24px 4px 0; }
  .nav-links .sectors-panel .sectors-audiences { grid-template-columns: 1fr; gap: 2px; }
  .sectors-panel-intro .dropdown-primary { display: inline-flex; margin-top: 9px; color: var(--blue); font-weight: 750; }
  .nav-links .sectors-panel-intro .dropdown-primary { justify-content: flex-start; padding: 0; }
}
@media (max-width: 790px) {
  .nav-links .sectors-panel .sectors-audiences { grid-template-columns: 1fr; gap: 2px; }
  .sectors-panel-intro .dropdown-primary { display: inline-flex; margin-top: 5px; }
  .sectors-panel-list { padding-top: 1px; }
}

/* Sector menu intro kicker and balanced desktop columns. */
.sectors-panel-intro .sectors-kicker {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.3;
  text-transform: uppercase;
}
@media (min-width: 1001px) {
  .nav-dropdown:hover > .sectors-panel,
  .nav-dropdown:focus-within > .sectors-panel,
  .nav-dropdown.is-expanded > .sectors-panel {
    grid-template-columns: minmax(360px, 1fr) minmax(0, 1.65fr);
    gap: 32px;
  }
}
@media (max-width: 1000px) and (min-width: 791px) {
  .nav-dropdown:hover > .sectors-panel,
  .nav-dropdown:focus-within > .sectors-panel,
  .nav-dropdown.is-expanded > .sectors-panel {
    grid-template-columns: minmax(300px, .95fr) minmax(0, 1.4fr);
    gap: 22px;
  }
}
@media (max-width: 790px) {
  .sectors-panel-intro .sectors-kicker { margin-bottom: 10px; }
  .sectors-panel-list { padding-top: 8px; }
}

/* Prominent sector destinations; audience links retain their neutral hierarchy. */
.nav-links .sectors-panel .sectors-link-grid > .dropdown-link { color: var(--blue); font-weight: 700; }
.nav-links .sectors-panel .sectors-link-grid > .dropdown-link:hover,
.nav-links .sectors-panel .sectors-link-grid > .dropdown-link:focus-visible { color: var(--charcoal); text-decoration: underline; }

/* Neutral Sectors CTA and full-width Insights mega-menu. */
.nav-links .sectors-panel-intro .dropdown-primary,
.sectors-panel-intro .dropdown-primary {
  color: var(--charcoal);
}
.nav-links .sectors-panel-intro .dropdown-primary:hover,
.nav-links .sectors-panel-intro .dropdown-primary:focus-visible {
  color: var(--blue);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.insights-panel-intro p { margin: 0 0 12px; color: var(--muted); font-size: .89rem; line-height: 1.55; }
.insights-panel-intro .insights-kicker {
  color: var(--blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.nav-links .insights-panel .insights-all {
  display: inline-flex;
  justify-content: flex-start;
  padding: 0;
  color: var(--charcoal);
  font-weight: 750;
}
.nav-links .insights-panel .insights-all:hover,
.nav-links .insights-panel .insights-all:focus-visible {
  color: var(--blue);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.insights-panel-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.insights-group { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.insights-group .insights-group-title { margin: 0 0 7px; color: var(--blue); font-size: .86rem; font-weight: 800; }
.nav-links .insights-panel .insights-group a {
  width: 100%;
  justify-content: flex-start;
  padding: 8px 0;
  color: var(--charcoal);
  font-size: .86rem;
  font-weight: 650;
}
.nav-links .insights-panel .insights-group a:hover,
.nav-links .insights-panel .insights-group a:focus-visible {
  color: var(--blue);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dropdown-trigger[aria-current="page"] { color: var(--blue); border-color: var(--gold); }

@media (min-width: 791px) {
  .nav-dropdown:hover > .insights-panel,
  .nav-dropdown:focus-within > .insights-panel,
  .nav-dropdown.is-expanded > .insights-panel {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(0, 1.65fr);
    gap: 32px;
    align-items: start;
  }
  .insights-panel-intro { padding: 4px 32px 4px 0; border-right: 1px solid var(--line); }
  .insights-panel-groups { gap: 36px; }
}
@media (max-width: 1000px) and (min-width: 791px) {
  .nav-dropdown:hover > .insights-panel,
  .nav-dropdown:focus-within > .insights-panel,
  .nav-dropdown.is-expanded > .insights-panel {
    grid-template-columns: minmax(270px, .95fr) minmax(0, 1.4fr);
    gap: 24px;
  }
}
@media (max-width: 790px) {
  .insights-panel-intro { padding: 15px 12px; border-radius: 6px; background: var(--pale); }
  .insights-panel-groups { grid-template-columns: 1fr; gap: 15px; padding: 10px 11px 4px; }
  .nav-links .insights-panel .insights-group a { padding: 9px 0; font-size: .94rem; }
}

/* Careers & Student Hub mega-menu and responsive content. */
.nav-dropdown:hover > .career-panel,
.nav-dropdown:focus-within > .career-panel,
.nav-dropdown.is-expanded > .career-panel { display: grid; }
.career-panel-intro { min-width: 0; padding: 4px 32px 4px 0; border-right: 1px solid var(--line); }
.career-menu-kicker { margin: 0 0 11px; color: var(--blue); font-size: .72rem; font-weight: 800; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.career-panel-intro > p:not(.career-menu-kicker) { margin: 0 0 12px; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.nav-links .career-panel .career-explore { display: inline-flex; justify-content: flex-start; gap: 7px; padding: 0; color: var(--charcoal); font-weight: 750; }
.nav-links .career-panel .career-explore:hover,
.nav-links .career-panel .career-explore:focus-visible { color: var(--blue); background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.career-menu-groups { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 32px; align-content: start; }
.career-menu-group { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 6px; }
.nav-links .career-panel .career-menu-group a { width: 100%; justify-content: flex-start; padding: 4px 0; color: var(--charcoal); font-size: .84rem; font-weight: 600; line-height: 1.4; }
.nav-links .career-panel .career-menu-group a.career-group-link { margin-bottom: 3px; color: var(--blue); font-size: .89rem; font-weight: 800; }
.nav-links .career-panel .career-menu-group a:hover,
.nav-links .career-panel .career-menu-group a:focus-visible { color: var(--blue); background: transparent; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 791px) {
  .nav-dropdown:hover > .career-panel,
  .nav-dropdown:focus-within > .career-panel,
  .nav-dropdown.is-expanded > .career-panel {
    grid-template-columns: minmax(260px, .9fr) minmax(0, 1.7fr);
    gap: 32px;
    align-items: start;
  }
  .nav-dropdown:hover > .dropdown-trigger,
  .nav-dropdown:focus-within > .dropdown-trigger,
  .nav-dropdown.is-expanded > .dropdown-trigger { color: var(--blue); border-color: var(--gold); }
}
@media (max-width: 1000px) and (min-width: 791px) {
  .nav-dropdown:hover > .career-panel,
  .nav-dropdown:focus-within > .career-panel,
  .nav-dropdown.is-expanded > .career-panel { grid-template-columns: minmax(220px, .85fr) minmax(0, 1.6fr); gap: 22px; }
  .career-menu-groups { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 22px; }
}
@media (max-width: 790px) {
  .career-panel { max-height: none; overflow: visible; }
  .career-panel-intro { padding: 14px 12px; border: 0; border-radius: 6px; background: var(--pale); }
  .career-menu-groups { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px 14px; padding: 12px 10px 8px; }
  .nav-links .career-panel .career-menu-group a { padding: 6px 0; font-size: .85rem; }
  .nav-links .career-panel .career-menu-group a.career-group-link { font-size: .9rem; }
}
@media (max-width: 420px) {
  .career-menu-groups { grid-template-columns: 1fr; }
}

/* Careers hub hero, finder, service pathways and representative statements. */
.career-hero { padding: 64px 0; background: linear-gradient(110deg, var(--white) 0%, var(--pale) 100%); }
.career-hero-inner { display: grid; grid-template-columns: 1fr .9fr; gap: 54px; align-items: center; }
.career-hero-copy h1 { max-width: 680px; margin: 15px 0 16px; color: var(--ink); font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.08; letter-spacing: -.045em; }
.career-hero-copy > p:not(.career-demo-note) { max-width: 620px; margin: 0 0 24px; color: var(--muted); font-size: 1.08rem; }
.career-demo-note { margin: 18px 0 0; color: var(--muted); font-size: .83rem; }
.career-hero-visual { position: relative; overflow: hidden; min-height: 360px; border-radius: 14px; box-shadow: var(--shadow); }
.career-hero-visual::after { position: absolute; inset: 45% 0 0; content: ""; background: linear-gradient(0deg, rgba(76,76,76,.76), transparent); }
.career-hero-visual img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.career-visual-caption { position: absolute; z-index: 1; right: 18px; bottom: 18px; left: 18px; display: flex; justify-content: space-between; gap: 14px; color: var(--white); font-size: .84rem; font-weight: 700; }
.finder-panel { padding: 36px; border: 1px solid rgba(76,76,76,.08); border-radius: 12px; background: var(--white); box-shadow: var(--shadow); }
.finder-heading { max-width: 700px; margin-bottom: 25px; }
.finder-heading h2 { margin: 10px 0; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.2; }
.finder-heading p { margin: 0; color: var(--muted); }
.finder-options { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.finder-option { position: relative; display: flex; min-height: 158px; flex-direction: column; gap: 10px; padding: 20px 42px 19px 18px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--white); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.finder-option:hover, .finder-option:focus-visible { transform: translateY(-3px); border-color: var(--blue); box-shadow: 0 8px 22px rgba(76,76,76,.1); }
.finder-option-label { color: var(--ink); font-weight: 800; }
.finder-arrow { position: absolute; right: 16px; bottom: 17px; color: var(--blue); font-size: 1.3rem; }
.hub-service-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.hub-service-card { display: flex; flex-direction: column; align-items: flex-start; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.hub-service-card:hover, .hub-service-card:focus-within { transform: translateY(-5px); border-color: rgba(11,105,185,.35); box-shadow: var(--shadow); }
.hub-card-tag, .opportunity-tag { display: inline-flex; align-items: center; margin-bottom: 13px; padding: 5px 9px; border-radius: 99px; color: var(--blue); background: var(--pale); font-size: .71rem; font-weight: 800; letter-spacing: .04em; }
.hub-service-card h3 { margin: 0 0 10px; }
.hub-service-card > p { margin: 0 0 16px; }
.hub-card-outcome { display: grid; gap: 4px; max-height: 0; overflow: hidden; padding: 0 13px; border-left: 3px solid var(--gold); background: var(--pale); font-size: .84rem; opacity: 0; transform: translateY(6px); transition: max-height .22s ease, opacity .18s ease, transform .18s ease, padding .22s ease; }
.hub-service-card:hover .hub-card-outcome, .hub-service-card:focus-within .hub-card-outcome { max-height: 140px; margin: auto 0 12px; padding: 13px; opacity: 1; transform: translateY(0); }
.hub-card-outcome strong { color: var(--ink); }
.hub-service-card .text-link { margin-top: 2px; }
.testimonial-section { display: grid; grid-template-columns: .85fr 1fr; gap: 64px; align-items: center; }
.testimonial-intro h2 { margin: 12px 0; font-size: clamp(1.85rem,3vw,2.55rem); line-height: 1.17; }
.testimonial-intro > p { color: var(--muted); }
.testimonial-intro .representative-note { margin-top: 20px; font-size: .83rem; }
.testimonial-card { padding: 32px; border-radius: 12px; color: var(--white); background: var(--blue); box-shadow: var(--shadow); }
.testimonial-slide blockquote { min-height: 130px; margin: 0 0 22px; font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: 650; line-height: 1.4; }
.testimonial-slide figcaption { color: rgba(255,255,255,.82); font-size: .84rem; }
.testimonial-controls { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 24px; }
.testimonial-controls p { margin: 0; color: rgba(255,255,255,.9); font-size: .85rem; }
.testimonial-controls button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; color: var(--white); background: transparent; cursor: pointer; }
.testimonial-controls button:hover { color: var(--charcoal); background: var(--gold); border-color: var(--gold); }
.career-network { padding: 48px 0; color: var(--white); background: var(--blue); }
.network-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.network-inner > div { max-width: 780px; }
.network-inner .eyebrow { color: var(--white); }
.network-inner h2 { margin: 10px 0; font-size: clamp(1.7rem,3vw,2.3rem); line-height: 1.2; }
.network-inner p { margin: 0; color: rgba(255,255,255,.88); }

/* Career subpage content and form interfaces. */
.career-page-hero { padding: 74px 0 78px; }
.career-page-hero h1 { max-width: 800px; }
.career-page-hero .page-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.career-page-hero .button-outline { color: var(--white); border-color: rgba(255,255,255,.8); }
.career-page-hero .button-outline:hover { color: var(--blue); background: var(--white); }
.destination-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 auto 18px; padding: 6px; border-radius: 8px; background: var(--pale); }
.destination-tabs [role="tab"] { flex: 1 1 auto; min-height: 46px; padding: 10px 15px; border: 1px solid transparent; border-radius: 5px; color: var(--charcoal); background: transparent; font-weight: 700; cursor: pointer; }
.destination-tabs [role="tab"][aria-selected="true"] { color: var(--white); border-color: var(--blue); background: var(--blue); }
.destination-panel, .travel-panel, .partner-tab-panel { padding: 26px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); box-shadow: 0 5px 19px rgba(76,76,76,.045); }
.destination-panel h3, .travel-panel h3 { margin-top: 0; }
.destination-panel ul, .partner-tab-panel ul { padding-left: 21px; color: var(--muted); }
.destination-panel li + li, .partner-tab-panel li + li { margin-top: 7px; }
.official-disclaimer, .directory-disclaimer { margin: 22px 0 0; padding: 17px 19px; border-left: 3px solid var(--gold); color: var(--charcoal); background: var(--white); }
.directory-disclaimer { margin: 0 0 22px; }
.directory-filters { display: grid; grid-template-columns: 1.6fr 1fr 1fr auto; gap: 14px; align-items: end; margin-bottom: 12px; padding: 21px; border-radius: 8px; background: var(--white); }
.directory-filters .form-field { margin-bottom: 0; }
.directory-filters .button { min-height: 45px; padding-inline: 15px; }
.directory-count { min-height: 1.5em; color: var(--muted); font-size: .88rem; }
.directory-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.opportunity-card .opportunity-tag { margin-bottom: 11px; }
.opportunity-card h3 { margin-top: 0; }
.opportunity-card p + p { margin-top: 10px; }
.directory-empty { padding: 20px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }
.workshop-toolbar { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.workshop-toolbar label { font-weight: 700; }
.workshop-toolbar select { min-width: 220px; padding: 10px; border: 1px solid rgba(76,76,76,.4); border-radius: 5px; background: var(--white); }
.workshop-meta { margin-top: 13px !important; color: var(--blue) !important; font-size: .83rem !important; font-weight: 700; }
.mentor-card { display: flex; flex-direction: column; align-items: flex-start; }
.mentor-card .button { margin-top: auto; }
.step-indicator { margin: 0 0 16px; color: var(--blue); font-size: .87rem; font-weight: 800; }
.form-step { min-width: 0; margin: 0 0 18px; padding: 0; border: 0; }
.form-step legend { margin: 0 0 15px; color: var(--ink); font-size: 1.15rem; font-weight: 800; }
.form-step legend:focus { outline: none; }
.form-step input[type="file"] { padding: 9px; }
.step-actions { display: flex; gap: 12px; }
.coaching-benefits .card { min-height: 155px; }
.travel-layout { grid-template-columns: .8fr 1.2fr; gap: 32px; }
.travel-panel { margin-top: 0; }
.travel-panel .container { width: 100%; }
.travel-panel .section-heading { margin-bottom: 20px; }
.travel-support-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.partner-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.partner-detail-grid .card { box-shadow: none; }
.partner-detail-grid h4 { margin: 18px 0 7px; }
.partner-benefit { background: var(--pale); }
.partner-forms-grid { align-items: start; }
.partner-forms-grid .form-card { min-width: 0; }
.partner-forms-grid h2 { margin: 10px 0; font-size: 1.45rem; line-height: 1.25; }

@media (max-width: 1000px) {
  .career-hero-inner { gap: 34px; }
  .finder-options, .hub-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .directory-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 790px) {
  .career-hero { padding: 48px 0; }
  .career-hero-inner, .testimonial-section { grid-template-columns: 1fr; gap: 28px; }
  .career-hero-visual { min-height: 270px; }
  .hub-card-outcome { max-height: 140px; margin: auto 0 12px; padding: 13px; opacity: 1; transform: none; }
  .finder-panel { padding: 25px; }
  .testimonial-card { padding: 25px; }
  .testimonial-slide blockquote { min-height: auto; }
  .network-inner { align-items: flex-start; flex-direction: column; }
  .career-page-hero { padding: 60px 0; }
  .travel-layout { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .career-hero-copy h1 { font-size: clamp(2.2rem,10vw,3rem); }
  .career-hero-visual { min-height: 225px; }
  .finder-panel { padding: 21px; }
  .finder-options, .hub-service-grid, .directory-grid, .directory-filters, .travel-support-cards, .partner-detail-grid { grid-template-columns: 1fr; }
  .finder-option { min-height: 125px; }
  .directory-filters { gap: 8px; padding: 17px; }
  .directory-filters .button { width: 100%; }
  .destination-tabs { flex-direction: column; }
  .destination-tabs [role="tab"] { width: 100%; text-align: left; }
  .destination-panel, .travel-panel, .partner-tab-panel { padding: 18px; }
  .workshop-toolbar { align-items: stretch; flex-direction: column; }
  .workshop-toolbar select { width: 100%; }
  .step-actions { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .career-hero *, .hub-service-card, .finder-option, .testimonial-card *, .career-menu-group * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Study-abroad advisory map, cross-destination guidance and funding routes. */
.study-map-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.55fr);
  gap: 34px;
  align-items: center;
  margin-top: 44px;
}
.study-map-copy h3 {
  margin: 12px 0 13px;
  color: var(--ink);
  font-size: clamp(1.65rem, 2.6vw, 2.25rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}
.study-map-copy > p { margin: 0; color: var(--muted); }
.destination-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 21px; }
.destination-chips span {
  display: inline-flex;
  padding: 7px 11px;
  border: 1px solid rgba(11,105,185,.22);
  border-radius: 99px;
  color: var(--blue);
  background: var(--white);
  font-size: .78rem;
  font-weight: 750;
}
.world-route-map { margin: 0; min-width: 0; }
.world-route-map svg { display: block; width: 100%; height: auto; border-radius: 14px; box-shadow: var(--shadow); }
.world-route-map figcaption { margin: 9px 3px 0; color: var(--muted); font-size: .76rem; }
.world-route-map .map-grid path { fill: none; stroke: rgba(255,255,255,.09); stroke-width: 1; }
.world-route-map .map-land path { fill: rgba(255,255,255,.17); stroke: rgba(255,255,255,.22); stroke-width: 1.5; }
.world-route-map .flight-routes path {
  fill: none;
  stroke: var(--gold);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-dasharray: 7 9;
  opacity: .9;
  animation: route-flow 14s linear infinite;
}
.world-route-map .route-points circle { fill: var(--gold); filter: url(#map-glow); }
.world-route-map .route-points .origin-halo { fill: rgba(249,184,5,.28); }
.world-route-map .route-points .origin-dot { fill: var(--white); }
.world-route-map .route-points text { fill: var(--white); font-size: 15px; font-weight: 700; paint-order: stroke; stroke: rgba(7,91,159,.8); stroke-width: 3px; stroke-linejoin: round; }
@keyframes route-flow { to { stroke-dashoffset: -160; } }
.study-advisory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 48px; }
.study-challenge, .study-solution { padding: 31px; border-radius: 11px; }
.study-challenge { border: 1px solid var(--line); background: var(--pale); }
.study-solution { color: var(--white); background: var(--blue); box-shadow: var(--shadow); }
.study-challenge h3, .study-solution h3 { margin: 12px 0 14px; font-size: clamp(1.45rem,2.2vw,1.9rem); line-height: 1.25; }
.study-challenge ul, .study-solution ul { margin: 0 0 0; padding-left: 20px; }
.study-challenge li + li, .study-solution li + li { margin-top: 8px; }
.study-challenge li { color: var(--muted); }
.study-solution .eyebrow { color: var(--white); }
.study-solution p, .study-solution li { color: rgba(255,255,255,.9); }
.study-solution .button { margin-top: 22px; color: var(--charcoal); background: var(--gold); }
.funding-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 34px; align-items: center; margin-bottom: 29px; }
.funding-intro h3 { margin: 0 0 10px; font-size: 1.4rem; }
.funding-intro p { margin: 0; color: var(--muted); }
.funding-callout { padding: 22px; border-left: 4px solid var(--gold); background: var(--white); box-shadow: 0 6px 20px rgba(76,76,76,.06); font-weight: 700; }
.funding-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.funding-card { min-height: 230px; padding: 25px; border: 1px solid rgba(76,76,76,.09); border-top: 3px solid var(--gold); border-radius: 9px; background: var(--white); box-shadow: 0 5px 18px rgba(76,76,76,.045); }
.funding-card > span { display: inline-block; margin-bottom: 12px; color: var(--blue); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.funding-card h3 { margin: 0 0 10px; font-size: 1.17rem; line-height: 1.35; }
.funding-card p { margin: 0; color: var(--muted); font-size: .91rem; }
.funding-card-accent { color: var(--white); border-top-color: var(--gold); background: var(--blue); }
.funding-card-accent > span, .funding-card-accent h3 { color: var(--white); }
.funding-card-accent p { color: rgba(255,255,255,.88); }
.funding-card-accent .text-link { color: var(--white); }
.study-contact-cta .eyebrow { color: var(--white); }

@media (max-width: 1000px) {
  .study-map-layout { grid-template-columns: 1fr; }
  .study-map-copy { max-width: 720px; }
  .funding-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 790px) {
  .study-advisory-grid, .funding-intro { grid-template-columns: 1fr; }
  .study-map-layout { margin-top: 34px; }
  .study-advisory-grid { margin-top: 32px; }
  .study-challenge, .study-solution { padding: 25px; }
}
@media (max-width: 540px) {
  .funding-grid { grid-template-columns: 1fr; }
  .funding-card { min-height: 0; }
  .world-route-map svg { min-height: 260px; object-fit: cover; }
  .world-route-map .route-points text { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .world-route-map .flight-routes path { animation: none; }
}

/* Travel and conference advisory page. */
.travel-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 38px;
}
.travel-problem-card {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  border-radius: 10px;
  background: var(--white);
  box-shadow: 0 6px 20px rgba(76,76,76,.055);
}
.travel-card-mark {
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 21px;
  place-items: center;
  border-radius: 50%;
  color: var(--blue);
  background: var(--pale);
}
.travel-card-mark svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.travel-problem-card h3 { margin: 0 0 11px; color: var(--ink); font-size: 1.18rem; line-height: 1.32; }
.travel-problem-card p { margin: 0; color: var(--muted); font-size: .92rem; }
.travel-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 38px; }
.travel-service-card {
  display: flex;
  min-width: 0;
  min-height: 430px;
  flex-direction: column;
  align-items: flex-start;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--white);
  box-shadow: 0 7px 24px rgba(76,76,76,.06);
}
.travel-service-heading { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.travel-service-kicker { display: block; margin-bottom: 10px; color: var(--blue); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.travel-service-heading h3 { margin: 0; color: var(--ink); font-size: clamp(1.45rem,2.2vw,1.95rem); line-height: 1.22; }
.travel-service-card > p { margin: 19px 0 10px; color: var(--muted); }
.travel-service-card ul { margin: 7px 0 25px; padding-left: 21px; color: var(--muted); }
.travel-service-card li + li { margin-top: 7px; }
.travel-service-card .button { margin-top: auto; }
.travel-focus-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  margin-top: 25px;
  padding: 34px 38px;
  border-radius: 11px;
  color: var(--white);
  background: var(--blue);
  box-shadow: var(--shadow);
}
.travel-focus-band > div { max-width: 760px; }
.travel-focus-band .eyebrow { color: var(--white); }
.travel-focus-band h3 { margin: 9px 0 8px; color: var(--white); font-size: clamp(1.45rem,2.5vw,2rem); line-height: 1.25; }
.travel-focus-band p { margin: 0; color: rgba(255,255,255,.88); }
.travel-focus-band .button { flex: 0 0 auto; }
@media (max-width: 1000px) {
  .travel-problem-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .travel-problem-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 790px) {
  .travel-service-grid { grid-template-columns: 1fr; }
  .travel-service-card { min-height: 0; padding: 28px; }
  .travel-focus-band { align-items: flex-start; flex-direction: column; padding: 30px; }
}
@media (max-width: 540px) {
  .travel-problem-grid { grid-template-columns: 1fr; gap: 15px; }
  .travel-problem-card:last-child { grid-column: auto; }
  .travel-problem-card, .travel-service-card { padding: 23px; }
  .travel-focus-band { padding: 25px; }
}

/* Work With Us joining pathways and partnership consultation. */
.join-pathway-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
  margin-top: 39px;
}
.join-pathway-card {
  display: flex;
  min-width: 0;
  min-height: 410px;
  flex-direction: column;
  align-items: flex-start;
  padding: 30px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  border-radius: 10px;
  background: var(--white);
  box-shadow: 0 7px 22px rgba(76,76,76,.055);
}
.join-pathway-label {
  display: inline-flex;
  margin-bottom: 17px;
  color: var(--blue);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.join-pathway-card h3 { margin: 0 0 12px; color: var(--ink); font-size: 1.3rem; line-height: 1.3; }
.join-pathway-card > p { margin: 0 0 16px; color: var(--muted); }
.join-pathway-card ul { margin: 0 0 25px; padding-left: 20px; color: var(--muted); }
.join-pathway-card li + li { margin-top: 7px; }
.join-pathway-card .text-link { margin-top: auto; }
.join-note { margin: 25px 0 0; padding: 17px 20px; border-left: 3px solid var(--gold); color: var(--muted); background: var(--pale); font-size: .88rem; }
.partnership-feature { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 46px; align-items: center; }
.partnership-feature h2 { max-width: 700px; margin: 11px 0 15px; color: var(--ink); font-size: clamp(1.9rem,3vw,2.65rem); line-height: 1.15; }
.partnership-feature > div > p { max-width: 720px; color: var(--muted); }
.partnership-feature > div > ul { margin: 20px 0 0; padding-left: 21px; color: var(--muted); }
.partnership-feature li + li { margin-top: 8px; }
.partnership-consultation { padding: 31px; border-radius: 11px; color: var(--white); background: var(--blue); box-shadow: var(--shadow); }
.partnership-consultation .eyebrow { color: var(--white); }
.partnership-consultation h3 { margin: 10px 0 11px; color: var(--white); font-size: 1.55rem; line-height: 1.25; }
.partnership-consultation p { margin: 0 0 22px; color: rgba(255,255,255,.88); }
@media (max-width: 1000px) {
  .join-pathway-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .join-pathway-card:last-child { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 790px) {
  .partnership-feature { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 540px) {
  .join-pathway-grid { grid-template-columns: 1fr; gap: 15px; }
  .join-pathway-card, .join-pathway-card:last-child { grid-column: auto; min-height: 0; padding: 24px; }
  .partnership-consultation { padding: 25px; }
}


/* Progressive About journey — scoped to the four-stage About pages and landing page. */
.about-flow { --about-navy:#17334a; --about-slate:#52616e; --about-bronze:#93631f; }
.about-flow-top { padding-top:22px; }
.about-breadcrumb { margin-bottom:19px; color:var(--about-slate); font-size:.83rem; }
.about-breadcrumb ol { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.about-breadcrumb li + li::before { content:"/"; margin-right:7px; color:#84909a; }
.about-breadcrumb a { color:var(--blue); text-decoration:none; }
.about-breadcrumb a:hover { text-decoration:underline; }
.about-progress ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.about-progress a { min-height:62px; display:flex; align-items:center; gap:11px; padding:10px 13px; color:var(--about-slate); border:1px solid rgba(23,51,74,.14); border-radius:7px; background:#fff; text-decoration:none; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
.about-progress a:hover { border-color:var(--blue); color:var(--blue); }
.about-progress a[aria-current="step"] { color:var(--about-navy); border-color:var(--about-bronze); background:#fffaf0; box-shadow:inset 0 -3px 0 var(--gold); }
.about-progress-step { flex:0 0 auto; color:var(--blue); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.about-progress-label { font-size:.9rem; font-weight:750; line-height:1.25; }
.about-flow-hero { position:relative; isolation:isolate; overflow:hidden; margin-top:23px; padding:76px 0 82px; color:#fff; background:linear-gradient(120deg,#0b69b9 0%,#17334a 100%); }
.about-flow-hero::after { position:absolute; z-index:-1; top:-190px; right:-95px; width:450px; height:450px; content:""; border:1px solid rgba(255,255,255,.17); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.04),0 0 0 88px rgba(255,255,255,.025); }
.about-flow-hero .container { position:relative; z-index:1; max-width:960px; }
.about-flow-hero .eyebrow { color:#fff; }
.about-flow-hero h1 { max-width:920px; margin:15px 0 19px; font-size:clamp(2.45rem,5vw,4.2rem); line-height:1.08; letter-spacing:-.045em; }
.about-flow-hero p { max-width:810px; margin:0 0 13px; color:rgba(255,255,255,.9); font-size:1.04rem; }
.about-flow-hero .about-hero-lead { color:#fff; font-size:clamp(1.12rem,1.7vw,1.34rem); font-weight:580; line-height:1.55; }
.about-flow-hero .button { margin-top:12px; }
.about-statement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.about-statement { min-height:242px; padding:29px 27px; border:1px solid rgba(23,51,74,.12); border-top:3px solid var(--gold); border-radius:8px; background:#fff; box-shadow:0 10px 30px rgba(23,51,74,.06); }
.about-statement h2 { margin:12px 0 11px; color:var(--about-navy); font-size:1.32rem; line-height:1.28; }
.about-statement p { margin:0; color:var(--about-slate); font-size:.94rem; }
.about-card-kicker { color:var(--about-bronze); font-size:.72rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.about-boundary { margin:25px 0 0; padding:16px 19px; border-left:3px solid var(--gold); border-radius:0 5px 5px 0; color:var(--about-slate); background:#f4f6f8; font-size:.9rem; }
.about-boundary strong { color:var(--about-navy); }
.spectrum-panel { padding:clamp(21px,4vw,38px); border:1px solid rgba(23,51,74,.12); border-radius:12px; background:#fff; box-shadow:var(--shadow); }
.spectrum-label { display:block; margin-bottom:18px; color:var(--about-navy); font-weight:750; }
.spectrum-current { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 18px; margin-bottom:12px; }
.spectrum-current span { color:var(--about-slate); font-size:.86rem; }
.spectrum-current output { color:var(--blue); font-size:1.2rem; font-weight:800; }
.readiness-range { display:block; width:100%; height:26px; margin:8px 0; accent-color:var(--blue); cursor:pointer; }
.spectrum-ticks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; color:var(--about-slate); font-size:.73rem; font-weight:700; line-height:1.3; text-align:center; }
.spectrum-ticks span:first-child { text-align:left; }
.spectrum-ticks span:last-child { text-align:right; }
.spectrum-help { margin:3px 0 22px; color:var(--about-slate); font-size:.82rem; }
.spectrum-states { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.spectrum-state { padding:19px; border:1px solid #dce2e7; border-radius:7px; background:#f8fafb; transition:border-color .2s ease,background-color .2s ease,transform .2s ease; }
.spectrum-state > span { color:var(--about-bronze); font-size:.72rem; font-weight:850; letter-spacing:.1em; }
.spectrum-state h3 { margin:8px 0; color:var(--about-navy); font-size:1rem; line-height:1.35; }
.spectrum-state p { margin:0; color:var(--about-slate); font-size:.87rem; }
.spectrum-state.is-selected { border-color:var(--blue); background:#eef6fc; box-shadow:inset 0 0 0 1px var(--blue); }
.about-gateway { padding:47px 0; color:#fff; background:#17334a; }
.about-gateway-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.about-gateway-inner > div { max-width:690px; }
.about-gateway h2 { margin:8px 0; color:#fff; font-size:clamp(1.55rem,2.6vw,2.15rem); line-height:1.2; }
.about-gateway p { margin:0; color:rgba(255,255,255,.88); }
.about-gateway .about-card-kicker { color:#ffd36b; }
.about-gateway .button { max-width:440px; text-align:center; }
.about-pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-pillar-grid article { padding:25px; border:1px solid rgba(23,51,74,.11); border-radius:8px; background:#fff; }
.about-pillar-grid article > span { color:var(--about-bronze); font-size:.76rem; font-weight:850; letter-spacing:.14em; }
.about-pillar-grid h3 { margin:8px 0; color:var(--about-navy); font-size:1.36rem; }
.about-pillar-grid p { margin:0; color:var(--about-slate); }
.value-flip-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.value-flip { min-width:0; min-height:270px; padding:0; overflow:hidden; color:inherit; border:1px solid rgba(23,51,74,.15); border-radius:9px; background:#fff; text-align:left; cursor:pointer; }
.value-flip-inner { display:flex; height:100%; flex-direction:column; }
.value-flip-face { display:flex; min-height:220px; flex:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:11px; padding:26px; }
.value-flip-front { color:#17334a; background:#fff; }
.value-flip-back { color:#fff; background:#17334a; }
.value-flip-face strong { font-size:1.45rem; line-height:1.2; }
.value-flip-face > span:not(.value-card-index):not(.flip-hint) { color:#52616e; font-size:.9rem; }
.value-flip-back > span:not(.value-card-index) { color:rgba(255,255,255,.9)!important; }
.value-card-index { color:#93631f; font-size:.7rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.value-flip-back .value-card-index { color:#ffd36b; }
.flip-hint { margin-top:8px; color:var(--blue); font-size:.78rem; font-weight:750; }
.js .value-flip { position:relative; perspective:950px; border:0; overflow:visible; background:transparent; }
.js .value-flip-inner { position:relative; display:block; min-height:270px; transform-style:preserve-3d; transition:transform .56s cubic-bezier(.2,.75,.25,1); }
.js .value-flip-face { position:absolute; inset:0; min-height:270px; border:1px solid rgba(23,51,74,.15); border-radius:9px; box-shadow:0 7px 23px rgba(23,51,74,.07); backface-visibility:hidden; }
.js .value-flip-back { transform:rotateY(180deg); }
.js .value-flip:hover .value-flip-inner,.js .value-flip:focus-visible .value-flip-inner,.js .value-flip.is-flipped .value-flip-inner { transform:rotateY(180deg); }
.market-tabs { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 18px; }
.market-tabs button { min-height:43px; padding:9px 15px; color:#17334a; border:1px solid rgba(23,51,74,.22); border-radius:5px; background:#fff; font-weight:720; cursor:pointer; }
.market-tabs button:hover,.market-tabs button[aria-selected="true"] { color:#fff; border-color:var(--blue); background:var(--blue); }
.market-panels { display:grid; gap:14px; }
.market-panel { display:grid; grid-template-columns:.72fr 1.28fr; gap:34px; padding:29px; border:1px solid rgba(23,51,74,.13); border-left:4px solid var(--gold); border-radius:8px; background:#fff; }
.market-panel h3 { margin:10px 0 0; color:#17334a; font-size:1.42rem; line-height:1.25; }
.market-panel h4 { margin:0 0 4px; color:#17334a; font-size:.94rem; }
.market-panel p { margin:0 0 17px; color:#52616e; }
.market-panel p:last-child { margin-bottom:0; }
.comparison-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.comparison-column { padding:clamp(23px,3vw,33px); border-radius:9px; }
.comparison-column h3 { display:flex; align-items:center; gap:10px; margin:0 0 20px; font-size:1.27rem; line-height:1.3; }
.comparison-column h3 span { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border-radius:50%; font-size:1rem; }
.comparison-column ul { display:grid; gap:15px; margin:0; padding-left:21px; }
.comparison-column li { padding-left:4px; }
.comparison-column p { margin:20px 0 0; font-size:.86rem; }
.comparison-risk { color:#362a27; border:1px solid #eadbd6; background:#fbf6f4; }
.comparison-risk h3 span { color:#fff; background:#8b4d3e; }
.comparison-value { color:#19394e; border:1px solid #d8e5ed; background:#eff6fa; }
.comparison-value h3 span { color:#fff; background:var(--blue); }
.diagnostic-disclosure { max-width:890px; margin:0 auto; }
.diagnostic-launch { display:flex; width:100%; min-height:58px; align-items:center; justify-content:center; gap:12px; padding:15px 22px; color:#fff; border:0; border-radius:6px; background:#17334a; box-shadow:0 10px 26px rgba(12,29,51,.15); font-size:1rem; font-weight:760; cursor:pointer; transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.diagnostic-launch:hover { background:var(--blue); transform:translateY(-2px); box-shadow:0 14px 30px rgba(12,29,51,.2); }
.diagnostic-launch span { display:inline-block; font-size:1.2rem; transition:transform .22s ease; }
.diagnostic-launch[aria-expanded="true"] span { transform:rotate(90deg); }
.diagnostic-disclosure-panel { padding-top:18px; }
.diagnostic-card { max-width:890px; margin:0 auto; padding:clamp(22px,4vw,40px); border:1px solid rgba(23,51,74,.12); border-radius:10px; background:#fff; box-shadow:var(--shadow); }
@media (prefers-reduced-motion: reduce) { .diagnostic-launch, .diagnostic-launch span { transition:none; } }
.diagnostic-card fieldset { display:grid; gap:9px; margin:0 0 22px; padding:0 0 21px; border:0; border-bottom:1px solid #e1e6ea; }
.diagnostic-card legend { margin-bottom:12px; color:#17334a; font-size:1.03rem; font-weight:780; }
.diagnostic-card fieldset label { display:flex; align-items:flex-start; gap:10px; padding:11px 13px; color:#52616e; border:1px solid #e0e6eb; border-radius:5px; cursor:pointer; }
.diagnostic-card fieldset label:has(input:checked) { border-color:var(--blue); background:#eff6fc; color:#17334a; }
.diagnostic-card input[type="radio"] { flex:0 0 auto; margin-top:5px; accent-color:var(--blue); }
.diagnostic-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px; }
.diagnostic-actions .button { min-height:46px; }
.diagnostic-actions button:disabled { opacity:.58; cursor:not-allowed; transform:none; box-shadow:none; }
.diagnostic-cta { background:#fff; }
.diagnostic-status { min-height:1.5em; margin:11px 0 0; color:#803b2e; font-size:.9rem; font-weight:650; }
.diagnostic-result { margin-top:22px; padding:21px; border-left:4px solid var(--gold); border-radius:6px; background:#f5f8fa; }
.diagnostic-result h3 { margin:5px 0 12px; color:#17334a; font-size:1.3rem; }
.diagnostic-result p:last-child { margin-bottom:0; color:#52616e; }
.readiness-meter { height:15px; overflow:hidden; border-radius:99px; background:#d9e0e6; }
.readiness-meter span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#93631f,#0b69b9); transition:width .35s ease; }
.diagnostic-note { margin:19px 0 0; color:#52616e; font-size:.86rem; }
.about-landing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.about-landing-grid a { display:flex; min-height:235px; flex-direction:column; align-items:flex-start; padding:23px; color:#17334a; border:1px solid rgba(23,51,74,.12); border-top:3px solid var(--gold); border-radius:7px; background:#fff; box-shadow:0 8px 22px rgba(23,51,74,.05); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.about-landing-grid a:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.about-landing-grid a > span { color:#93631f; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.about-landing-grid h3 { margin:12px 0 7px; font-size:1.12rem; line-height:1.3; }
.about-landing-grid p { margin:0 0 17px; color:#52616e; font-size:.9rem; }
.about-landing-grid strong { margin-top:auto; color:var(--blue); font-size:.84rem; }
@media (min-width:791px) {
 .nav-about { position:static; }
 .about-mega-menu { top:100%; left:0; right:0; width:100%; max-width:none; max-height:min(74vh,520px); padding:23px max(24px,calc((100vw - var(--container))/2)); grid-template-columns:minmax(210px,.65fr) minmax(0,2.8fr); transform:none; }
 .nav-about:hover > .about-mega-menu,.nav-about:focus-within > .about-mega-menu,.nav-about.is-expanded > .about-mega-menu { display:grid; }
 .about-menu-links { grid-template-columns:repeat(3,minmax(0,1fr)); align-content:center; gap:13px; }
 .about-menu-links .mega-column { min-height:90px; justify-content:center; padding:15px 18px; border-left:1px solid var(--line); }
 .about-menu-links .mega-group-link,.nav-links .about-mega-menu a.mega-group-link { font-size:1rem; }
}
@media (max-width:1000px) and (min-width:791px) {
 .about-mega-menu { grid-template-columns:minmax(170px,.65fr) minmax(0,2.8fr); }
 .about-menu-links .mega-column { padding-inline:12px; }
}
@media (max-width:790px) {
 .nav-about { position:relative; width:100%; }
 .about-mega-menu { position:static; left:auto; right:auto; display:none; width:100%; max-width:none; max-height:none; padding:0; overflow:visible; transform:none; grid-template-columns:1fr; gap:8px; border:0; border-radius:0; box-shadow:none; background:transparent; }
 .nav-about:not(.is-expanded):hover > .about-mega-menu,.nav-about:not(.is-expanded):focus-within > .about-mega-menu { display:none; }
 .nav-about.is-expanded > .about-mega-menu { display:grid; }
 .about-mega-menu .mega-intro { padding:13px; border-radius:6px; background:var(--pale); }
 .about-mega-menu .mega-intro p { margin-bottom:4px; font-size:.85rem; }
 .about-menu-links { grid-template-columns:1fr; gap:0; padding:2px 7px 7px; }
 .about-menu-links .mega-column { min-height:0; padding:0; border:0; }
 .nav-links .about-mega-menu a.mega-group-link { padding:10px 11px; color:var(--blue); font-size:.94rem; }
 .about-progress ol { gap:7px; }
 .about-progress a { min-height:59px; gap:6px; padding:8px; flex-direction:column; align-items:flex-start; justify-content:center; }
 .about-progress-label { font-size:.8rem; }
 .about-statement-grid,.about-pillar-grid { grid-template-columns:1fr; }
 .about-statement { min-height:0; }
 .about-flow-hero { padding:60px 0 64px; }
 .about-gateway-inner { align-items:flex-start; flex-direction:column; }
 .about-gateway .button { max-width:100%; }
 .value-flip-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .market-panel { grid-template-columns:1fr; gap:16px; }
 .about-landing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:540px) {
 .about-flow-top { padding-top:15px; }
 .about-breadcrumb { margin-bottom:12px; font-size:.77rem; }
 .about-progress ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
 .about-progress a { min-height:53px; flex-direction:row; align-items:center; gap:7px; }
 .about-progress-step { font-size:.64rem; }
 .about-progress-label { font-size:.78rem; }
 .about-flow-hero { margin-top:16px; padding:49px 0 53px; }
 .about-flow-hero h1 { font-size:clamp(2.15rem,10vw,3.05rem); }
 .about-statement-grid,.spectrum-states,.comparison-grid,.value-flip-grid,.about-landing-grid { grid-template-columns:1fr; }
 .about-statement { padding:23px; }
 .spectrum-panel,.diagnostic-card { padding:21px 17px; }
 .spectrum-state { padding:16px; }
 .value-flip { min-height:0; }
 .market-tabs { display:grid; grid-template-columns:1fr 1fr; }
 .market-tabs button { min-height:46px; padding-inline:8px; font-size:.84rem; }
 .market-tabs button:last-child { grid-column:1/-1; }
 .market-panel { padding:22px 18px; }
 .diagnostic-actions { align-items:stretch; flex-direction:column; }
 .diagnostic-actions .button { width:100%; }
 .about-landing-grid a { min-height:205px; }
}
@media (prefers-reduced-motion:reduce) {
 .js .value-flip-inner,.readiness-meter span,.about-progress a,.about-landing-grid a,.spectrum-state { transition:none!important; }
 .js .value-flip-inner { transform:none!important; }
 .js .value-flip-face { position:relative; display:none; transform:none; }
 .js .value-flip-front { display:flex; }
 .js .value-flip:hover .value-flip-front,.js .value-flip:focus-visible .value-flip-front,.js .value-flip.is-flipped .value-flip-front { display:none; }
 .js .value-flip:hover .value-flip-back,.js .value-flip:focus-visible .value-flip-back,.js .value-flip.is-flipped .value-flip-back { display:flex; }
}

/* About menu: two clear content columns, with the narrative overview links grouped together. */
@media (min-width:791px) {
  .about-mega-menu .about-menu-links { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:stretch; gap:0; }
  .about-menu-links .about-overview-column,.about-menu-links .about-team-column { min-height:128px; justify-content:flex-start; padding:12px 24px; border-left:0; }
  .about-team-column { align-self:stretch; }
}
.about-menu-heading { margin:0 0 9px; color:#0B69B9; font-size:1rem; font-weight:800; line-height:1.4; }
.nav-links .about-mega-menu a.about-team-link { color:#0B69B9; font-size:1rem; font-weight:800; line-height:1.4; }
.about-menu-note { max-width:240px; margin:9px 0 0; color:#5c6670; font-size:.82rem; line-height:1.55; }
.nav-links .about-mega-menu a.about-menu-child { display:inline-flex; width:fit-content; padding:2px 0; color:#5c6670; font-size:.82rem; line-height:1.5; }
.nav-links .about-mega-menu a.about-menu-child:hover,.nav-links .about-mega-menu a.about-menu-child:focus-visible,.nav-links .about-mega-menu a.about-menu-child[aria-current="page"] { color:#0B69B9; text-decoration:underline; text-underline-offset:3px; }
.nav-links .about-mega-menu a.about-team-link:hover,.nav-links .about-mega-menu a.about-team-link:focus-visible { color:#0B69B9; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:790px) {
  .about-menu-links .about-overview-column,.about-menu-links .about-team-column { min-height:0; justify-content:flex-start; padding:9px 4px; border:0; border-bottom:1px solid var(--line); }
  .about-menu-heading { padding:0 11px; margin-bottom:3px; font-size:.91rem; }
  .nav-links .about-mega-menu a.about-menu-child { display:flex; width:100%; padding:9px 11px; color:#5c6670; font-size:.91rem; }
  .nav-links .about-mega-menu a.about-menu-child:hover,.nav-links .about-mega-menu a.about-menu-child:focus-visible,.nav-links .about-mega-menu a.about-menu-child[aria-current="page"] { color:#0B69B9; }
  .nav-links .about-mega-menu a.about-team-link { display:flex; width:100%; padding:10px 11px 4px; }
  .about-menu-note { max-width:none; margin:0; padding:0 11px 10px; font-size:.86rem; }
}

/* Team destination, complementary to (but outside) the four numbered About stages. */
.about-team-callout { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:19px; padding:23px 25px; border:1px solid rgba(23,51,74,.12); border-left:4px solid var(--gold); border-radius:7px; background:#f5f8fa; }
.about-team-callout h3 { margin:5px 0 4px; color:#17334a; font-size:1.12rem; }
.about-team-callout p { margin:0; color:#52616e; font-size:.9rem; }
.about-team-callout .button { flex:0 0 auto; }
.team-context-strip { display:flex; align-items:center; justify-content:space-between; gap:20px 30px; padding:17px 21px; border-left:3px solid var(--gold); border-radius:0 6px 6px 0; background:#f4f6f8; }
.team-context-strip > div { max-width:640px; }
.team-context-strip p { margin:4px 0 0; color:#52616e; font-size:.89rem; }
.team-context-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.team-context-links a { display:inline-flex; align-items:center; min-height:39px; padding:8px 12px; color:#0B69B9; border:1px solid rgba(11,105,185,.2); border-radius:4px; background:#fff; font-size:.81rem; font-weight:750; text-decoration:none; }
.team-context-links a:hover { border-color:#0B69B9; background:#eef6fc; }
.team-section { padding-top:56px; padding-bottom:58px; }
.team-section-heading { max-width:730px; margin:0 0 26px; }
.team-section-heading h2 { margin:9px 0 8px; color:#17334a; font-size:clamp(1.65rem,3vw,2.15rem); line-height:1.2; letter-spacing:-.025em; }
.team-section-heading p { margin:0; color:#52616e; }
.team-leader-card { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; gap:30px; padding:29px 32px; border:1px solid rgba(23,51,74,.13); border-top:3px solid var(--gold); border-radius:9px; background:#fff; box-shadow:0 10px 30px rgba(23,51,74,.07); }
.team-avatar { display:block; width:108px; height:108px; border:1px solid rgba(23,51,74,.11); border-radius:19px; background:#eef4f8; box-shadow:0 8px 20px rgba(23,51,74,.09); }
.team-leader-card .team-avatar { width:156px; height:156px; border-radius:23px; }
.team-card-kicker { color:#93631f; font-size:.7rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.team-leader-copy h3,.team-profile-copy h3 { margin:5px 0 1px; color:#17334a; font-size:1.55rem; line-height:1.22; }
.team-role { margin:0; color:#0B69B9; font-size:.91rem; font-weight:750; }
.team-role-focus { margin:14px 0 0; color:#52616e; font-size:.92rem; }
.team-role-focus strong { color:#17334a; }
.team-profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.team-profile-card { min-width:0; min-height:286px; padding:21px 20px; border:1px solid rgba(23,51,74,.12); border-top:2px solid #b58a48; border-radius:8px; background:#fff; box-shadow:0 7px 22px rgba(23,51,74,.045); }
.team-profile-card .team-avatar { margin-bottom:16px; }
.team-profile-copy h3 { font-size:1.22rem; }
.team-profile-copy .team-role { font-size:.84rem; }
.team-profile-card .team-role-focus { margin-top:13px; font-size:.85rem; line-height:1.58; }
.team-transparency { margin:22px 0 0; padding:13px 16px; border-left:3px solid #b58a48; color:#52616e; background:rgba(255,255,255,.76); font-size:.82rem; }
.team-transparency strong { color:#17334a; }
@media (max-width:1000px) {
  .team-profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-profile-card { min-height:260px; }
}
@media (max-width:790px) {
  .team-context-strip { align-items:flex-start; flex-direction:column; }
  .team-context-links { justify-content:flex-start; }
  .team-leader-card { grid-template-columns:140px minmax(0,1fr); gap:21px; padding:24px; }
  .team-leader-card .team-avatar { width:132px; height:132px; }
  .about-team-callout { align-items:flex-start; flex-direction:column; }
}
@media (max-width:540px) {
  .team-context-strip { padding:15px; }
  .team-context-links { display:grid; width:100%; grid-template-columns:1fr; }
  .team-context-links a { justify-content:center; }
  .team-section { padding-top:42px; padding-bottom:44px; }
  .team-leader-card { grid-template-columns:1fr; gap:16px; padding:22px; }
  .team-leader-card .team-avatar { width:128px; height:128px; }
  .team-profile-grid { grid-template-columns:1fr; }
  .team-profile-card { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; column-gap:17px; min-height:0; padding:17px; }
  .team-profile-card .team-avatar { grid-column:1; grid-row:1 / span 2; width:88px; height:88px; margin:0; border-radius:15px; }
  .team-profile-copy { grid-column:2; grid-row:1; }
  .team-profile-copy h3 { font-size:1.12rem; }
  .team-profile-card .team-role-focus { grid-column:1 / -1; margin-top:12px; }
  .about-team-callout { padding:20px; }
  .about-team-callout .button { width:100%; }
}

/* Balanced About menu, matching the editorial hierarchy used by Our Insights. */
@media (min-width:791px) {
  .about-mega-menu {
    grid-template-columns:minmax(300px,1fr) minmax(0,1.65fr);
    gap:32px;
    align-items:start;
  }
  .about-mega-menu .mega-intro {
    min-height:124px;
    padding:4px 32px 4px 0;
  }
  .about-mega-menu .about-menu-links {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px;
    align-items:start;
  }
  .about-menu-links .about-overview-column,
  .about-menu-links .about-team-column {
    min-height:124px;
    padding:4px 0;
  }
  .about-menu-links .about-team-column { padding-left:4px; }
}

/* Real-world animated study-route visual. */
.map-video-frame {
  position:relative;
  overflow:hidden;
  aspect-ratio:2 / 1;
  border-radius:14px;
  background:#17334a;
  box-shadow:var(--shadow);
}
.study-route-video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.map-video-toggle {
  position:absolute;
  right:14px;
  top:14px;
  z-index:2;
  min-height:38px;
  padding:8px 13px;
  color:var(--white);
  border:1px solid rgba(255,255,255,.55);
  border-radius:4px;
  background:rgba(8,39,65,.82);
  font-size:.78rem;
  font-weight:750;
  cursor:pointer;
  backdrop-filter:blur(5px);
}
.map-video-toggle:hover,
.map-video-toggle:focus-visible { background:var(--blue); }
.map-video-badge {
  position:absolute;
  left:14px;
  bottom:14px;
  padding:7px 10px;
  color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.35);
  border-radius:4px;
  background:rgba(8,39,65,.76);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.025em;
  backdrop-filter:blur(5px);
}
@media (max-width:540px) {
  .map-video-frame { aspect-ratio:1.35 / 1; }
  .study-route-video { object-fit:cover; object-position:center; }
  .map-video-badge { display:none; }
  .map-video-toggle { right:9px; top:9px; min-height:36px; }
}
@media (prefers-reduced-motion:reduce) {
  .map-video-toggle { display:none; }
}

/* Crisp white surfaces frame the shared blue brand canvas above and below the page. */
.site-header .header-inner { background: #FFFFFF; }
main > :last-child {
  color: #263543;
  background-color: #FFFFFF;
  background-image: none;
  border-top-color: rgba(12,29,51,.09);
}
main > :last-child :is(h1, h2, h3, h4),
main > :last-child .section-heading h2 { color: #17334A; }
main > :last-child p,
main > :last-child .section-heading p { color: #4C5965; }
main > :last-child :is(.eyebrow, .about-card-kicker) { color: #0B69B9; }
main > :last-child .eyebrow::before { background: #C5A059; }
/* Buttons keep their intended contrast on the white boundary surface. */
main > :last-child .button-blue { color: #FFFFFF; }
main > :last-child .button-gold { color: #263543; }

/* Focused mobile navigation: one selected section at a time. */
.nav-toggle span {
  transform-origin: center;
  transition: transform .22s ease, opacity .18s ease;
}
@media (max-width: 790px) {
  .nav-toggle.has-focused-submenu span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle.has-focused-submenu span:nth-child(2) { opacity: 0; }
  .nav-toggle.has-focused-submenu span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  .nav-wrap.has-focused-submenu .nav-links > * { display: none; }
  .nav-wrap.has-focused-submenu .nav-links > .is-expanded { display: block; }
  .nav-wrap.has-focused-submenu .header-cta { display: none; }
  .nav-wrap.has-focused-submenu { gap: 0; }

  .mega-groups,
  .about-menu-links,
  .insights-panel-groups,
  .career-menu-groups,
  .nav-links .sectors-panel .sectors-link-grid,
  .nav-links .sectors-panel .sectors-audiences {
    grid-template-columns: 1fr !important;
  }

  .footer-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: clamp(.64rem, 2.2vw, .78rem);
  }
  .footer-bottom p:first-child { min-width: 0; line-height: 1.4; }
  .footer-positioning { flex: 0 0 auto; margin-left: auto !important; white-space: nowrap; text-align: right; }
}

/* Practice Areas architecture — premium legal and advisory presentation. */
.practice-index-hero { padding-block: clamp(74px,8vw,112px); }
.practice-index-hero h1 { max-width: 760px; font-size: clamp(2.9rem,6vw,5rem); }
.practice-index-section { padding-block: clamp(64px,8vw,104px); background:#f6f7f8; }
.practice-index-intro { display:grid; max-width:850px; margin:0 0 44px; }
.practice-index-intro h2 { margin:12px 0 14px; color:#17334a; font-size:clamp(2rem,3.4vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.practice-index-intro p { max-width:660px; margin:0; color:#586570; }
.practice-index-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.practice-index-card { position:relative; display:flex; min-height:310px; overflow:hidden; flex-direction:column; padding:30px 28px 27px; border:1px solid rgba(12,29,51,.12); border-radius:8px; background:#fff; box-shadow:0 8px 24px rgba(12,29,51,.045); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.practice-index-card::before { position:absolute; inset:0 auto 0 0; width:4px; content:""; background:#c5a059; transform:scaleY(0); transform-origin:bottom; transition:transform .22s ease; }
.practice-index-card:hover { transform:translateY(-5px); border-color:rgba(11,105,185,.32); box-shadow:0 18px 40px rgba(12,29,51,.11); }
.practice-index-card:hover::before { transform:scaleY(1); }
.practice-card-number { color:#a27e3e; font-size:.72rem; font-weight:800; letter-spacing:.16em; }
.practice-index-card h2 { margin:35px 0 14px; color:#102c46; font-size:1.32rem; line-height:1.25; letter-spacing:-.02em; }
.practice-index-card p { margin:0 0 24px; color:#596773; font-size:.9rem; line-height:1.68; }
.practice-index-card a { display:inline-flex; align-items:center; gap:9px; margin-top:auto; color:#0b69b9; font-size:.78rem; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.practice-index-card a span { transition:transform .2s ease; }
.practice-index-card:hover a span { transform:translateX(4px); }
.practice-index-contact { padding:62px 0; border-top:1px solid rgba(12,29,51,.08); background:#fff; }
.practice-index-contact .container { display:flex; align-items:center; justify-content:space-between; gap:42px; }
.practice-index-contact h2 { margin:10px 0 8px; color:#17334a; font-size:clamp(1.8rem,3vw,2.55rem); line-height:1.16; }
.practice-index-contact p { margin:0; color:#596773; }

.practice-detail-hero { position:relative; overflow:hidden; padding:58px 0 64px; color:#fff; background:#0b69b9; }
.practice-detail-hero::after { position:absolute; right:-70px; bottom:-230px; width:460px; height:460px; content:""; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 44px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.026); }
.practice-detail-hero .container { position:relative; z-index:1; }
.practice-back { display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.78); font-size:.75rem; font-weight:750; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.practice-back::before { content:"←"; }
.practice-detail-hero h1 { max-width:890px; margin:18px 0 0; font-size:clamp(2.25rem,4.5vw,3.9rem); line-height:1.1; letter-spacing:-.04em; }
.practice-detail-section { padding:70px 0 90px; background:#f7f8f9; }
.practice-layout { display:grid; grid-template-columns:minmax(250px,300px) minmax(0,1fr); gap:clamp(44px,6vw,82px); align-items:start; }
.practice-sidebar { position:sticky; top:22px; display:grid; gap:22px; }
.practice-side-nav { overflow:hidden; border:1px solid rgba(12,29,51,.12); border-radius:6px; background:#fff; box-shadow:0 10px 30px rgba(12,29,51,.055); }
.practice-side-title { margin:0; padding:19px 20px; color:#fff; background:#102c46; font-size:.76rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.practice-mobile-switch { display:none; }
.practice-side-nav a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 17px; color:#42515d; border-bottom:1px solid rgba(12,29,51,.08); font-size:.79rem; font-weight:650; line-height:1.35; text-decoration:none; transition:color .18s ease,background .18s ease,padding-left .18s ease; }
.practice-side-nav a:last-child { border-bottom:0; }
.practice-side-nav a:hover { padding-left:21px; color:#0b69b9; background:#f4f8fb; }
.practice-side-nav a[aria-current="page"] { color:#0b69b9; border-left:4px solid #c5a059; background:#edf5fb; }
.practice-side-nav a span { color:#b58a48; }
.practice-support { display:grid; gap:18px; }
.profile-download { display:flex; align-items:center; gap:14px; padding:18px; color:#fff; border-radius:6px; background:#0b69b9; text-decoration:none; box-shadow:0 10px 26px rgba(11,105,185,.18); }
.profile-download-icon { display:grid; width:39px; height:39px; flex:0 0 39px; place-items:center; border:1px solid rgba(255,255,255,.44); border-radius:50%; font-size:1.2rem; }
.profile-download strong,.profile-download small { display:block; }
.profile-download strong { font-size:.84rem; line-height:1.3; }
.profile-download small { margin-top:3px; color:rgba(255,255,255,.76); font-size:.68rem; }
.help-box { padding:24px 22px; color:#fff; border-radius:6px; background:#102c46; }
.help-box-kicker { margin:0 0 10px !important; color:#d5b36c !important; font-size:.78rem !important; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.help-box p { margin:0 0 19px; color:rgba(255,255,255,.8); font-size:.82rem; line-height:1.62; }
.help-box .button { width:100%; min-height:43px; padding:10px 15px; font-size:.78rem; }
.practice-main { min-width:0; padding:clamp(30px,4vw,52px); border:1px solid rgba(12,29,51,.1); border-radius:7px; background:#fff; box-shadow:0 14px 40px rgba(12,29,51,.055); }
.practice-main > h1 { margin:13px 0 25px; color:#102c46; font-size:clamp(2rem,3.6vw,3.25rem); line-height:1.12; letter-spacing:-.04em; }
.practice-main-copy > p:first-child { color:#304352; font-size:1.06rem; line-height:1.8; }
.practice-main-copy p { margin:0 0 20px; color:#4f5e69; }
.practice-copy-section { margin:0 0 42px; }
.practice-copy-section .practice-copy-section { margin-top:26px; padding-top:24px; border-top:1px solid rgba(12,29,51,.09); }
.practice-copy-section h2 { margin:0 0 17px; color:#17334a; font-size:clamp(1.45rem,2.4vw,2rem); line-height:1.2; }
.practice-copy-section .practice-copy-section h2 { font-size:1.2rem; }
.practice-service-list { display:grid; gap:0; margin-top:25px; border-top:1px solid rgba(12,29,51,.1); }
.practice-service-item { display:grid; grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr); gap:30px; padding:22px 0; border-bottom:1px solid rgba(12,29,51,.1); }
.practice-service-item h3 { margin:0; color:#17334a; font-size:1rem; line-height:1.45; }
.practice-service-item p { margin:0; color:#586671; font-size:.9rem; line-height:1.72; }
.practice-service-item p:empty { display:none; }
.practice-service-item:has(p:empty) { grid-template-columns:1fr; }
.practice-mobile-support { display:none; }
.practice-next { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:48px; padding-top:25px; border-top:1px solid rgba(12,29,51,.12); }
.practice-next > span { color:#74808a; font-size:.72rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.practice-next a { color:#0b69b9; font-weight:750; text-align:right; text-decoration:none; }

@media (min-width:791px) {
  .practice-mega-menu .mega-groups { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .practice-mega-menu .mega-group-link { display:block; margin-bottom:10px; font-size:.76rem; line-height:1.35; }
}
@media (max-width:1020px) {
  .practice-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .practice-layout { grid-template-columns:230px minmax(0,1fr); gap:32px; }
  .practice-main { padding:32px 28px; }
  .practice-service-item { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:790px) {
  .practice-index-grid { grid-template-columns:1fr; }
  .practice-index-card { min-height:250px; }
  .practice-index-contact .container { align-items:flex-start; flex-direction:column; }
  .practice-layout { grid-template-columns:1fr; }
  .practice-sidebar { position:static; }
  .practice-sidebar .practice-support { display:none; }
  .practice-side-nav { display:grid; grid-template-columns:1fr; }
  .practice-side-nav a { display:none; }
  .practice-mobile-switch { display:grid; gap:7px; padding:15px 16px 17px; }
  .practice-mobile-switch span { color:#62707b; font-size:.68rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
  .practice-mobile-switch select { width:100%; min-height:46px; padding:9px 38px 9px 12px; color:#17334a; border:1px solid rgba(12,29,51,.18); border-radius:4px; background:#fff; font-size:.84rem; font-weight:700; }
  .practice-side-title::after { float:right; content:"Choose below"; color:rgba(255,255,255,.62); font-size:.62rem; }
  .practice-mobile-support { display:block; margin-top:40px; }
  .practice-mobile-support .practice-support { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .practice-next { align-items:flex-start; flex-direction:column; }
  .practice-next a { text-align:left; }
}
@media (max-width:560px) {
  .practice-index-section { padding-block:50px; }
  .practice-index-card { min-height:0; padding:25px 22px; }
  .practice-index-card h2 { margin-top:24px; }
  .practice-detail-hero { padding:44px 0 48px; }
  .practice-detail-section { padding:36px 0 58px; }
  .practice-main { padding:26px 20px; }
  .practice-mobile-support .practice-support { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .practice-index-card,.practice-index-card::before,.practice-index-card a span,.practice-side-nav a { transition:none; }
}

/* Photo-led Practice Areas listing and service detail layout. */
.practice-index-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 290px;
  align-items: center;
  padding-block: clamp(66px,8vw,104px);
  color: #fff;
  background-image: linear-gradient(90deg,rgba(8,33,56,.78),rgba(8,33,56,.28)),url("images/services/corporate-advisory.png");
  background-position: center 47%;
  background-size: cover;
}
.practice-index-hero .container { position: relative; z-index: 1; }
.practice-index-hero h1 { margin: 8px 0 12px; color: #fff; }
.practice-index-hero p { max-width: 700px; margin: 0; color: rgba(255,255,255,.9); font-size: 1.08rem; }
.practice-index-section { background: #fff; }
.practice-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 38px; }
.practice-index-card {
  display: grid;
  min-height: 174px;
  grid-template-columns: minmax(130px, .72fr) minmax(0,1fr);
  gap: 20px;
  align-items: stretch;
  padding: 0 0 22px;
  overflow: visible;
  color: var(--charcoal);
  border: 0;
  border-bottom: 1px solid rgba(76,76,76,.16);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  text-decoration: none;
  transition: color .2s ease,border-color .2s ease,transform .2s ease;
}
.practice-index-card::before { display: none; }
.practice-index-card:hover,.practice-index-card:focus-visible { transform: translateY(-2px); border-color: rgba(11,105,185,.38); box-shadow: none; }
.practice-index-image { grid-column: 1; grid-row: 1; width: 100%; height: 148px; object-fit: cover; }
.practice-card-number { grid-column: 2; grid-row: 1; align-self: start; margin: 2px 0 0; color: #9c7d45; font-size: .68rem; }
.practice-index-card-copy { display: flex; grid-column: 2; grid-row: 1; flex-direction: column; align-items: flex-start; padding: 23px 0 0; }
.practice-index-card-title { margin-bottom: 8px; color: #0b69b9; font-size: 1.08rem; font-weight: 800; line-height: 1.35; }
.practice-index-card-summary { color: #596773; font-size: .84rem; line-height: 1.58; }
.practice-index-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; color: #0b69b9; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.practice-index-card-link > span { transition: transform .2s ease; }
.practice-index-card:hover .practice-index-card-link > span,.practice-index-card:focus-visible .practice-index-card-link > span { transform: translateX(4px); }
.practice-index-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.practice-detail-hero {
  min-height: 205px;
  display: flex;
  align-items: center;
  padding: 64px 0 54px;
  background-color: #17334a;
  background-image: linear-gradient(90deg,rgba(6,28,48,.72),rgba(6,28,48,.42)),var(--practice-hero-image);
  background-position: center;
  background-size: cover;
}
.practice-detail-hero::after { display: none; }
.practice-detail-hero .container { width: min(var(--container),calc(100% - 48px)); text-align: center; }
.practice-detail-hero h1 { max-width: 1000px; margin: 0 auto; color: #fff; font-size: clamp(2rem,4.4vw,3.6rem); }
.practice-back { position: absolute; top: -34px; left: 0; }
.practice-detail-section { padding: 58px 0 82px; background: #fff; }
.practice-layout { grid-template-columns: minmax(0,1fr) minmax(250px,310px); gap: clamp(38px,6vw,78px); align-items: start; }
.practice-main { padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.practice-main-copy > .container { width: 100%; margin-inline: 0; }
.practice-main-copy > .section { padding: 34px 0; }
.practice-main-copy > .section:first-child { padding-top: 0; }
.practice-main-copy > .section > .container { width: 100%; margin-inline: 0; }
.practice-sidebar { top: 22px; }
.practice-side-nav { max-height: min(70vh,720px); overflow-y: auto; }
.practice-detail-hero .practice-back { text-align: left; }
.service-migration-intro { margin: 0 0 28px; padding: 0 0 25px; border-bottom: 1px solid rgba(76,76,76,.14); }
.service-migration-intro h2 { margin: 6px 0 10px; color: #17334a; font-size: clamp(1.5rem,2.7vw,2.15rem); line-height: 1.18; }
.service-migration-intro > p { margin: 0; color: #586570; }
.service-migration-intro .page-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.practice-main-copy > .section > .container { max-width: none; }
.practice-main-copy .section-heading { margin-bottom: 20px; }
.practice-main-copy .study-map-layout,.practice-main-copy .study-advisory-grid,.practice-main-copy .funding-grid,.practice-main-copy .travel-problem-grid,.practice-main-copy .travel-service-grid { margin-top: 24px; }
.practice-main-copy .cta-band { margin-top: 26px; }
.practice-main-copy [id] { scroll-margin-top: 22px; }
.mega-service-group { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 4px; }
.mega-service-group + .mega-service-group { margin-top: 8px; }
.nav-links .mega-menu .mega-service-group > a { display: block; width: 100%; }
.nav-links .mega-menu .mega-service-group > a.mega-child-link { padding-left: 8px; color: #65717b; font-size: .68rem; line-height: 1.35; }
.nav-links .mega-menu .mega-service-group > a.mega-child-link:hover,.nav-links .mega-menu .mega-service-group > a.mega-child-link:focus-visible { color: var(--blue); }
.careers-page-hero { min-height: 330px; }
.careers-welcome { padding: 66px 0; background: #fff; }
.careers-welcome-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.72fr); gap: 58px; align-items: center; }
.careers-welcome h2 { margin: 10px 0 15px; color: #17334a; font-size: clamp(1.9rem,3vw,2.7rem); line-height: 1.16; }
.careers-welcome p { max-width: 690px; margin: 0 0 22px; color: #586570; }
.careers-note-card { padding: 27px; border-left: 4px solid var(--gold); background: #f5f7f8; }
.careers-note-card strong { display: block; margin-bottom: 9px; color: #17334a; font-size: 1.05rem; }
.careers-note-card p { margin: 0; }
.careers-pathways { padding: 64px 0; background: #f6f7f8; }
.careers-pathway-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.careers-pathway { display: flex; min-height: 180px; flex-direction: column; align-items: flex-start; padding: 25px; border: 1px solid rgba(76,76,76,.12); background: #fff; text-decoration: none; transition: border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.careers-pathway:hover,.careers-pathway:focus-visible { transform: translateY(-3px); border-color: rgba(11,105,185,.4); box-shadow: var(--shadow); }
.careers-pathway h3 { margin: 0 0 8px; color: var(--blue); font-size: 1.12rem; }
.careers-pathway p { margin: 0; color: #586570; font-size: .9rem; }
.careers-pathway span { margin-top: auto; padding-top: 17px; color: var(--blue); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.careers-contact { padding: 52px 0; color: #fff; background: var(--blue); }
.careers-contact .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.careers-contact h2 { margin: 8px 0; color: #fff; }
.careers-contact p { max-width: 700px; margin: 0; color: rgba(255,255,255,.88); }
@media (max-width:1020px) {
  .practice-index-card { grid-template-columns: minmax(125px,.7fr) minmax(0,1fr); gap: 16px; }
  .practice-layout { grid-template-columns: minmax(0,1fr) 235px; gap: 32px; }
  .practice-side-nav a { padding: 11px 12px; font-size: .73rem; }
}
@media (max-width:790px) {
  .practice-index-grid { grid-template-columns: 1fr; gap: 22px; }
  .practice-index-card { grid-template-columns: minmax(120px,.55fr) minmax(0,1fr); min-height: 145px; gap: 16px; padding-bottom: 17px; }
  .practice-index-image { height: 130px; }
  .practice-index-card-copy { padding-top: 22px; }
  .practice-detail-hero { min-height: 180px; padding: 60px 0 44px; }
  .practice-back { top: -31px; }
  .practice-detail-section { padding: 35px 0 54px; }
  .practice-layout { grid-template-columns: 1fr; }
  .practice-main { order: 0; }
  .practice-sidebar { position: static; order: 1; }
  .practice-sidebar .practice-support { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 16px; }
  .practice-side-nav { max-height: none; }
  .practice-main-copy > .section { padding: 26px 0; }
  .careers-welcome-inner { grid-template-columns: 1fr; gap: 26px; }
  .careers-contact .container { align-items: flex-start; flex-direction: column; }
}
@media (max-width:560px) {
  .practice-index-hero { min-height: 240px; padding-block: 54px; }
  .practice-index-grid { gap: 22px; }
  .practice-index-card { grid-template-columns: 112px minmax(0,1fr); gap: 13px; min-height: 126px; }
  .practice-index-image { height: 112px; }
  .practice-index-card-copy { padding-top: 20px; }
  .practice-index-card-title { font-size: .98rem; }
  .practice-index-card-summary { font-size: .79rem; }
  .practice-index-card-link { font-size: .64rem; }
  .practice-detail-hero { min-height: 165px; padding: 54px 0 37px; }
  .practice-detail-hero .container { width: calc(100% - 36px); }
  .practice-detail-hero h1 { font-size: clamp(1.75rem,8vw,2.35rem); }
  .practice-back { top: -28px; }
  .practice-sidebar .practice-support { grid-template-columns: 1fr; }
  .service-migration-intro .page-hero-actions { align-items: stretch; flex-direction: column; }
  .careers-pathway-grid { grid-template-columns: 1fr; }
  .careers-contact { padding: 42px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .practice-index-card,.practice-index-card-link > span,.careers-pathway { transition:none; }
}
.service-migration-intro .button-outline { color: var(--blue); border-color: rgba(11,105,185,.42); }
.service-migration-intro .button-outline:hover { color: #fff; background: var(--blue); }
.legacy-service-redirect { min-height: 70vh; padding: 110px 0; background: #f7f8f9; }
.legacy-service-redirect .container { max-width: 760px; }
.legacy-service-redirect h1 { color: #17334a; }
.legacy-service-redirect-note { margin-top: 24px; color: #586570; font-size: .88rem; }

/* Academic, Travel & Global Mobility — clear parent/service hierarchy. */
.academic-mobility-intro { max-width: 760px; margin-bottom: 34px; padding-bottom: 27px; border-bottom: 1px solid rgba(12,29,51,.12); }
.academic-mobility-intro h2 { margin: 10px 0 13px; color: #17334a; font-size: clamp(1.7rem,3vw,2.45rem); line-height: 1.18; letter-spacing: -.03em; }
.academic-mobility-intro p { max-width: 650px; margin: 0; color: #53626e; font-size: 1rem; line-height: 1.75; }
.academic-mobility-grid { display: grid; gap: 24px; }
.academic-mobility-card { display: grid; grid-template-columns: minmax(180px,.72fr) minmax(0,1.28fr); overflow: hidden; border: 1px solid rgba(12,29,51,.12); border-radius: 7px; background: #fff; box-shadow: 0 10px 30px rgba(12,29,51,.055); }
.academic-mobility-card > img { width: 100%; height: 100%; min-height: 270px; object-fit: cover; }
.academic-mobility-card > div { display: flex; min-width: 0; flex-direction: column; padding: 27px 28px 25px; }
.academic-mobility-card h2 { margin: 0 0 10px; color: #0b69b9; font-size: clamp(1.28rem,2.1vw,1.65rem); line-height: 1.28; }
.academic-mobility-card p { margin: 0 0 19px; color: #53626e; font-size: .92rem; line-height: 1.72; }
.academic-mobility-card nav { display: grid; gap: 0; margin-top: auto; border-top: 1px solid rgba(12,29,51,.1); }
.academic-mobility-card nav a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 0; color: #31526c; border-bottom: 1px solid rgba(12,29,51,.075); font-size: .79rem; font-weight: 650; line-height: 1.45; text-decoration: none; }
.academic-mobility-card nav a:first-child { color: #0b69b9; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.academic-mobility-card nav a:last-child { border-bottom: 0; }
.academic-mobility-card nav a:hover,.academic-mobility-card nav a:focus-visible { color: #0b69b9; }
@media (max-width: 700px) {
  .academic-mobility-card { grid-template-columns: 1fr; }
  .academic-mobility-card > img { height: 210px; min-height: 0; }
  .academic-mobility-card > div { padding: 23px 21px 21px; }
}
@media (max-width: 460px) {
  .academic-mobility-card > img { height: 180px; }
  .academic-mobility-card nav a { align-items: flex-start; }
}

/* Unified navy header and footer — reference colour #0C1D33. */
.site-header {
  background: #0C1D33;
  border-bottom-color: rgba(255,255,255,.12);
  box-shadow: 0 5px 20px rgba(12,29,51,.18);
}
.site-header::before { display: none; }
.site-header .header-inner {
  width: min(1280px, calc(100% - clamp(40px, 5vw, 76px)));
  min-height: 94px;
  gap: clamp(24px, 3vw, 44px);
  background: #0C1D33;
}
.site-header .brand { color: #FFFFFF; }
.site-header .brand-tag { color: rgba(255,255,255,.76); }
.site-header .nav-wrap { min-width: 0; gap: clamp(16px, 2vw, 28px); }
.site-header .nav-links { min-width: 0; gap: clamp(13px, 1.55vw, 24px); }
.site-header .services-trigger,
.site-header .dropdown-trigger,
.site-header .nav-links > a { color: rgba(255,255,255,.9); }
.site-header .services-trigger:hover,
.site-header .services-trigger:focus-visible,
.site-header .nav-services:hover > .services-trigger,
.site-header .nav-services:focus-within > .services-trigger,
.site-header .nav-services.is-expanded > .services-trigger,
.site-header .dropdown-trigger:hover,
.site-header .dropdown-trigger:focus-visible,
.site-header .nav-dropdown:hover > .dropdown-trigger,
.site-header .nav-dropdown:focus-within > .dropdown-trigger,
.site-header .nav-dropdown.is-expanded > .dropdown-trigger,
.site-header .dropdown-trigger[aria-current="page"] { color: #FFFFFF; border-color: #C5A059; }
.site-header .header-cta { flex: 0 0 auto; }
.site-header .header-cta[aria-current="page"] { outline-color: #FFFFFF; }
.site-header .mega-menu,
.site-header .dropdown-panel { color: #4C4C4C; }
.site-header .nav-toggle {
  border-color: rgba(255,255,255,.34);
  color: #FFFFFF;
  background: transparent;
}
.site-header .nav-toggle:hover,
.site-header .nav-toggle:focus-visible { background: rgba(255,255,255,.1); }
.site-footer {
  background: #0C1D33;
  background-image: none;
}
.site-footer .footer-main,
.site-footer .footer-bottom { width: min(1200px, calc(100% - 48px)); }

@media (max-width: 1120px) and (min-width: 791px) {
  .site-header .header-inner { width: calc(100% - 36px); gap: 18px; }
  .site-header .brand-copy { width: 142px; }
  .site-header .brand-name { font-size: 1.3rem; }
  .site-header .brand-tag { font-size: .68rem; letter-spacing: .055em; }
  .site-header .nav-wrap { gap: 14px; }
  .site-header .nav-links { gap: 11px; }
  .site-header .services-trigger,
  .site-header .dropdown-trigger,
  .site-header .nav-links > a { font-size: .81rem; }
  .site-header .header-cta { padding-inline: 13px; font-size: .8rem; }
}

@media (max-width: 790px) {
  .site-header .header-inner { width: calc(100% - 36px); min-height: 82px; }
  .site-header .nav-wrap {
    top: var(--mobile-nav-top, 82px);
    color: #4C4C4C;
    background: #FFFFFF;
  }
  .site-header .services-trigger,
  .site-header .dropdown-trigger,
  .site-header .nav-links > a { color: #344553; }
  .site-header .services-trigger:hover,
  .site-header .services-trigger:focus-visible,
  .site-header .nav-services.is-expanded > .services-trigger,
  .site-header .dropdown-trigger:hover,
  .site-header .dropdown-trigger:focus-visible,
  .site-header .nav-dropdown.is-expanded > .dropdown-trigger { color: #0B69B9; }
  .site-footer .footer-main,
  .site-footer .footer-bottom { width: calc(100% - 36px); }
}

@media (max-width: 540px) {
  .site-header .header-inner { width: calc(100% - 28px); min-height: 76px; }
  .site-header .brand-logo { width: 43px; height: 43px; }
  .site-header .brand-copy { width: 136px; }
  .site-header .brand-name { font-size: 1.2rem; }
  .site-header .brand-tag { font-size: .64rem; letter-spacing: .055em; }
  .site-footer .footer-main,
  .site-footer .footer-bottom { width: calc(100% - 32px); }
}

/* Homepage partner showcase. */
.partners-showcase {
  --partners-gap: 18px;
  --partners-visible: 5;
  position: relative;
  overflow: hidden;
  padding: clamp(66px, 7vw, 94px) 0 clamp(70px, 7.5vw, 102px);
  color: #fff;
  background: #0B69B9;
  isolation: isolate;
}
.partners-showcase::before,
.partners-showcase::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.partners-showcase::before { width: 360px; height: 360px; top: -250px; right: -72px; }
.partners-showcase::after { width: 250px; height: 250px; bottom: -194px; left: -76px; }
.partners-shell { width: min(1260px, calc(100% - 48px)); }
.partners-heading { max-width: 700px; margin: 0 auto clamp(30px, 4vw, 46px); text-align: center; }
.partners-heading .eyebrow { color: rgba(255,255,255,.76); }
.partners-heading h2 { margin: 8px 0 10px; color: #fff; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.035em; }
.partners-heading p { margin: 0; color: rgba(255,255,255,.84); font-size: clamp(.96rem, 1.5vw, 1.08rem); line-height: 1.7; }
.partners-carousel { position: relative; padding: 0 48px; }
.partners-viewport { overflow: hidden; }
.partners-track {
  display: flex;
  gap: var(--partners-gap);
  transform: translate3d(0,0,0);
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.partner-card {
  display: grid;
  flex: 0 0 calc((100% - (var(--partners-visible) - 1) * var(--partners-gap)) / var(--partners-visible));
  height: clamp(150px, 14vw, 178px);
  margin: 0;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(12,29,51,.1);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(5,28,51,.16);
}
.partner-card img { width: 100%; height: 100%; padding: 16px; object-fit: contain; }
.partners-control {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  color: #0B69B9;
  background: rgba(255,255,255,.95);
  box-shadow: 0 6px 18px rgba(5,28,51,.18);
  cursor: pointer;
  place-items: center;
  transform: translateY(-50%);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.partners-control:hover { background: #fff; box-shadow: 0 8px 24px rgba(5,28,51,.25); transform: translateY(-50%) scale(1.06); }
.partners-control:focus-visible { outline: 3px solid #F0C978; outline-offset: 3px; }
.partners-control:disabled { opacity: .36; cursor: default; transform: translateY(-50%); }
.partners-control svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.partners-control-prev { left: 0; }
.partners-control-next { right: 0; }

@media (max-width: 1040px) {
  .partners-showcase { --partners-visible: 4; }
}
@media (max-width: 790px) {
  .partners-showcase { --partners-visible: 3; --partners-gap: 14px; padding-block: 58px 68px; }
  .partners-shell { width: calc(100% - 32px); }
  .partners-carousel { padding-inline: 40px; }
  .partner-card { height: 148px; }
  .partner-card img { padding: 13px; }
}
@media (max-width: 560px) {
  .partners-showcase { --partners-visible: 2; --partners-gap: 12px; }
  .partners-heading { margin-bottom: 28px; }
  .partners-carousel { padding-inline: 34px; }
  .partners-control { width: 30px; height: 30px; }
  .partners-control svg { width: 17px; height: 17px; }
  .partner-card { height: 134px; }
  .partner-card img { padding: 11px; }
}
@media (max-width: 370px) {
  .partners-showcase { --partners-visible: 1; }
  .partner-card { height: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .partners-track,
  .partners-control { transition: none; }
}

/* Service title canvas matched to the supplied blue reference. */
.practice-detail-hero {
  isolation: isolate;
  background-color: #0b69b7;
  background-image: linear-gradient(105deg,#0969b7 0%,#116eb9 54%,#1973bb 100%);
  background-position: center;
  background-size: cover;
}
.practice-detail-hero::before,
.practice-detail-hero::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  pointer-events: none;
  border: 2px solid rgba(255,255,255,.075);
  border-radius: 50%;
}
.practice-detail-hero::before {
  top: -340px;
  left: -155px;
  width: 620px;
  height: 620px;
}
.practice-detail-hero::after {
  right: -170px;
  bottom: -375px;
  width: 650px;
  height: 650px;
  box-shadow: 0 0 0 80px rgba(255,255,255,.022);
}
.practice-detail-hero .container { z-index: 1; }
.practice-detail-hero h1 { text-shadow: 0 1px 2px rgba(4,35,63,.16); }

@media (max-width:790px) {
  .practice-detail-hero::before { left: -360px; }
  .practice-detail-hero::after { right: -440px; }
}

/* One clear Careers route in the dropdown, with all pathways integrated on Careers. */
.nav-dropdown:hover > .career-panel-single,
.nav-dropdown:focus-within > .career-panel-single,
.nav-dropdown.is-expanded > .career-panel-single {
  grid-template-columns: 1fr;
}
.career-panel-single .career-panel-intro {
  width: min(100%,760px);
  margin-inline: auto;
  padding: 8px 0;
  border-right: 0;
  text-align: left;
}
.career-panel-single .career-explore { font-size: 1rem; }
.career-integrated-section { background: #fff; }
.career-integrated-section .section-heading { max-width: 790px; }

/* High-contrast, balanced content on coloured panels and service cards. */
.funding-grid { align-items: stretch; }
.funding-card { display: flex; flex-direction: column; }
.funding-card-accent p {
  color: #fff;
  font-size: .95rem;
  line-height: 1.7;
}
.funding-card-accent .text-link {
  margin-top: auto;
  padding-top: 20px;
  color: #fff;
  font-weight: 800;
  text-decoration-color: rgba(255,255,255,.72);
}
:is(.section-blue,.cta-band,.study-solution,.funding-card-accent,.travel-focus-band,.partnership-consultation,.careers-contact,.career-network) :is(p,li) {
  color: rgba(255,255,255,.96);
}
:is(.section-blue,.cta-band,.study-solution,.funding-card-accent,.travel-focus-band,.partnership-consultation,.careers-contact,.career-network) :is(h2,h3) {
  color: #fff;
}
:is(.section-blue,.cta-band,.study-solution,.funding-card-accent,.travel-focus-band,.partnership-consultation,.careers-contact,.career-network) .eyebrow {
  color: rgba(255,255,255,.9);
}
.study-solution,.funding-card-accent,.partnership-consultation { background-color: #0b69b9; }
.study-solution p,.study-solution li,.partnership-consultation p { font-size: .95rem; line-height: 1.72; }
.help-box p { color: rgba(255,255,255,.92); }
.profile-download small { color: rgba(255,255,255,.9); }
.testimonial-slide figcaption { color: rgba(255,255,255,.92); }
.practice-main-copy .section-heading p { max-width: 780px; }

@media (max-width:790px) {
  .career-panel-single .career-panel-intro { width: 100%; padding: 15px 12px; }
}

/* Homepage service-to-insight bridge — question-led, image-rich and interactive. */
.home-guidance {
  padding: clamp(68px, 7vw, 104px) 0;
  overflow: hidden;
  background: #f2f3f4;
  border-block: 1px solid rgba(12,29,51,.08);
}
.home-guidance-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: end;
  margin-bottom: clamp(34px, 4.5vw, 58px);
}
.home-guidance-heading h2 {
  max-width: 720px;
  margin: 13px 0 0;
  color: #102c46;
  font-size: clamp(2.25rem, 4.3vw, 3.8rem);
  line-height: 1.06;
  letter-spacing: -.045em;
}
.home-guidance-intro p {
  margin: 0;
  color: #4c5965;
  font-size: 1rem;
  line-height: 1.75;
}
.home-guidance-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 20px;
}
.home-guidance-actions a,
.guidance-explore {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b69b9;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
.home-guidance-actions a:hover,
.home-guidance-actions a:focus-visible,
.guidance-explore:hover,
.guidance-explore:focus-visible { text-decoration: underline; }
.home-guidance-actions a span,
.guidance-explore span { transition: transform .2s ease; }
.home-guidance-actions a:hover span,
.guidance-explore:hover span { transform: translateX(4px); }
.home-guidance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.75vw, 26px);
  align-items: stretch;
}
.guidance-column {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.guidance-visual {
  position: relative;
  display: block;
  height: clamp(250px, 24vw, 340px);
  overflow: hidden;
  color: #fff;
  background: #0c1d33;
  text-decoration: none;
  isolation: isolate;
}
.guidance-visual::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(12,29,51,.03) 20%, rgba(12,29,51,.9) 100%);
  transition: background .45s ease;
}
.guidance-visual img {
  width: 112%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  transform: translate3d(-6%,0,0) scale(1.02);
  filter: saturate(.85) contrast(1.04);
  transition: transform .72s cubic-bezier(.2,.72,.2,1), filter .5s ease;
}
.guidance-image-blocks {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.guidance-image-blocks i {
  position: absolute;
  left: -42%;
  display: block;
  height: 2px;
  width: 38%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 0 16px rgba(255,255,255,.22);
  transition: transform .7s cubic-bezier(.2,.72,.2,1);
}
.guidance-image-blocks i:nth-child(1) { top: 25%; transition-delay: .02s; }
.guidance-image-blocks i:nth-child(2) { top: 39%; width: 24%; transition-delay: .09s; }
.guidance-image-blocks i:nth-child(3) { top: 53%; width: 31%; transition-delay: .16s; }
.guidance-visual-copy {
  position: absolute;
  z-index: 3;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.guidance-visual-copy small {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.guidance-visual-copy strong {
  max-width: 330px;
  font-size: clamp(1.25rem, 1.8vw, 1.62rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.guidance-column:hover .guidance-visual img,
.guidance-column:focus-within .guidance-visual img {
  transform: translate3d(0,0,0) scale(1.055);
  filter: saturate(1) contrast(1.08);
}
.guidance-column:hover .guidance-visual::after,
.guidance-column:focus-within .guidance-visual::after {
  background: linear-gradient(180deg, rgba(11,105,185,.06) 10%, rgba(12,29,51,.92) 100%);
}
.guidance-column:hover .guidance-image-blocks i,
.guidance-column:focus-within .guidance-image-blocks i { transform: translateX(385%); }
.guidance-questions {
  display: grid;
  gap: 7px;
  margin-top: 7px;
}
.guidance-questions a {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: start;
  min-height: 92px;
  padding: 21px 20px;
  color: #172b3d;
  border: 1px solid rgba(12,29,51,.07);
  background: #fff;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.guidance-questions a:hover,
.guidance-questions a:focus-visible {
  color: #0b69b9;
  border-color: rgba(11,105,185,.26);
  box-shadow: 0 10px 24px rgba(12,29,51,.08);
  transform: translateX(3px);
}
.guidance-questions span {
  font-size: .94rem;
  font-weight: 680;
  line-height: 1.42;
}
.guidance-questions small {
  padding-top: 2px;
  color: #687480;
  font-size: .67rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: right;
  text-transform: uppercase;
}
.guidance-explore { margin-top: auto; padding-top: 25px; color: #17334a; }

@media (max-width: 1020px) {
  .home-guidance-heading { grid-template-columns: 1fr; gap: 22px; align-items: start; }
  .home-guidance-intro { max-width: 720px; }
  .home-guidance-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .guidance-column:last-child { grid-column: 1 / -1; width: calc(50% - 8px); justify-self: center; }
  .guidance-visual { height: 310px; }
}
@media (max-width: 700px) {
  .home-guidance { padding: 56px 0 62px; }
  .home-guidance-heading { margin-bottom: 30px; }
  .home-guidance-actions { flex-direction: column; align-items: flex-start; }
  .home-guidance-grid { grid-template-columns: 1fr; gap: 38px; }
  .guidance-column:last-child { grid-column: auto; width: 100%; }
  .guidance-visual { height: clamp(245px, 76vw, 330px); }
  .guidance-questions a { min-height: 0; padding: 18px; }
  .guidance-explore { padding-top: 20px; }
}
@media (max-width: 430px) {
  .guidance-questions a { grid-template-columns: 1fr; gap: 7px; }
  .guidance-questions small { text-align: left; }
  .guidance-visual-copy { right: 20px; bottom: 20px; left: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .guidance-visual img,
  .guidance-image-blocks i,
  .guidance-questions a,
  .home-guidance-actions a span,
  .guidance-explore span { transition: none; }
  .guidance-column:hover .guidance-visual img,
  .guidance-column:focus-within .guidance-visual img { transform: translate3d(-6%,0,0) scale(1.02); }
  .guidance-column:hover .guidance-image-blocks i,
  .guidance-column:focus-within .guidance-image-blocks i { transform: none; }
}


/* Premium corporate mega-menu refinement — 2026-10-06. */
.site-header .mega-menu,
.site-header .dropdown-panel {
  border: 0;
  border-top: 3px solid #c5a059;
  border-radius: 0 0 8px 8px;
  color: #263746;
  background: #fff;
  box-shadow: 0 22px 48px rgba(12,29,51,.18);
}
.site-header .mega-intro,
.site-header .sectors-panel-intro,
.site-header .insights-panel-intro,
.site-header .career-panel-intro {
  min-width: 0;
}
.site-header .mega-kicker,
.site-header .sectors-kicker,
.site-header .insights-kicker,
.site-header .career-menu-kicker {
  margin: 0 0 13px;
  color: #0b69b9;
  font-size: .7rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.site-header .mega-intro p:not(.mega-kicker),
.site-header .sectors-panel-intro p:not(.sectors-kicker),
.site-header .insights-panel-intro p:not(.insights-kicker),
.site-header .career-panel-intro > p:not(.career-menu-kicker) {
  margin: 0 0 16px;
  color: #596874;
  font-size: .9rem;
  line-height: 1.65;
}
.site-header .mega-all,
.site-header .sectors-panel-intro .dropdown-primary,
.site-header .insights-panel .insights-all,
.site-header .career-panel .career-explore {
  display: inline-flex;
  width: auto;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin-top: 3px;
  padding: 0 0 4px;
  color: #0c1d33;
  border-bottom: 1px solid rgba(12,29,51,.28);
  border-radius: 0;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: none;
}
.site-header .mega-all:hover,
.site-header .mega-all:focus-visible,
.site-header .sectors-panel-intro .dropdown-primary:hover,
.site-header .sectors-panel-intro .dropdown-primary:focus-visible,
.site-header .insights-panel .insights-all:hover,
.site-header .insights-panel .insights-all:focus-visible,
.site-header .career-panel .career-explore:hover,
.site-header .career-panel .career-explore:focus-visible {
  color: #0b69b9;
  border-bottom-color: #0b69b9;
  background: transparent;
  text-decoration: none;
}
.site-header .mega-groups,
.site-header .insights-panel-groups {
  align-content: start;
}
.site-header .mega-column,
.site-header .insights-group {
  gap: 0;
}
.site-header .mega-service-group {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.site-header .mega-service-group + .mega-service-group {
  margin-top: 0;
  border-top: 1px solid rgba(12,29,51,.08);
}
.site-header .nav-links .mega-menu a.mega-group-link,
.site-header .nav-links .about-mega-menu a.about-team-link,
.site-header .about-menu-heading,
.site-header .insights-group .insights-group-title {
  color: #0b69b9;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.42;
}
.site-header .nav-links .mega-menu .mega-service-group > a.mega-group-link {
  display: flex;
  min-height: 48px;
  align-items: center;
  margin: 0;
  padding: 10px 9px;
  border-radius: 4px;
}
.site-header .nav-links .mega-menu .mega-service-group > a.mega-group-link:hover,
.site-header .nav-links .mega-menu .mega-service-group > a.mega-group-link:focus-visible {
  color: #0c1d33;
  background: #f3f6f8;
  text-decoration: none;
}
.site-header .nav-links .dropdown-panel a,
.site-header .nav-links .about-mega-menu a.about-menu-child,
.site-header .nav-links .insights-panel .insights-group a {
  color: #344857;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.5;
}
.site-header .nav-links .sectors-panel .sectors-link-grid > .dropdown-link,
.site-header .nav-links .sectors-panel .sectors-audiences > .dropdown-link,
.site-header .nav-links .insights-panel .insights-group a {
  min-height: 43px;
  padding: 9px 11px;
  border-radius: 4px;
}
.site-header .nav-links .sectors-panel .sectors-link-grid > .dropdown-link:hover,
.site-header .nav-links .sectors-panel .sectors-link-grid > .dropdown-link:focus-visible,
.site-header .nav-links .sectors-panel .sectors-audiences > .dropdown-link:hover,
.site-header .nav-links .sectors-panel .sectors-audiences > .dropdown-link:focus-visible,
.site-header .nav-links .insights-panel .insights-group a:hover,
.site-header .nav-links .insights-panel .insights-group a:focus-visible {
  color: #0b69b9;
  background: #f3f6f8;
  text-decoration: none;
}
.site-header .about-menu-note {
  max-width: 300px;
  margin-top: 8px;
  color: #65737e;
  font-size: .83rem;
  line-height: 1.6;
}

@media (min-width: 791px) {
  .site-header .mega-menu,
  .site-header .dropdown-panel {
    max-height: min(72vh, 620px);
    padding: 30px max(28px, calc((100vw - 1180px) / 2));
  }
  .site-header .practice-mega-menu,
  .site-header .about-mega-menu {
    grid-template-columns: minmax(220px,.7fr) minmax(0,2.65fr);
    gap: clamp(32px,4vw,58px);
  }
  .site-header .mega-intro,
  .site-header .sectors-panel-intro,
  .site-header .insights-panel-intro,
  .site-header .career-panel-intro {
    padding: 3px clamp(26px,3vw,42px) 3px 0;
    border-right: 1px solid rgba(12,29,51,.12);
  }
  .site-header .practice-mega-menu .mega-groups {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 0 clamp(18px,2.2vw,30px);
  }
  .site-header .about-mega-menu .about-menu-links {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0;
  }
  .site-header .about-menu-links .about-overview-column,
  .site-header .about-menu-links .about-team-column {
    min-height: 120px;
    padding: 5px clamp(18px,2vw,30px);
  }
  .site-header .nav-dropdown:hover > .sectors-panel,
  .site-header .nav-dropdown:focus-within > .sectors-panel,
  .site-header .nav-dropdown.is-expanded > .sectors-panel,
  .site-header .nav-dropdown:hover > .insights-panel,
  .site-header .nav-dropdown:focus-within > .insights-panel,
  .site-header .nav-dropdown.is-expanded > .insights-panel {
    grid-template-columns: minmax(300px,.9fr) minmax(0,1.75fr);
    gap: clamp(32px,4vw,58px);
  }
  .site-header .sectors-panel .sectors-link-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px 14px;
  }
  .site-header .insights-panel-groups {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: clamp(24px,4vw,48px);
  }
  .site-header .career-panel-single {
    grid-template-columns: minmax(320px,520px);
    justify-content: start;
  }
  .site-header .career-panel-single .career-panel-intro {
    padding-right: 0;
    border-right: 0;
  }
}

@media (max-width: 1000px) and (min-width: 791px) {
  .site-header .mega-menu,
  .site-header .dropdown-panel {
    padding-inline: 24px;
  }
  .site-header .practice-mega-menu {
    grid-template-columns: minmax(175px,.62fr) minmax(0,2.7fr);
    gap: 24px;
  }
  .site-header .practice-mega-menu .mega-groups {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 0 18px;
  }
}

@media (max-width: 790px) {
  .site-header .nav-wrap {
    padding: 18px max(18px,calc((100vw - var(--container))/2)) 24px;
  }
  .site-header .nav-links > .nav-dropdown,
  .site-header .nav-links > .nav-services {
    border-bottom: 1px solid #dfe5e9;
  }
  .site-header .dropdown-trigger,
  .site-header .services-trigger {
    min-height: 54px;
    padding: 13px 4px;
    border-bottom: 0;
    color: #0c1d33;
    font-size: 1rem;
    font-weight: 750;
  }
  .site-header .mega-menu,
  .site-header .dropdown-panel {
    padding: 0 0 13px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
  }
  .site-header .mega-intro,
  .site-header .sectors-panel-intro,
  .site-header .insights-panel-intro,
  .site-header .career-panel-intro {
    margin: 4px 0 8px;
    padding: 17px 16px;
    border: 0;
    border-left: 3px solid #c5a059;
    border-radius: 4px;
    background: #f4f6f8;
  }
  .site-header .practice-mega-menu .mega-groups,
  .site-header .about-mega-menu .about-menu-links,
  .site-header .sectors-panel .sectors-link-grid,
  .site-header .sectors-panel .sectors-audiences,
  .site-header .insights-panel-groups,
  .site-header .career-menu-groups {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 4px 4px 0;
  }
  .site-header .nav-links .mega-menu .mega-service-group > a.mega-group-link,
  .site-header .nav-links .about-mega-menu a.about-menu-child,
  .site-header .nav-links .about-mega-menu a.about-team-link,
  .site-header .nav-links .sectors-panel a.dropdown-link,
  .site-header .nav-links .insights-panel .insights-group a {
    min-height: 46px;
    width: 100%;
    padding: 11px 12px;
    font-size: .91rem;
  }
  .site-header .about-menu-links .about-overview-column,
  .site-header .about-menu-links .about-team-column {
    padding: 8px 0;
  }
  .site-header .about-menu-heading,
  .site-header .insights-group .insights-group-title {
    margin: 0;
    padding: 10px 12px 5px;
    font-size: .88rem;
  }
  .site-header .about-menu-note {
    margin: 0;
    padding: 0 12px 12px;
  }
}


/* Enhanced structured practice-area content */
html { scroll-behavior: smooth; }
.practice-main-copy { color: #4b5d6b; }
.practice-main-copy [id] { scroll-margin-top: 28px; }
.practice-introduction { margin-bottom: 30px; padding: clamp(24px,3vw,34px); border-left: 4px solid #b9904d; background: #f5f8fb; }
.practice-introduction p { max-width: 850px; font-size: 1rem; line-height: 1.8; }
.practice-introduction p:last-child { margin-bottom: 0; }
.practice-jump-nav { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin: 0 0 42px; padding: 15px 17px; border: 1px solid rgba(12,29,51,.1); background: #fff; box-shadow: 0 8px 24px rgba(12,29,51,.05); }
.practice-jump-nav > span { margin-right: 5px; color: #6d7780; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.practice-jump-nav a { padding: 9px 13px; color: #0c3457; border: 1px solid rgba(11,105,185,.2); background: #eff6fb; font-size: .82rem; font-weight: 750; line-height: 1.2; text-decoration: none; transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease; }
.practice-jump-nav a:hover,.practice-jump-nav a:focus-visible { color: #fff; border-color: #0b69b9; background: #0b69b9; transform: translateY(-2px); }
.practice-subsection { position: relative; margin-bottom: 58px; }
.practice-subsection + .practice-subsection { padding-top: 46px; border-top: 1px solid rgba(12,29,51,.12); }
.practice-section-number { margin: 0 0 8px !important; color: #9a7335 !important; font-size: .7rem !important; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.practice-copy-section.practice-subsection > h2 { max-width: 780px; margin-bottom: 15px; color: #102c46; font-size: clamp(1.7rem,3vw,2.45rem); letter-spacing: -.025em; }
.practice-lead { max-width: 850px; margin-bottom: 15px !important; color: #354b5b !important; font-size: 1.02rem; line-height: 1.82; }
.practice-lead:empty { display: none; }
.practice-list-intro { margin: 23px 0 12px !important; color: #102c46 !important; font-size: .74rem !important; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.service-scope-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 24px; }
.service-scope-card { position: relative; overflow: hidden; padding: 24px 24px 23px; border: 1px solid rgba(12,29,51,.1); border-top: 3px solid #0b69b9; background: #fff; box-shadow: 0 10px 28px rgba(12,29,51,.055); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.service-scope-card::after { position: absolute; right: -28px; bottom: -36px; width: 86px; height: 86px; content: ''; border: 1px solid rgba(11,105,185,.11); border-radius: 50%; transition: transform .3s ease, border-color .3s ease; }
.service-scope-card:hover { border-color: rgba(11,105,185,.27); box-shadow: 0 16px 38px rgba(12,29,51,.1); transform: translateY(-4px); }
.service-scope-card:hover::after { border-color: rgba(185,144,77,.35); transform: translate(-10px,-8px) scale(1.15); }
.service-scope-card h3 { position: relative; z-index: 1; margin: 0 0 13px; color: #13344f; font-size: 1.04rem; line-height: 1.38; }
.service-scope-card p { position: relative; z-index: 1; margin: 0; color: #52636f; font-size: .91rem; line-height: 1.7; }
.practice-bullet-list { position: relative; z-index: 1; display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.practice-bullet-list li { position: relative; padding-left: 18px; color: #53636e; font-size: .89rem; line-height: 1.62; }
.practice-bullet-list li::before { position: absolute; top: .64em; left: 0; width: 6px; height: 6px; content: ''; border-radius: 50%; background: #b9904d; box-shadow: 0 0 0 3px rgba(185,144,77,.13); }
.site-header .nav-links .mega-menu .mega-service-group > a.mega-child-link { position: relative; padding: 3px 5px 3px 13px; color: #5b6a76; font-size: .69rem; line-height: 1.35; }
.site-header .nav-links .mega-menu .mega-service-group > a.mega-child-link::before { position: absolute; top: .72em; left: 3px; width: 4px; height: 4px; content: ''; border-radius: 50%; background: #b9904d; }
@media (max-width: 1050px) {
  .service-scope-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  html { scroll-behavior: auto; }
  .practice-jump-nav { display: grid; grid-template-columns: 1fr; margin-bottom: 32px; }
  .practice-jump-nav > span { margin-bottom: 2px; }
  .practice-jump-nav a { width: 100%; }
  .practice-introduction { padding: 22px 19px; }
  .practice-subsection { margin-bottom: 42px; }
  .practice-subsection + .practice-subsection { padding-top: 34px; }
  .service-scope-grid { gap: 13px; }
  .service-scope-card { padding: 21px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .service-scope-card,.service-scope-card::after,.practice-jump-nav a { transition: none; }
}

/* October partner and team refinements. */
.partners-showcase {
  color: #0c1d33;
  background: #fff;
  border-top: 1px solid rgba(12,29,51,.08);
}
.partners-showcase::before,
.partners-showcase::after { border-color: rgba(11,105,185,.10); }
.partners-heading { margin-bottom: clamp(28px,3.5vw,42px); }
.partners-heading h2 { margin: 0; color: #0c1d33; }
.partners-viewport { cursor: grab; touch-action: pan-y; user-select: none; }
.partners-viewport.is-dragging { cursor: grabbing; }
.partners-track { transition: none; }
.partner-card { box-shadow: 0 10px 26px rgba(12,29,51,.09); }
.partner-card img { pointer-events: none; -webkit-user-drag: none; user-select: none; }
.partners-control {
  border-color: rgba(12,29,51,.24);
  color: #0b69b9;
  background: #fff;
  box-shadow: 0 6px 18px rgba(12,29,51,.12);
}
.partners-control:hover { box-shadow: 0 8px 24px rgba(12,29,51,.18); }
.partners-control:disabled { opacity: 1; cursor: pointer; }
.site-header .career-panel-single .career-panel-intro {
  width: min(100%,760px);
  margin-inline: 0;
  justify-self: start;
  text-align: left;
}
.team-context-links {
  justify-content: flex-start;
  gap: 18px;
  margin-top: 8px;
}
.team-context-links a {
  min-height: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-decoration: none;
}
.team-context-links a:hover,
.team-context-links a:focus-visible {
  border: 0;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.team-leadership-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
}
.team-leadership-grid .team-leader-card {
  grid-template-columns: 150px minmax(0,1fr);
  gap: 24px;
  height: 100%;
  padding: 27px;
}
.team-leadership-grid .team-leader-card .team-avatar { width: 138px; height: 138px; }
.team-profile-card { min-height: 220px; }
@media (max-width:790px) {
  .team-leadership-grid { grid-template-columns: 1fr; }
}
@media (max-width:540px) {
  .team-context-links { display:flex; width:auto; gap:12px 18px; }
  .team-context-links a { justify-content:flex-start; }
  .team-leadership-grid .team-leader-card { grid-template-columns: 112px minmax(0,1fr); gap: 18px; padding: 21px; }
  .team-leadership-grid .team-leader-card .team-avatar { width: 104px; height: 104px; }
}

/* Sectors: four-link menu rows and image-led sector index. */
.site-header .sectors-menu-lead,
.site-header .sectors-menu-row,
.site-header .sectors-menu-feature { min-width: 0; }
.site-header .sectors-menu-lead .sectors-kicker {
  margin: 0;
  color: #0b69b9;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.site-header .sectors-menu-statement {
  margin: 0;
  color: #263746;
  font-size: clamp(1rem,1.45vw,1.2rem);
  font-weight: 720;
  line-height: 1.45;
}
.site-header .nav-links .sectors-panel-rows .dropdown-primary {
  display: inline-flex;
  width: fit-content;
  justify-content: flex-start;
  padding: 0 0 4px;
  color: #0c1d33;
  border-bottom: 1px solid rgba(12,29,51,.28);
  border-radius: 0;
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}
.site-header .nav-links .sectors-panel-rows .dropdown-primary:hover,
.site-header .nav-links .sectors-panel-rows .dropdown-primary:focus-visible {
  color: #0b69b9;
  border-bottom-color: #0b69b9;
  background: transparent;
}
.site-header .sectors-menu-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px 18px;
  padding: 13px 0;
  border-top: 1px solid rgba(12,29,51,.1);
}
.site-header .nav-links .sectors-menu-row > .dropdown-link {
  min-height: 44px;
  padding: 10px 12px;
  color: #0b69b9;
  border-radius: 4px;
  font-size: .86rem;
  font-weight: 750;
}
.site-header .nav-links .sectors-menu-row > .dropdown-link:hover,
.site-header .nav-links .sectors-menu-row > .dropdown-link:focus-visible {
  color: #0c1d33;
  background: #f3f6f8;
}
.site-header .sectors-menu-feature {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-top: 14px;
  border-top: 1px solid rgba(12,29,51,.1);
}
.site-header .sectors-menu-feature p {
  margin: 0;
  color: #596874;
  font-size: .86rem;
}
.site-header .sectors-menu-feature .sectors-audiences {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.site-header .nav-links .sectors-menu-feature .dropdown-link {
  min-height: 40px;
  padding: 8px 12px;
  color: #0b69b9;
  border: 1px solid rgba(11,105,185,.18);
  background: #f5f9fc;
  font-weight: 750;
}
@media (min-width:791px) {
  .site-header .nav-dropdown:hover > .sectors-panel-rows,
  .site-header .nav-dropdown:focus-within > .sectors-panel-rows,
  .site-header .nav-dropdown.is-expanded > .sectors-panel-rows { display: block; }
  .site-header .sectors-panel-rows {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .site-header .sectors-menu-lead {
    display: grid;
    grid-template-columns: minmax(100px,.36fr) minmax(380px,1.8fr) auto;
    gap: 24px;
    align-items: center;
    padding-bottom: 16px;
  }
}
@media (max-width:900px) and (min-width:791px) {
  .site-header .sectors-menu-lead { grid-template-columns: 90px 1fr auto; gap: 16px; }
  .site-header .sectors-menu-row { gap-inline: 8px; }
  .site-header .nav-links .sectors-menu-row > .dropdown-link { padding-inline: 8px; font-size: .79rem; }
}
@media (max-width:790px) {
  .site-header .sectors-menu-lead {
    margin: 4px 0 8px;
    padding: 17px 16px;
    border-left: 3px solid #c5a059;
    border-radius: 4px;
    background: #f4f6f8;
  }
  .site-header .sectors-menu-statement { margin: 9px 0 13px; font-size: .95rem; }
  .site-header .sectors-menu-row { grid-template-columns: 1fr; gap: 0; padding: 4px; }
  .site-header .sectors-menu-feature { display: block; margin-top: 4px; padding: 15px 12px 4px; }
  .site-header .sectors-menu-feature p { margin-bottom: 10px; }
  .site-header .sectors-menu-feature .sectors-audiences { display: grid; grid-template-columns: 1fr; gap: 5px; }
}

.sectors-index-section { background: #fff; }
.sectors-index-heading { max-width: 850px; margin-bottom: clamp(34px,4vw,52px); }
.sectors-image-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(28px,4vw,52px) clamp(22px,3vw,34px);
}
.sector-image-card {
  min-width: 0;
  scroll-margin-top: 28px;
  background: #fff;
}
.sector-image-card img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: #e8edf1;
  transition: transform .35s ease, filter .35s ease;
}
.sector-image-card > div { padding: 18px 8px 0; }
.sector-image-card h3 {
  margin: 0 0 9px;
  color: #0c1d33;
  font-size: clamp(1.15rem,1.7vw,1.42rem);
  line-height: 1.3;
  letter-spacing: -.018em;
}
.sector-image-card p {
  margin: 0;
  color: #596874;
  font-size: .94rem;
  line-height: 1.67;
}
.sector-image-card:hover img { transform: translateY(-4px); filter: saturate(1.05) contrast(1.02); }
@media (max-width:900px) {
  .sectors-image-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .sectors-image-grid { grid-template-columns: 1fr; gap: 34px; }
  .sector-image-card > div { padding: 15px 2px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .sector-image-card img { transition: none; }
  .sector-image-card:hover img { transform: none; }
}

/* Keep the partner cards unchanged while making each displayed logo 30% narrower. */
.partner-card img {
  width: 70%;
  height: 70%;
  padding: 0;
}


/* Sectors mega-menu: column layout and main service titles only. */
.site-header .sectors-panel-columns .sectors-menu-column { min-width: 0; }
.site-header .sectors-panel-columns .sectors-kicker,
.site-header .sectors-panel-columns .sectors-feature-label {
  margin: 0 0 10px;
  color: #0b69b9;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.site-header .sectors-panel-columns .sectors-menu-statement {
  margin: 0 0 15px;
  color: #263746;
  font-size: 1rem;
  font-weight: 720;
  line-height: 1.48;
}
.site-header .nav-links .sectors-panel-columns .dropdown-primary {
  display: inline-flex;
  width: fit-content;
  justify-content: flex-start;
  padding: 0 0 4px;
  color: #0c1d33;
  border-bottom: 1px solid rgba(12,29,51,.28);
  border-radius: 0;
  font-size: .8rem;
  font-weight: 800;
}
.site-header .nav-links .sectors-panel-columns .dropdown-primary:hover,
.site-header .nav-links .sectors-panel-columns .dropdown-primary:focus-visible {
  color: #0b69b9;
  border-bottom-color: #0b69b9;
  background: transparent;
}
.site-header .sectors-panel-columns .sectors-menu-links { display: grid; align-content: start; gap: 5px; }
.site-header .nav-links .sectors-panel-columns .sectors-menu-links > .dropdown-link {
  min-height: 42px;
  justify-content: flex-start;
  padding: 9px 10px;
  color: #0b69b9;
  font-size: .82rem;
  font-weight: 750;
}
.site-header .nav-links .sectors-panel-columns .sectors-menu-links > .dropdown-link:hover,
.site-header .nav-links .sectors-panel-columns .sectors-menu-links > .dropdown-link:focus-visible {
  color: #0c1d33;
  background: #f3f6f8;
}
.site-header .sectors-panel-columns .sectors-menu-feature {
  display: block;
  padding: 0;
  border: 0;
}
.site-header .sectors-panel-columns .sectors-menu-feature > p:not(.sectors-feature-label) {
  margin: 0 0 13px;
  color: #596874;
  font-size: .82rem;
  line-height: 1.55;
}
.site-header .sectors-panel-columns .sectors-audiences { display: grid; gap: 6px; }
.site-header .nav-links .sectors-panel-columns .sectors-audiences .dropdown-link {
  min-height: 39px;
  justify-content: flex-start;
  padding: 8px 10px;
  color: #0b69b9;
  border: 1px solid rgba(11,105,185,.18);
  background: #f5f9fc;
  font-weight: 750;
}
@media (min-width: 791px) {
  .site-header .nav-dropdown:hover > .sectors-panel-columns,
  .site-header .nav-dropdown:focus-within > .sectors-panel-columns,
  .site-header .nav-dropdown.is-expanded > .sectors-panel-columns {
    display: grid;
    grid-template-columns: minmax(215px,1.18fr) minmax(170px,1fr) minmax(170px,1fr) minmax(215px,1.15fr);
    gap: clamp(20px,2.4vw,38px);
    align-items: start;
  }
  .site-header .sectors-panel-columns { padding: 27px max(24px, calc((100vw - var(--container)) / 2)); }
  .site-header .sectors-panel-columns .sectors-menu-column + .sectors-menu-column {
    min-height: 190px;
    padding-left: clamp(18px,2vw,30px);
    border-left: 1px solid rgba(12,29,51,.1);
  }
}
@media (max-width: 790px) {
  .site-header .sectors-panel-columns { padding: 8px 4px 16px; }
  .site-header .sectors-panel-columns .sectors-menu-column { padding: 14px 12px; }
  .site-header .sectors-panel-columns .sectors-menu-column + .sectors-menu-column { border-top: 1px solid rgba(12,29,51,.1); }
  .site-header .sectors-panel-columns .sectors-menu-intro { border-left: 3px solid #c5a059; background: #f4f6f8; }
}
