:root {
  --svo-paper: #ffffff;
  --svo-white: #ffffff;
  --svo-mist: #edf2f5;
  --svo-night: #071525;
  --svo-ink: #0a1726;
  --svo-muted: #5e6974;
  --svo-blue: var(--brand-action, #1f67e9);
  --svo-blue-light: var(--brand-section-dark, #5fa8ff);
  --svo-line: rgba(10, 23, 38, .18);
  --svo-line-dark: rgba(255, 255, 255, .18);
}

.services-hub { overflow-x: clip; background: var(--svo-paper); color: var(--svo-ink); }
.services-hub .site-header { color: var(--svo-ink); }
.services-hub .utility-bar,
.services-hub .nav-row { border-color: rgba(10, 23, 38, .16); }
.services-hub .utility-inner { color: rgba(10, 23, 38, .56); }
.services-hub .site-header .brand img { filter: none; }
.services-hub .desktop-nav a { color: rgba(10, 23, 38, .7); }
.services-hub .desktop-nav a:hover,
.services-hub .desktop-nav a:focus-visible,
.services-hub .desktop-nav a[aria-current="page"] { color: var(--svo-ink); }
.services-hub .desktop-nav a[aria-current="page"]::after { background: var(--svo-blue); }
.services-hub .nav-cta { border-color: rgba(10, 23, 38, .5); color: var(--svo-ink); }
.services-hub .nav-cta:hover,
.services-hub .nav-cta:focus-visible { border-color: var(--svo-ink); background: var(--svo-ink); color: #fff; }
.services-hub .menu-toggle span { background: var(--svo-ink); }

.svo-kicker,
.svo-eyebrow { margin: 0; color: var(--brand-section, var(--svo-blue)); font: 700 10px/1 var(--sans); letter-spacing: .19em; text-transform: uppercase; }
.svo-kicker-light { color: var(--svo-blue-light); }

/* Hero: an editorial field, not a service menu. */
.svo-hero {
  position: relative;
  min-height: clamp(650px, 82svh, 760px);
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 41%, rgba(31, 103, 233, .12), transparent 27%),
    linear-gradient(137deg, #ffffff 0%, #edf2f5 100%);
}
.svo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(31, 103, 233, .085) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 103, 233, .085) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .18) 33%, #000 100%);
  pointer-events: none;
}
.svo-hero::after {
  content: "SERVICES";
  position: absolute;
  right: -2.7vw;
  bottom: -2.1vw;
  color: rgba(31, 103, 233, .05);
  font: 700 clamp(120px, 17vw, 280px)/.74 var(--sans);
  letter-spacing: -.085em;
  pointer-events: none;
}
.svo-hero-shell {
  position: relative;
  z-index: 1;
  min-height: clamp(650px, 82svh, 760px);
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr);
  grid-template-rows: 1fr auto;
  gap: 24px clamp(70px, 9vw, 158px);
  align-items: center;
  padding-top: clamp(96px, 12svh, 118px);
  padding-bottom: clamp(25px, 3.5svh, 38px);
}
.svo-hero-copy { max-width: 970px; }
.svo-crumb { display: flex; align-items: center; gap: 11px; margin-bottom: clamp(35px, 5svh, 55px); color: rgba(10, 23, 38, .48); font: 650 10px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.svo-crumb a:hover,
.svo-crumb a:focus-visible { color: var(--svo-ink); }
.svo-crumb i { width: 18px; height: 1px; background: rgba(10, 23, 38, .25); }
.svo-crumb strong { color: var(--brand-section, var(--svo-blue)); }
.svo-eyebrow { margin-bottom: 25px; }
.svo-hero h1 { max-width: 990px; margin: 0; font: 500 clamp(52px, 5.8vw, 92px)/.91 var(--sans); letter-spacing: -.065em; }
.svo-hero h1 span { position: relative; display: block; padding-left: clamp(36px, 4.4vw, 72px); color: var(--svo-blue); font: inherit; }
.svo-hero h1 span::before { content: ""; position: absolute; left: 0; top: .5em; width: clamp(22px, 3vw, 48px); height: 1px; background: var(--svo-blue); }
.svo-hero-thesis { max-width: 760px; margin: 31px 0 0; color: #465662; font-size: clamp(17px, 1.24vw, 21px); line-height: 1.62; }
.svo-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 35px; }
.svo-action-primary,
.svo-action-secondary { min-width: 230px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 17px 19px; border: 1px solid; font-size: 14px; font-weight: 600; letter-spacing: .025em; transition: transform .25s var(--ease), color .25s, background .25s, border-color .25s; }
.svo-action-primary { border-color: var(--svo-blue); background: var(--svo-blue); color: #fff; }
.svo-action-primary:hover,
.svo-action-primary:focus-visible { border-color: var(--brand-action-hover, var(--svo-blue-light)); background: var(--brand-action-hover, var(--svo-blue-light)); color: var(--svo-night); transform: translateY(-2px); }
.svo-action-secondary { border-color: rgba(31, 103, 233, .46); color: var(--svo-blue); }
.svo-action-secondary:hover,
.svo-action-secondary:focus-visible { border-color: var(--svo-blue); background: var(--svo-blue); color: #fff; transform: translateY(-2px); }

.svo-thread { position: relative; align-self: center; border-top: 1px solid rgba(10, 23, 38, .24); }
.svo-thread::before { content: ""; position: absolute; left: 53px; top: 64px; bottom: 45px; width: 1px; background: linear-gradient(var(--svo-blue), rgba(31, 103, 233, .06)); }
.svo-thread-label { margin: 0; padding: 20px 0 17px; border-bottom: 1px solid rgba(10, 23, 38, .24); color: #5e6974; font: 700 9px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.svo-thread > a { position: relative; min-height: 128px; display: grid; grid-template-columns: 105px minmax(0, 1fr) 20px; gap: 19px; align-items: center; overflow: hidden; padding: 22px 7px 22px 0; border-bottom: 1px solid rgba(10, 23, 38, .24); transition: padding .28s var(--ease), background .28s; }
.svo-thread > a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(31, 103, 233, .075)); opacity: 0; transform: translateX(-14%); transition: opacity .3s, transform .4s var(--ease); pointer-events: none; }
.svo-thread > a::before { content: ""; position: absolute; z-index: 2; left: 49px; width: 9px; height: 9px; border: 2px solid var(--svo-blue); background: var(--svo-paper); transform: rotate(45deg); transition: background .25s, transform .3s var(--ease); }
.svo-thread > a > * { position: relative; z-index: 1; }
.svo-thread > a:hover,
.svo-thread > a:focus-visible { padding-left: 12px; background: rgba(255, 255, 255, .5); }
.svo-thread > a:hover::after,
.svo-thread > a:focus-visible::after { opacity: 1; transform: none; }
.svo-thread > a:hover::before,
.svo-thread > a:focus-visible::before { background: var(--svo-blue); transform: rotate(135deg); }
.svo-thread > a > span { color: var(--brand-section, var(--svo-blue)); font: 700 9px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.svo-thread strong { display: block; margin-bottom: 8px; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.svo-thread small { display: block; max-width: 350px; color: #5e6974; font-size: 13px; line-height: 1.5; }
.svo-thread i { color: var(--svo-blue); font-style: normal; transition: transform .25s; }
.svo-thread > a:hover i,
.svo-thread > a:focus-visible i { transform: translate(3px, -3px); }
.svo-hero-foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 20px; color: #5e6974; font: 700 8.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.svo-hero-foot i { width: clamp(34px, 5vw, 80px); height: 1px; background: rgba(10, 23, 38, .21); }

/* Sticky narrative navigation. */
.svo-jump { position: sticky; top: 0; z-index: 35; border-top: 1px solid var(--svo-line); border-bottom: 1px solid var(--svo-line); background: rgba(247, 245, 240, .95); backdrop-filter: blur(16px); }
.svo-jump .shell { min-height: 61px; display: flex; align-items: center; justify-content: center; gap: clamp(22px, 3.4vw, 53px); overflow-x: auto; scrollbar-width: none; }
.svo-jump .shell::-webkit-scrollbar { display: none; }
.svo-jump span { flex: none; color: #75818a; font: 700 9px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.svo-jump a { position: relative; flex: none; padding: 22px 0; color: #34434f; font-size: 13px; font-weight: 650; }
.svo-jump a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--svo-blue); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.svo-jump a:hover,
.svo-jump a:focus-visible,
.svo-jump a.is-active { color: var(--svo-blue); }
.svo-jump a.is-active::after { transform: scaleX(1); }

/* Immersive business premise. */
.svo-premise { position: relative; overflow: hidden; padding: clamp(110px, 12vw, 178px) 0; background: var(--svo-night); color: #fff; scroll-margin-top: 60px; }
.svo-premise::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(3, 12, 22, .99) 0%, rgba(3, 12, 22, .94) 49%, rgba(3, 12, 22, .69) 100%), url("assets/advisory-market-placeholder.webp") center 42% / cover no-repeat; }
.svo-premise::after { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(255, 255, 255, .12); pointer-events: none; }
.svo-premise .shell { position: relative; z-index: 1; }
.svo-premise-intro { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, .62fr); gap: clamp(70px, 10vw, 170px); align-items: end; }
.svo-premise h2 { max-width: 980px; margin: 20px 0 0; font: 500 clamp(36px, 3.8vw, 58px)/1 var(--sans); letter-spacing: -.055em; }
.svo-premise-intro > p { max-width: 560px; margin: 0; color: rgba(255, 255, 255, .66); font-size: 15px; line-height: 1.84; }
.svo-brief { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 92px 0 0; border-top: 1px solid rgba(255, 255, 255, .42); border-bottom: 1px solid var(--svo-line-dark); }
.svo-brief::before { content: ""; position: absolute; top: -1px; left: 0; width: 34%; height: 1px; background: linear-gradient(90deg, var(--svo-blue-light), rgba(95, 168, 255, 0)); }
.svo-brief > div { position: relative; min-height: 302px; padding: 31px 27px 34px; border-right: 1px solid var(--svo-line-dark); background: linear-gradient(180deg, rgba(4, 14, 25, .18), rgba(4, 14, 25, .42)); }
.svo-brief > div:first-child { padding-left: 0; }
.svo-brief > div:last-child { padding-right: 0; border-right: 0; }
.svo-brief > div::before { content: ""; position: absolute; top: -5px; left: 27px; width: 9px; height: 9px; background: var(--svo-blue-light); transform: rotate(45deg); }
.svo-brief > div:first-child::before { left: 0; }
.svo-brief dt { color: var(--svo-blue-light); font: 700 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.svo-brief dd { max-width: 270px; margin: 105px 0 0; color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.72; }

/* Stakeholder-controlled decision field. */
.svo-perspectives { position: relative; overflow: hidden; padding: clamp(110px, 12vw, 178px) 0; background: var(--svo-paper); scroll-margin-top: 60px; }
.svo-perspectives::before { content: ""; position: absolute; right: -150px; top: 80px; width: 430px; height: 430px; border: 1px solid rgba(31, 103, 233, .15); border-radius: 50%; box-shadow: 0 0 0 72px rgba(31, 103, 233, .032), 0 0 0 144px rgba(31, 103, 233, .018); pointer-events: none; }
.svo-perspectives > .shell { position: relative; z-index: 1; }
.svo-section-head { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .58fr); gap: clamp(70px, 10vw, 170px); align-items: end; margin-bottom: 74px; }
.svo-section-head h2 { max-width: 940px; margin: 21px 0 0; font: 500 clamp(36px, 3.8vw, 58px)/1.01 var(--sans); letter-spacing: -.055em; }
.svo-section-head > p { max-width: 560px; margin: 0; color: var(--svo-muted); font-size: 15px; line-height: 1.82; }
.svo-perspective-stage { position: relative; display: grid; grid-template-columns: 250px minmax(0, 1fr); border: 1px solid var(--svo-ink); background: #fff; box-shadow: 0 36px 86px rgba(7, 21, 37, .1); }
.svo-perspective-stage::before { content: "ACTIVE DECISION FIELD"; position: absolute; top: -29px; right: 0; color: #75818a; font: 700 13px/1 var(--sans); letter-spacing: .17em; }
.svo-perspective-tabs { display: flex; flex-direction: column; border-right: 1px solid var(--svo-ink); background: #edf2f5; }
.svo-perspective-tabs button { position: relative; flex: 1; min-height: 153px; display: grid; align-content: center; gap: 12px; padding: 27px 31px; border: 0; border-bottom: 1px solid var(--svo-line); background: transparent; color: #5e6974; text-align: left; cursor: pointer; transition: color .25s, background .25s, padding .25s var(--ease); }
.svo-perspective-tabs button:last-child { border-bottom: 0; }
.svo-perspective-tabs button::after { content: "\2192"; position: absolute; right: 25px; color: var(--svo-blue); opacity: 0; transform: translateX(-8px); transition: opacity .25s, transform .25s; }
.svo-perspective-tabs button span { font: 540 29px/1 var(--sans); letter-spacing: -.04em; }
.svo-perspective-tabs button small { max-width: 150px; font-size: 8.5px; font-weight: 700; line-height: 1.4; letter-spacing: .09em; text-transform: uppercase; }
.svo-perspective-tabs button:hover,
.svo-perspective-tabs button:focus-visible { padding-left: 37px; background: rgba(31, 103, 233, .055); color: var(--svo-ink); }
.svo-perspective-tabs button[aria-selected="true"] { background: var(--svo-blue); color: #fff; }
.svo-perspective-tabs button[aria-selected="true"]::after { color: #fff; opacity: 1; transform: none; }
.svo-perspective-panels { min-width: 0; }
.svo-perspective-panel { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(310px, .68fr); animation: svo-panel-in .38s var(--ease) both; }
.svo-perspective-panel[hidden] { display: none; }
@keyframes svo-panel-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
.svo-panel-thesis { min-height: 460px; display: flex; flex-direction: column; justify-content: center; padding: clamp(48px, 6vw, 84px); border-right: 1px solid var(--svo-line); }
.svo-panel-thesis > p:first-child,
.svo-panel-routes > p { margin: 0; color: var(--brand-section, var(--svo-blue)); font: 700 9px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.svo-panel-thesis h3 { max-width: 760px; margin: 38px 0 27px; font: 500 clamp(36px, 3.8vw, 58px)/1.02 var(--sans); letter-spacing: -.052em; }
.svo-panel-thesis > p:last-child { max-width: 700px; margin: 0; color: var(--svo-muted); font-size: 15px; line-height: 1.82; }
.svo-panel-routes { padding: 35px 31px; }
.svo-panel-routes > p { margin-bottom: 23px; color: #75818a; }
.svo-panel-routes a { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; align-items: center; padding: 20px 4px; border-top: 1px solid var(--svo-line); transition: padding .25s, color .25s; }
.svo-panel-routes a:last-child { border-bottom: 1px solid var(--svo-line); }
.svo-panel-routes a::after { content: "\2197"; grid-column: 2; grid-row: 1 / span 2; color: var(--svo-blue); }
.svo-panel-routes a:hover,
.svo-panel-routes a:focus-visible { padding-left: 11px; color: var(--svo-blue); }
.svo-panel-routes span { color: #76828b; font-size: 13px; }
.svo-panel-routes strong { grid-row: 2; font-size: 14px; font-weight: 650; }
.svo-panel-bridge { grid-column: 1 / -1; margin: 0; padding: 23px clamp(32px, 6vw, 84px); border-top: 1px solid var(--svo-ink); background: #edf2f5; color: #4a5964; font-size: 14px; line-height: 1.7; }
.svo-panel-bridge a { color: var(--svo-blue); border-bottom: 1px solid rgba(31, 103, 233, .4); font-weight: 650; }

/* The three disciplines read as one continuous vertical story. */
.svo-disciplines { padding: clamp(110px, 12vw, 178px) 0; background: var(--svo-night); color: #fff; scroll-margin-top: 60px; }
.svo-disciplines-grid { display: grid; grid-template-columns: minmax(310px, .54fr) minmax(0, 1.26fr); gap: clamp(70px, 11vw, 184px); align-items: start; }
.svo-disciplines-intro { position: sticky; top: 110px; }
.svo-disciplines-intro h2 { max-width: 650px; margin: 22px 0 28px; font: 500 clamp(36px, 3.8vw, 58px)/1.01 var(--sans); letter-spacing: -.055em; }
.svo-disciplines-intro > p:not(.svo-kicker) { max-width: 520px; margin: 0; color: rgba(255, 255, 255, .59); font-size: 15px; line-height: 1.82; }
.svo-disciplines-intro > a { display: inline-flex; align-items: center; gap: 25px; margin-top: 37px; padding-bottom: 6px; border-bottom: 1px solid rgba(255, 255, 255, .5); color: #fff; font-size: 13px; font-weight: 700; }
.svo-disciplines-intro > a span { color: var(--svo-blue-light); }
.svo-disciplines-intro > a:hover,
.svo-disciplines-intro > a:focus-visible { border-color: var(--svo-blue-light); color: var(--svo-blue-light); }
.svo-discipline-flow { position: relative; border-top: 1px solid var(--svo-line-dark); }
.svo-discipline-flow::before { content: ""; position: absolute; top: 0; bottom: 0; left: -54px; width: 1px; background: linear-gradient(var(--svo-blue-light), rgba(95, 168, 255, .12) 72%, transparent); }
.svo-discipline-flow article { position: relative; min-height: 490px; display: flex; flex-direction: column; justify-content: center; overflow: visible; padding: 66px 0; border-bottom: 1px solid var(--svo-line-dark); }
.svo-discipline-flow article::before { content: ""; position: absolute; z-index: 2; left: -59px; top: 50%; width: 11px; height: 11px; border: 2px solid var(--svo-blue-light); background: var(--svo-night); transform: translateY(-50%) rotate(45deg); transition: background .35s, box-shadow .35s, transform .35s var(--ease); }
.svo-discipline-flow article.is-current::before { background: var(--svo-blue-light); box-shadow: 0 0 0 9px rgba(95, 168, 255, .1); transform: translateY(-50%) rotate(135deg); }
.svo-discipline-flow article > * { position: relative; z-index: 1; }
.svo-discipline-flow header { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.svo-discipline-flow header > span { color: var(--svo-blue-light); font: 700 9px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.svo-discipline-flow header > a { display: inline-flex; gap: 20px; padding-bottom: 5px; border-bottom: 1px solid rgba(255, 255, 255, .4); color: rgba(255, 255, 255, .78); font-size: 13px; font-weight: 700; }
.svo-discipline-flow header i { color: var(--svo-blue-light); font-style: normal; }
.svo-discipline-flow header > a:hover,
.svo-discipline-flow header > a:focus-visible { border-color: var(--svo-blue-light); color: var(--svo-blue-light); }
.svo-discipline-flow h3 { max-width: 820px; margin: 72px 0 24px; font: 500 clamp(36px, 3.8vw, 58px)/1.02 var(--sans); letter-spacing: -.05em; }
.svo-discipline-flow article > p { max-width: 740px; margin: 0; color: rgba(255, 255, 255, .6); font-size: 15px; line-height: 1.78; }
.svo-discipline-flow nav { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 45px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .13); }
.svo-discipline-flow nav a { padding-bottom: 5px; border-bottom: 1px solid rgba(255, 255, 255, .36); color: rgba(255, 255, 255, .82); font-size: 13px; font-weight: 650; }
.svo-discipline-flow nav a::after { content: " \2197"; color: var(--svo-blue-light); }
.svo-discipline-flow nav a:hover,
.svo-discipline-flow nav a:focus-visible { border-color: var(--svo-blue-light); color: var(--svo-blue-light); }

/* Institutional context intersection: the asset and market are separate analytical lenses. */
.svo-context { position: relative; overflow: hidden; padding: clamp(110px, 12vw, 178px) 0; background: var(--svo-mist); scroll-margin-top: 60px; }
.svo-context::before { content: ""; position: absolute; inset: 0 0 auto auto; width: 52%; height: 62%; background: linear-gradient(rgba(31, 103, 233, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 103, 233, .07) 1px, transparent 1px); background-size: 74px 74px; mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.svo-context > .shell { position: relative; z-index: 1; }
.svo-context-head { display: grid; grid-template-columns: minmax(180px, .34fr) minmax(0, 1.66fr); gap: clamp(55px, 8vw, 132px); align-items: start; margin-bottom: 82px; }
.svo-context-head > .svo-kicker { margin-top: 13px; }
.svo-context-head > div { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .5fr); gap: clamp(55px, 8vw, 132px); align-items: end; }
.svo-context-head h2 { max-width: 980px; margin: 0; font: 500 clamp(36px, 3.8vw, 58px)/.98 var(--sans); letter-spacing: -.06em; }
.svo-context-head > div > p { max-width: 560px; margin: 0 0 6px; color: var(--svo-muted); font-size: 15px; line-height: 1.8; }
.svo-intersection { display: grid; grid-template-columns: 240px minmax(0, 1fr) 300px; border: 1px solid var(--svo-ink); background: #fff; box-shadow: 0 42px 95px rgba(7, 21, 37, .14); }
.svo-context-axis { min-width: 0; background: #fff; }
.svo-context-axis > header { min-height: 120px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 25px 22px; border-bottom: 1px solid var(--svo-ink); }
.svo-context-axis header span,
.svo-intersection-core > header span { color: var(--brand-section, var(--svo-blue)); font: 700 8.5px/1 var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.svo-context-axis header p { max-width: 180px; margin: 14px 0 0; color: #79858e; font-size: 13px; line-height: 1.45; }
.svo-context-axis header a { flex: none; display: inline-flex; gap: 12px; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--svo-blue); font-size: 13px; font-weight: 700; }
.svo-context-axis header i { font-style: normal; }
.svo-context-properties { border-right: 1px solid var(--svo-ink); }
.svo-context-properties nav { display: flex; flex-direction: column; }
.svo-context-properties nav a { position: relative; min-height: 64px; display: grid; align-content: center; gap: 6px; overflow: hidden; padding: 13px 21px; border-bottom: 1px solid var(--svo-line); transition: padding .24s var(--ease), color .24s, background .24s; }
.svo-context-properties nav a:last-child { border-bottom: 0; }
.svo-context-properties nav a::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--svo-blue); transform: scaleY(0); transition: transform .24s var(--ease); }
.svo-context-properties nav a::after { content: "\2192"; position: absolute; right: 18px; color: var(--svo-blue); opacity: 0; transform: translateX(-7px); transition: opacity .24s, transform .24s; }
.svo-context-properties nav a:hover,
.svo-context-properties nav a:focus-visible { padding-left: 28px; color: var(--svo-blue); background: rgba(31, 103, 233, .055); }
.svo-context-properties nav a.is-active { padding-left: 28px; background: var(--svo-blue); color: #fff; }
.svo-context-properties nav a.is-active::before { transform: scaleY(1); }
.svo-context-properties nav a:hover::after,
.svo-context-properties nav a:focus-visible::after,
.svo-context-properties nav a.is-active::after { opacity: 1; transform: none; }
.svo-context-properties nav a.is-active::after { color: #fff; }
.svo-context-properties nav strong { font-size: 15px; font-weight: 610; letter-spacing: -.015em; }
.svo-context-properties nav span { color: #7a858d; font-size: 13px; line-height: 1.35; }
.svo-context-properties nav a.is-active span { color: rgba(255, 255, 255, .68); }

.svo-intersection-core { min-width: 0; display: grid; grid-template-rows: 120px minmax(520px, 1fr) auto; background: var(--svo-night); color: #fff; }
.svo-intersection-core > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 25px 32px; border-bottom: 1px solid rgba(255, 255, 255, .22); }
.svo-intersection-core > header span { color: var(--svo-blue-light); }
.svo-intersection-core > header p { margin: 0; color: rgba(255,255,255,.56); font-size: 13px; }
.svo-intersection-stage { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(40px, 4.8vw, 72px); }
.svo-intersection-stage::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(95, 168, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(95, 168, 255, .055) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(145deg, #000, transparent 78%); pointer-events: none; }
.svo-intersection-stage > * { position: relative; z-index: 1; }
.svo-intersection-label { margin: 0 0 38px; color: var(--svo-blue-light); font: 700 8.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.svo-context-equation { display: grid; grid-template-columns: minmax(0, 1fr) 45px minmax(0, 1fr); gap: 20px; align-items: center; }
.svo-context-equation > a { min-width: 0; padding: 22px 0 24px; border-top: 1px solid rgba(255, 255, 255, .38); border-bottom: 1px solid rgba(255, 255, 255, .18); transition: color .25s, padding .25s; }
.svo-context-equation > a:hover,
.svo-context-equation > a:focus-visible { padding-left: 10px; color: var(--svo-blue-light); }
.svo-context-equation span { display: block; margin-bottom: 14px; color: rgba(255,255,255,.56); font: 700 8px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.svo-context-equation strong { display: block; overflow-wrap: anywhere; font: 490 clamp(30px, 3vw, 45px)/1.02 var(--sans); letter-spacing: -.045em; }
.svo-context-equation > i { color: var(--svo-blue-light); font: 300 27px/1 var(--sans); font-style: normal; text-align: center; }
.svo-intersection-thesis { max-width: 720px; margin: 41px 0 0; color: rgba(255, 255, 255, .76); font: 480 clamp(20px, 1.7vw, 27px)/1.4 var(--sans); letter-spacing: -.022em; }
.svo-context-readings { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 38px; padding-top: 27px; border-top: 1px solid rgba(255, 255, 255, .14); }
.svo-context-readings span { color: rgba(255,255,255,.56); font: 700 8px/1 var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.svo-context-readings p { max-width: 420px; margin: 15px 0 0; color: rgba(255, 255, 255, .56); font-size: 13px; line-height: 1.65; }
.svo-context-response { display: grid; grid-template-columns: 120px repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, .25); background: rgba(3, 11, 20, .38); }
.svo-context-response > span { display: flex; align-items: center; padding: 20px 22px; color: rgba(255,255,255,.56); font: 700 7.5px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.svo-context-response a { position: relative; min-height: 92px; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 18px 34px 18px 19px; border-left: 1px solid rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .78); font-size: 13px; transition: color .25s, background .25s, padding .25s; }
.svo-context-response a::after { content: "\2197"; position: absolute; right: 17px; top: 50%; color: var(--svo-blue-light); transform: translateY(-50%); }
.svo-context-response a:hover,
.svo-context-response a:focus-visible { padding-left: 25px; background: rgba(95, 168, 255, .07); color: #fff; }
.svo-context-response b { color: var(--svo-blue-light); font: 700 7.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }

.svo-context-markets { border-left: 1px solid var(--svo-ink); background: #ffffff; }
.svo-context-markets nav { min-height: 640px; display: grid; grid-template-rows: repeat(3, 1fr); }
.svo-context-markets nav a { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr) 18px; gap: 18px; align-items: center; padding: 29px 23px; border-bottom: 1px solid var(--svo-line); transition: padding .26s var(--ease), color .26s, background .26s; }
.svo-context-markets nav a:last-child { border-bottom: 0; }
.svo-context-markets nav a::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--svo-blue); transform: scaleX(0); transform-origin: left; transition: transform .26s var(--ease); }
.svo-context-markets nav a:hover,
.svo-context-markets nav a:focus-visible { padding-left: 31px; color: var(--svo-blue); background: rgba(31, 103, 233, .055); }
.svo-context-markets nav a.is-active { background: #edf2f5; color: var(--svo-ink); }
.svo-context-markets nav a:hover::before,
.svo-context-markets nav a:focus-visible::before,
.svo-context-markets nav a.is-active::before { transform: scaleX(1); }
.svo-context-markets nav b { color: var(--svo-blue); font: 520 28px/1 var(--sans); letter-spacing: -.05em; }
.svo-context-markets nav strong { display: block; margin-bottom: 11px; font-size: 15px; font-weight: 610; }
.svo-context-markets nav span { display: block; color: #7a858d; font-size: 13px; line-height: 1.45; }
.svo-context-markets nav > a > i { color: var(--svo-blue); font-style: normal; transition: transform .25s; }
.svo-context-markets nav a:hover > i,
.svo-context-markets nav a:focus-visible > i { transform: translateX(4px); }

/* Question-led internal routes. */
.svo-questions { padding: clamp(110px, 12vw, 178px) 0; background: #fff; scroll-margin-top: 60px; }
.svo-questions-grid { display: grid; grid-template-columns: minmax(310px, .52fr) minmax(0, 1.18fr); gap: clamp(70px, 11vw, 184px); align-items: start; }
.svo-questions-intro { position: sticky; top: 110px; }
.svo-questions-intro h2 { max-width: 650px; margin: 22px 0 28px; font: 500 clamp(36px, 3.8vw, 58px)/1.01 var(--sans); letter-spacing: -.055em; }
.svo-questions-intro > p:not(.svo-kicker) { max-width: 500px; margin: 0; color: var(--svo-muted); font-size: 15px; line-height: 1.82; }
.svo-question-rows { border-top: 1px solid var(--svo-ink); }
.svo-question-rows a { min-height: 122px; display: grid; grid-template-columns: 120px minmax(0, 1fr) 20px; gap: 28px; align-items: center; padding: 25px 5px; border-bottom: 1px solid var(--svo-line); transition: padding .27s var(--ease), background .27s; }
.svo-question-rows a:hover,
.svo-question-rows a:focus-visible { padding-right: 18px; padding-left: 18px; background: rgba(31, 103, 233, .05); }
.svo-question-rows span { color: var(--brand-section, var(--svo-blue)); font: 700 9px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.svo-question-rows strong { max-width: 760px; font: 500 clamp(20px, 1.8vw, 27px)/1.28 var(--sans); letter-spacing: -.025em; }
.svo-question-rows i { color: var(--svo-blue); font-style: normal; transition: transform .25s; }
.svo-question-rows a:hover i,
.svo-question-rows a:focus-visible i { transform: translate(3px, -3px); }

/* Global blue closing CTA. */
.svo-close { position: relative; overflow: hidden; padding: clamp(95px, 10vw, 145px) 0; background: var(--svo-blue); color: #fff; }
.svo-close::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px); background-size: 82px 82px; mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.svo-close-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(65px, 10vw, 170px); align-items: end; }
.svo-close h2 { max-width: 950px; margin: 22px 0 25px; font: 500 clamp(36px, 3.8vw, 58px)/1 var(--sans); letter-spacing: -.057em; }
.svo-close p:not(.svo-kicker) { max-width: 720px; margin: 0; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 1.75; }
.svo-close-grid > a { min-width: 275px; display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 19px 20px; border: 1px solid rgba(255, 255, 255, .8); color: #fff; font-size: 13px; font-weight: 700; transition: color .25s, background .25s, transform .25s; }
.svo-close-grid > a:hover,
.svo-close-grid > a:focus-visible { background: #fff; color: var(--svo-blue); transform: translateY(-2px); }

@media (max-width: 1180px) {
  .svo-hero-shell { grid-template-columns: minmax(0, 1.05fr) minmax(345px, .72fr); gap: 55px; }
  .svo-hero h1 { font-size: clamp(58px, 6.4vw, 82px); }
  .svo-thread > a { grid-template-columns: 92px minmax(0, 1fr) 18px; }
  .svo-thread::before { left: 46px; }
  .svo-thread > a::before { left: 42px; }
  .svo-disciplines-grid,
  .svo-questions-grid { gap: 80px; }
  .svo-context-head { grid-template-columns: 1fr; gap: 30px; }
  .svo-context-head > .svo-kicker { margin-top: 0; }
  .svo-intersection { grid-template-columns: 210px minmax(0, 1fr) 270px; }
  .svo-context-axis > header { min-height: 132px; align-items: flex-start; flex-direction: column; }
  .svo-intersection-core { grid-template-rows: 132px minmax(520px, 1fr) auto; }
  .svo-context-equation strong { font-size: clamp(28px, 3vw, 39px); }
}

@media (max-width: 980px) {
  .svo-hero { min-height: auto; }
  .svo-hero-shell { min-height: auto; grid-template-columns: 1fr; grid-template-rows: auto; gap: 60px; padding-top: 112px; padding-bottom: 34px; }
  .svo-hero-copy { max-width: 840px; }
  .svo-hero h1 { font-size: clamp(52px, 5.8vw, 86px); }
  .svo-thread { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--svo-line); }
  .svo-thread::before { display: none; }
  .svo-thread-label { grid-column: 1 / -1; padding-left: 20px; }
  .svo-thread > a { min-height: 165px; grid-template-columns: 1fr auto; align-content: center; gap: 12px 20px; padding: 27px 24px; border-right: 1px solid var(--svo-line); }
  .svo-thread > a::before { display: none; }
  .svo-thread > a > span { grid-column: 1 / -1; }
  .svo-thread > a i { grid-column: 2; grid-row: 2; }
  .svo-thread > a:hover,
  .svo-thread > a:focus-visible { padding-left: 30px; }
  .svo-hero-foot { margin-top: 7px; }
  .svo-premise-intro,
  .svo-section-head { grid-template-columns: 1fr; gap: 30px; }
  .svo-brief { grid-template-columns: 1fr 1fr; }
  .svo-brief > div { min-height: 250px; }
  .svo-brief dd { margin-top: 75px; }
  .svo-perspective-stage { grid-template-columns: 1fr; }
  .svo-perspective-tabs { flex-direction: row; border-right: 0; border-bottom: 1px solid var(--svo-ink); }
  .svo-perspective-tabs button { min-height: 110px; border-right: 1px solid var(--svo-line); border-bottom: 0; }
  .svo-perspective-tabs button:last-child { border-right: 0; }
  .svo-disciplines-grid,
  .svo-questions-grid { grid-template-columns: 1fr; gap: 70px; }
  .svo-disciplines-intro,
  .svo-questions-intro { position: static; }
  .svo-disciplines-intro h2,
  .svo-questions-intro h2 { max-width: 850px; }
  .svo-context-head > div { grid-template-columns: 1fr; gap: 30px; }
  .svo-intersection { grid-template-columns: 1fr; }
  .svo-context-properties { border-right: 0; border-bottom: 1px solid var(--svo-ink); }
  .svo-context-properties nav { display: grid; grid-template-columns: repeat(5, 1fr); }
  .svo-context-properties nav a { min-height: 92px; border-right: 1px solid var(--svo-line); }
  .svo-context-properties nav a:nth-child(5n) { border-right: 0; }
  .svo-context-properties nav a:nth-last-child(-n + 5) { border-bottom: 0; }
  .svo-context-properties nav a::after { display: none; }
  .svo-intersection-core { grid-template-rows: 110px minmax(500px, 1fr) auto; }
  .svo-intersection-core > header { padding: 24px 30px; }
  .svo-context-markets { border-top: 1px solid var(--svo-ink); border-left: 0; }
  .svo-context-markets nav { min-height: 0; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; }
  .svo-context-markets nav a { min-height: 165px; border-right: 1px solid var(--svo-line); border-bottom: 0; }
  .svo-context-markets nav a:last-child { border-right: 0; }
  .svo-close-grid { grid-template-columns: 1fr; gap: 45px; }
  .svo-close-grid > a { width: min(100%, 390px); }
}

@media (max-width: 700px) {
  .svo-hero-shell { gap: 48px; padding-top: 82px; padding-bottom: 28px; }
  .svo-crumb { margin-bottom: 35px; }
  .svo-hero h1 { font-size: clamp(48px, 13vw, 66px); line-height: .95; }
  .svo-hero-thesis { font-size: 16px; }
  .svo-actions { flex-direction: column; }
  .svo-action-primary,
  .svo-action-secondary { width: 100%; min-width: 0; }
  .svo-thread { grid-template-columns: 1fr; }
  .svo-thread-label { grid-column: 1; }
  .svo-thread > a { min-height: 126px; border-right: 0; }
  .svo-hero-foot { display: none; }
  .svo-jump .shell { justify-content: flex-start; padding-right: 22px; padding-left: 22px; }
  .svo-premise,
  .svo-perspectives,
  .svo-disciplines,
  .svo-context,
  .svo-questions { padding: 88px 0; }
  .svo-premise::after { inset: 10px; }
  .svo-premise h2,
  .svo-section-head h2,
  .svo-disciplines-intro h2,
  .svo-context-head h2,
  .svo-questions-intro h2 { font-size: clamp(41px, 11vw, 58px); }
  .svo-brief { grid-template-columns: 1fr; margin-top: 60px; border-top: 0; border-bottom: 0; border-left: 1px solid rgba(255, 255, 255, .42); }
  .svo-brief::before { top: 0; bottom: auto; left: -1px; width: 1px; height: 42%; background: linear-gradient(var(--svo-blue-light), rgba(95, 168, 255, 0)); }
  .svo-brief > div,
  .svo-brief > div:first-child,
  .svo-brief > div:last-child { min-height: 0; padding: 28px 24px 31px 30px; border-right: 0; border-bottom: 1px solid var(--svo-line-dark); }
  .svo-brief > div:last-child { border-bottom: 0; }
  .svo-brief > div::before,
  .svo-brief > div:first-child::before { top: 30px; left: -5px; }
  .svo-brief dd { max-width: none; margin-top: 37px; }
  .svo-perspective-tabs { overflow-x: auto; scrollbar-width: none; }
  .svo-perspective-tabs::-webkit-scrollbar { display: none; }
  .svo-perspective-tabs button { flex: none; width: 190px; min-height: 104px; padding: 24px; }
  .svo-perspective-tabs button:hover,
  .svo-perspective-tabs button:focus-visible { padding-left: 28px; }
  .svo-perspective-panel { grid-template-columns: 1fr; }
  .svo-panel-thesis { min-height: 0; padding: 48px 28px; border-right: 0; border-bottom: 1px solid var(--svo-line); }
  .svo-panel-thesis h3 { font-size: clamp(39px, 10vw, 55px); }
  .svo-panel-routes { padding: 31px 24px; }
  .svo-panel-bridge { grid-column: 1; padding: 22px 28px; }
  .svo-discipline-flow article { min-height: 0; padding: 58px 0; }
  .svo-discipline-flow::before,
  .svo-discipline-flow article::before { display: none; }
  .svo-discipline-flow header { align-items: flex-start; flex-direction: column; gap: 20px; }
  .svo-discipline-flow h3 { margin-top: 64px; font-size: clamp(38px, 10vw, 52px); }
  .svo-context-head { margin-bottom: 55px; }
  .svo-intersection { box-shadow: 0 24px 55px rgba(7, 21, 37, .1); }
  .svo-context-axis > header { min-height: 0; padding: 27px 23px; }
  .svo-context-properties nav { grid-template-columns: 1fr 1fr; }
  .svo-context-properties nav a { min-height: 88px; padding: 18px 20px; border-right: 1px solid var(--svo-line); border-bottom: 1px solid var(--svo-line); }
  .svo-context-properties nav a:nth-child(5n) { border-right: 1px solid var(--svo-line); }
  .svo-context-properties nav a:nth-child(even) { border-right: 0; }
  .svo-context-properties nav a:nth-last-child(-n + 5) { border-bottom: 1px solid var(--svo-line); }
  .svo-context-properties nav a:nth-last-child(-n + 2) { border-bottom: 0; }
  .svo-context-properties nav a:hover,
  .svo-context-properties nav a:focus-visible,
  .svo-context-properties nav a.is-active { padding-left: 25px; }
  .svo-intersection-core { grid-template-rows: auto; }
  .svo-intersection-core > header { min-height: 92px; align-items: flex-start; flex-direction: column; gap: 12px; padding: 24px; }
  .svo-intersection-stage { padding: 52px 24px; }
  .svo-context-equation { grid-template-columns: 1fr; gap: 15px; }
  .svo-context-equation > i { transform: rotate(45deg); }
  .svo-context-equation strong { font-size: clamp(34px, 10vw, 46px); }
  .svo-intersection-thesis { margin-top: 34px; font-size: 20px; }
  .svo-context-readings { grid-template-columns: 1fr; gap: 24px; }
  .svo-context-response { grid-template-columns: 1fr; }
  .svo-context-response > span { min-height: 62px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
  .svo-context-response a { min-height: 75px; border-bottom: 1px solid rgba(255, 255, 255, .16); border-left: 0; }
  .svo-context-response a:last-child { border-bottom: 0; }
  .svo-context-markets nav { grid-template-columns: 1fr; }
  .svo-context-markets nav a { min-height: 136px; border-right: 0; border-bottom: 1px solid var(--svo-line); }
  .svo-context-markets nav a:last-child { border-bottom: 0; }
  .svo-question-rows a { min-height: 118px; grid-template-columns: 78px minmax(0, 1fr) 15px; gap: 18px; }
  .svo-question-rows strong { font-size: 19px; }
  .svo-close { padding: 88px 0; }
  .svo-close h2 { font-size: clamp(43px, 11vw, 60px); }
  .svo-close-grid > a { width: 100%; min-width: 0; }
}

@media (max-width: 420px) {
  .svo-hero h1 { font-size: 45px; }
  .svo-hero-thesis { font-size: 15px; }
  .svo-thread > a { grid-template-columns: minmax(0, 1fr) auto; padding: 24px 20px; }
  .svo-premise h2,
  .svo-section-head h2,
  .svo-disciplines-intro h2,
  .svo-context-head h2,
  .svo-questions-intro h2 { font-size: 40px; }
  .svo-panel-thesis { padding-right: 22px; padding-left: 22px; }
  .svo-panel-thesis h3 { font-size: 38px; }
  .svo-context-properties nav { grid-template-columns: 1fr; }
  .svo-context-properties nav a,
  .svo-context-properties nav a:nth-child(5n),
  .svo-context-properties nav a:nth-child(even),
  .svo-context-properties nav a:nth-last-child(-n + 5),
  .svo-context-properties nav a:nth-last-child(-n + 2) { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--svo-line); }
  .svo-context-properties nav a:last-child { border-bottom: 0; }
  .svo-question-rows a { grid-template-columns: 1fr 15px; gap: 12px; padding: 24px 3px; }
  .svo-question-rows span { grid-column: 1; }
  .svo-question-rows strong { grid-column: 1; }
  .svo-question-rows i { grid-column: 2; grid-row: 1 / span 2; }
}

@media (prefers-reduced-motion: reduce) {
  .svo-perspective-panel { animation: none; }
  .svo-thread > a,
  .svo-perspective-tabs button,
  .svo-panel-routes a,
  .svo-context-properties nav a,
  .svo-context-markets nav a,
  .svo-question-rows a { transition: none; }
}
