:root {
  --here-purple: #ab60f6;
  --here-green: #61d16c;
  --here-bg: #101012;
  --here-surface: #181818;
  --here-text: #fafafa;
  --here-muted: #a5a5ab;
  --here-line: rgb(255 255 255 / 0.1);
  --here-shell: 92px;
}

html {
  scroll-behavior: smooth;
  cursor: auto !important;
  background: var(--here-bg);
}

body.modern-structure {
  min-height: 100vh;
  background: var(--here-bg) !important;
  color: var(--here-text);
}

body.modern-structure .cursor-dot,
body.modern-structure .cursor-outline,
body.modern-structure #preloader,
body.modern-structure #starfield,
body.modern-structure .noise-overlay,
body.modern-structure [data-legacy-shell] {
  display: none !important;
}

body.modern-structure #gradient-background {
  pointer-events: none;
  opacity: 0.35 !important;
  background:
    radial-gradient(circle at 12% 20%, rgb(171 96 246 / 0.12), transparent 28%),
    radial-gradient(circle at 88% 42%, rgb(97 209 108 / 0.07), transparent 24%) !important;
}

.structure-shell {
  position: fixed;
  z-index: 10050;
  top: 0;
  right: 0;
  left: 0;
  height: var(--here-shell);
  border-bottom: 1px solid transparent;
  background: transparent;
  transition: border-color 180ms ease, background 180ms ease;
}

.structure-shell.is-scrolled,
.structure-shell.is-open {
  border-color: var(--here-line);
  background: rgb(16 16 18 / 0.95);
  backdrop-filter: blur(18px);
}

.structure-shell__inner {
  display: flex;
  width: min(100% - 48px, 1344px);
  height: 100%;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
}

.structure-shell__brand {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
}

.structure-shell__brand img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.structure-shell__brand span {
  font: 700 30px/1 'Bebas Neue Pro', sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.structure-shell__brand b { color: var(--here-purple); }

.structure-shell__nav {
  display: flex;
  align-items: center;
  gap: 26px;
}

.structure-shell__nav a {
  color: var(--here-muted);
  font-size: 13px;
  text-decoration: none;
  transition: color 160ms ease;
}

.structure-shell__nav a:hover,
.structure-shell__nav a[aria-current="page"] { color: #fff; }

.structure-shell__cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--here-purple);
  color: #fff !important;
  padding: 0 22px;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.structure-shell__toggle {
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--here-line);
  border-radius: 999px;
  background: transparent;
  color: #fff;
}

.structure-shell__toggle svg { width: 24px; height: 24px; }

.structure-mobile-menu {
  position: fixed;
  z-index: 10040;
  inset: 0;
  display: none;
  flex-direction: column;
  padding: 112px 24px 28px;
  background: var(--here-surface);
}

.structure-mobile-menu.is-open { display: flex; }

.structure-mobile-menu nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.structure-mobile-menu nav a {
  border-bottom: 1px solid var(--here-line);
  color: #fff;
  padding: 10px 0;
  font: 700 clamp(42px, 13vw, 68px)/0.95 'Bebas Neue Pro', sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}

.structure-mobile-menu__cta {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--here-purple);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.structure-shell-spacer { height: var(--here-shell); }

body.modern-structure main {
  width: min(100% - 48px, 1344px) !important;
  max-width: 1344px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: 48px !important;
}

body.modern-structure main#content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
}

body.modern-structure main > header:first-child,
body.modern-structure main > section:first-child {
  scroll-margin-top: calc(var(--here-shell) + 24px);
}

body.modern-structure h1,
body.modern-structure h2,
body.modern-structure h3,
body.modern-structure .font-heading {
  letter-spacing: 0.035em !important;
}

body.modern-structure h1 {
  text-wrap: balance;
}

body.modern-structure p,
body.modern-structure li {
  text-wrap: pretty;
}

body.modern-structure .card-glow,
body.modern-structure article,
body.modern-structure .article-content,
body.modern-structure .bg-white\/5,
body.modern-structure .bg-\[\#202020\]\/80 {
  border-color: var(--here-line) !important;
  background-color: var(--here-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.modern-structure .card-glow::before { display: none !important; }

body.modern-structure .btn-modern,
body.modern-structure .btn-primary,
body.modern-structure .cookie-btn {
  min-height: 48px;
  border-radius: 999px !important;
  color: #fff !important;
}

body.modern-structure .cookie-notification {
  right: 16px !important;
  bottom: 16px !important;
  max-width: 320px !important;
  border-color: var(--here-line) !important;
  border-radius: 18px !important;
  background: rgb(24 24 24 / 0.97) !important;
  padding: 18px !important;
}

body.modern-structure .cookie-notification h4 {
  margin-bottom: 4px !important;
  font-size: 14px !important;
}

body.modern-structure .cookie-notification p {
  margin-bottom: 12px !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

.structure-vanilla-cookie {
  position: fixed;
  z-index: 10100;
  right: 16px;
  bottom: 16px;
  width: min(320px, calc(100vw - 32px));
  border: 1px solid var(--here-line);
  border-radius: 18px;
  background: rgb(24 24 24 / 0.97);
  padding: 18px;
  box-shadow: 0 20px 60px rgb(0 0 0 / 0.4);
}

.structure-vanilla-cookie strong { display: block; font-size: 14px; }
.structure-vanilla-cookie p { margin: 6px 0 12px; color: var(--here-muted); font-size: 11px; line-height: 1.5; }
.structure-vanilla-cookie button { width: 100%; min-height: 44px; border: 0; border-radius: 999px; background: var(--here-purple); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }

body.modern-structure footer {
  border-top: 1px solid var(--here-line) !important;
  background: var(--here-bg) !important;
}

body.modern-structure a:focus-visible,
body.modern-structure button:focus-visible,
body.modern-structure input:focus-visible {
  outline: 2px solid var(--here-green) !important;
  outline-offset: 3px;
}

/* Standalone editorial pages */
@font-face { font-family: 'Core Sans'; font-weight: 300; src: url('/fonts/CoreSansC-35Light.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'Core Sans'; font-weight: 400; src: url('/fonts/CoreSansC-45Regular.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'Core Sans'; font-weight: 700; src: url('/fonts/CoreSansC-65Bold.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'Bebas Neue Pro'; font-weight: 700; src: url('/fonts/BebasNeuePro-Bold.woff2') format('woff2'); font-display: swap; }

body.modern-structure {
  margin: 0;
  font-family: 'Core Sans', sans-serif;
}

.ms-page {
  width: min(100% - 48px, 1344px) !important;
  margin: 0 auto !important;
  padding: 64px 0 120px !important;
}

.ms-hero {
  display: grid;
  min-height: min(760px, calc(100vh - var(--here-shell)));
  align-content: center;
  border-bottom: 1px solid var(--here-line);
  padding: 72px 0;
}

.ms-hero > *,
.ms-home-grid > *,
.ms-section__head > * { min-width: 0; }

.ms-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--here-line);
  border-radius: 999px;
  margin-bottom: 48px;
  padding: 10px 14px;
  color: var(--here-muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ms-status span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--here-green);
  box-shadow: 0 0 0 5px rgb(97 209 108 / 0.12);
}

.ms-eyebrow,
.ms-kicker {
  margin: 0 0 18px;
  color: var(--here-purple);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ms-hero h1 {
  max-width: 1100px;
  margin: 0;
  font: 700 clamp(88px, 11.8vw, 178px)/0.78 'Bebas Neue Pro', sans-serif;
  letter-spacing: 0.01em !important;
  text-transform: uppercase;
}

.ms-hero h1 em,
.ms-section__head h2 em { color: var(--here-purple); font-style: normal; }

.ms-lead {
  max-width: 720px;
  margin: 40px 0 0;
  color: var(--here-muted);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 300;
  line-height: 1.45;
}

.ms-home-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--here-line);
  border: 1px solid var(--here-line);
}

.ms-feature {
  display: flex;
  min-height: 430px;
  flex-direction: column;
  background: var(--here-surface);
  color: #fff;
  padding: clamp(28px, 4vw, 56px);
  text-decoration: none;
  transition: background 180ms ease, color 180ms ease;
}

.ms-feature--wide { grid-column: span 2; min-height: 500px; }
.ms-feature--knowledge { background: #151816; box-shadow: inset 0 3px 0 var(--here-green); }
.ms-feature--purple { background: var(--here-purple); }
.ms-feature:hover { background: #222226; }
.ms-feature--knowledge:hover { background: #1a211b; }
.ms-feature--purple:hover { background: #984ce7; }
.ms-feature > span { color: currentColor; font-size: 11px; font-weight: 700; letter-spacing: 0.16em; opacity: 0.58; text-transform: uppercase; }
.ms-feature h2 { max-width: 900px; margin: auto 0 24px; font: 700 clamp(52px, 7vw, 104px)/0.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-feature p { max-width: 640px; margin: 0; color: currentColor; font-size: 15px; line-height: 1.7; opacity: 0.65; }
.ms-feature b { margin-top: 32px; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
.ms-feature--knowledge b { color: var(--here-green); }

.ms-direction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-direction-card { position: relative; isolation: isolate; display: flex; min-height: 430px; flex-direction: column; overflow: hidden; background: var(--here-surface); color: #fff; padding: clamp(30px, 4vw, 54px); text-decoration: none; transition: transform 180ms ease; }
.ms-direction-card:hover { z-index: 2; transform: translateY(-5px); }
.ms-direction-card > span { font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ms-direction-card h3 { margin: auto 0 20px; font: 700 clamp(62px, 8vw, 112px)/.8 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-direction-card p { max-width: 580px; margin: 0; color: currentColor; font-size: 14px; line-height: 1.65; opacity: .7; }
.ms-direction-card b { margin-top: 34px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.ms-direction-card--design { background: #f4f3ef; color: #181818; }
.ms-direction-card--marketing { background: var(--here-purple); }
.ms-direction-card--development { background: radial-gradient(circle at 82% 14%, rgb(97 209 108 / .14), transparent 28%), #151719; }
.ms-direction-card--development > span,
.ms-direction-card--development b { color: var(--here-green); }
.ms-direction-card--video::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgb(10 10 12 / .3), rgb(10 10 12 / .94)); content: ''; }
.ms-direction-card--video > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.ms-direction-card--video:hover > img { transform: scale(1.035); }
.ms-direction-card--video > span { color: var(--here-purple); }

.ms-product-bridge__panel { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); border: 1px solid var(--here-line); background: var(--here-line); gap: 1px; }
.ms-product-bridge__copy { display: flex; min-width: 0; min-height: 560px; flex-direction: column; background: var(--here-purple); padding: clamp(34px, 5vw, 68px); }
.ms-product-bridge__copy > span { color: rgb(255 255 255 / .72); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ms-product-bridge__copy h3 { max-width: 760px; margin: auto 0 28px; font: 700 clamp(58px, 7vw, 104px)/.82 'Bebas Neue Pro', sans-serif; overflow-wrap: anywhere; text-transform: uppercase; }
.ms-product-bridge__copy > p { max-width: 680px; margin: 0; color: rgb(255 255 255 / .78); font-size: 15px; line-height: 1.75; }
.ms-product-bridge__copy .ms-button { border-color: #fff; background: #fff; color: #181818; }
.ms-product-bridge__copy .ms-button:hover { border-color: #181818; background: #181818; color: #fff; }
.ms-product-bridge__copy .ms-button--secondary { background: transparent; color: #fff; }
.ms-product-bridge__map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--here-line); gap: 1px; }
.ms-product-bridge__map article { display: flex; min-width: 0; min-height: 279px; flex-direction: column; background: var(--here-surface); padding: 30px; }
.ms-product-bridge__map span { color: var(--here-purple); font: 700 30px/1 'Bebas Neue Pro', sans-serif; }
.ms-product-bridge__map strong { margin: auto 0 18px; font: 700 clamp(32px, 3vw, 46px)/.9 'Bebas Neue Pro', sans-serif; overflow-wrap: anywhere; text-transform: uppercase; }
.ms-product-bridge__map p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.65; }

.ms-history-preview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); }
.ms-history-preview article { min-width: 0; border-right: 1px solid var(--here-line); padding: 32px 28px 36px; }
.ms-history-preview article:last-child { border-right: 0; }
.ms-history-preview span { display: block; color: var(--here-purple); font: 700 clamp(56px, 6vw, 86px)/1 'Bebas Neue Pro', sans-serif; }
.ms-history-preview small { display: block; min-height: 14px; margin-top: 12px; color: var(--here-green); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ms-history-preview h3 { min-height: 64px; margin: 44px 0 18px; font: 700 clamp(30px, 3vw, 44px)/.92 'Bebas Neue Pro', sans-serif; overflow-wrap: anywhere; text-transform: uppercase; }
.ms-history-preview p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.65; }

.ms-section { padding: 120px 0; border-bottom: 1px solid var(--here-line); }
.ms-section__head { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 64px; }
.ms-section__head .ms-eyebrow { grid-column: 1 / -1; }
.ms-section__head h2 { max-width: 800px; margin: 0; font: 700 clamp(66px, 8vw, 118px)/0.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-section__head h2.ms-compact-title { font-size: clamp(52px, 6.6vw, 96px); }
.ms-section__head > p:last-child { max-width: 560px; align-self: end; margin: 0; color: var(--here-muted); font-size: 16px; line-height: 1.7; }

@media (min-width: 1024px) {
  .ms-lawyer-intro .ms-section__head { grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); gap: 48px; }
  .ms-lawyer-intro .ms-section__head h2 { font-size: clamp(64px, 6.1vw, 88px); }
}

.ms-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--here-line); }
.ms-card { display: flex; min-height: 330px; flex-direction: column; border-right: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); color: #fff; padding: 32px; text-decoration: none; transition: background 180ms ease; }
.ms-card:nth-child(3n) { border-right: 0; }
.ms-card:hover { background: var(--here-surface); }
.ms-card > span { color: var(--here-purple); font: 700 28px/1 'Bebas Neue Pro', sans-serif; }
.ms-card h3 { margin: auto 0 18px; font: 700 clamp(38px, 4vw, 54px)/0.92 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-card p { min-height: 48px; margin: 0; color: var(--here-muted); font-size: 13px; line-height: 1.6; }
.ms-card b { margin-top: 24px; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }

.ms-grid { display: grid; gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ms-panel { display: flex; min-height: 520px; flex-direction: column; background: var(--here-surface); padding: clamp(32px, 5vw, 64px); }
.ms-panel--accent { background: #fafafa; color: #181818; }
.ms-panel .ms-number { color: var(--here-purple); font: 700 50px/1 'Bebas Neue Pro', sans-serif; }
.ms-panel h2 { margin: auto 0 28px; font: 700 clamp(52px, 6vw, 88px)/0.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-panel p { max-width: 600px; margin: 0; color: var(--here-muted); font-size: 15px; line-height: 1.75; }
.ms-panel--accent p { color: rgb(24 24 24 / 0.62); }
.ms-list { display: grid; gap: 0; padding: 0; margin: auto 0 0; list-style: none; counter-reset: steps; }
.ms-list li { display: grid; grid-template-columns: 44px 1fr; align-items: center; border-top: 1px solid var(--here-line); padding: 22px 0; color: #fff; font-size: 15px; counter-increment: steps; }
.ms-list li::before { content: '0' counter(steps); color: var(--here-purple); font: 700 22px/1 'Bebas Neue Pro', sans-serif; }

.ms-design-intro { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); padding: 0; }
.ms-design-statement { display: flex; min-height: 560px; flex-direction: column; background: var(--here-purple); color: #fff; padding: clamp(34px, 5vw, 68px); }
.ms-design-statement .ms-number { color: rgb(255 255 255 / .68); }
.ms-design-statement .ms-kicker { margin: 26px 0 0; color: rgb(255 255 255 / .72); }
.ms-design-statement h2 { max-width: 700px; margin: auto 0 32px; font: 700 clamp(60px, 7vw, 104px)/.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-design-statement > p:last-child { max-width: 640px; margin: 0; color: rgb(255 255 255 / .82); font-size: 15px; line-height: 1.7; }
.ms-design-capabilities { display: grid; gap: 1px; background: var(--here-line); }
.ms-design-capabilities article { display: grid; min-height: 186px; grid-template-columns: 48px 1fr; gap: 24px; align-items: end; background: var(--here-surface); padding: 34px; }
.ms-design-capabilities article > span { align-self: start; color: var(--here-purple); font: 700 30px/1 'Bebas Neue Pro', sans-serif; }
.ms-design-capabilities h3 { margin: 0 0 12px; font: 700 clamp(34px, 3.6vw, 50px)/.9 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-design-capabilities p { margin: 0; color: var(--here-muted); font-size: 13px; line-height: 1.6; }
.ms-design-showcase { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-design-case { position: relative; display: flex; min-height: 520px; flex-direction: column; overflow: hidden; background: var(--here-surface); color: #fff; padding: clamp(30px, 4vw, 52px); text-decoration: none; }
.ms-design-case--brand { grid-column: span 7; background: #f4f3ef; color: #181818; }
.ms-design-case--product { grid-column: span 5; background: linear-gradient(145deg, #7f3af8, #ab60f6); }
.ms-design-case--structure { grid-column: span 12; min-height: 350px; flex-direction: row; align-items: end; justify-content: space-between; gap: 48px; background: radial-gradient(circle at 76% 50%, rgb(171 96 246 / .22), transparent 25%), #111114; }
.ms-design-case > span,
.ms-design-case--structure > div > span { font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ms-design-case h3 { max-width: 720px; margin: 34px 0 18px; font: 700 clamp(58px, 7vw, 100px)/.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-design-case p { max-width: 620px; margin: 0; color: currentColor; font-size: 14px; line-height: 1.65; opacity: .68; }
.ms-design-case > strong,
.ms-design-case--structure > div > strong { margin-top: auto; padding-top: 30px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.ms-design-mark { display: flex; align-items: center; margin: auto 0; }
.ms-design-mark img { width: min(100%, 440px); height: auto; }
.ms-design-ui { display: grid; min-height: 180px; grid-template-columns: 64px 1fr; grid-template-rows: 34px 1fr 54px; gap: 1px; margin: auto 0 34px; border: 1px solid rgb(255 255 255 / .28); background: rgb(255 255 255 / .28); box-shadow: 0 26px 70px rgb(52 9 100 / .24); }
.ms-design-ui i { display: block; background: rgb(36 16 54 / .58); }
.ms-design-ui i:nth-child(1) { grid-row: 1 / span 3; }
.ms-design-ui i:nth-child(2) { grid-column: 2; }
.ms-design-ui i:nth-child(3) { grid-column: 2; background: rgb(255 255 255 / .13); }
.ms-design-ui i:nth-child(4) { grid-column: 2; }
.ms-design-years { display: flex; flex: 0 1 520px; align-items: center; gap: 24px; color: var(--here-purple); font: 700 clamp(54px, 7vw, 92px)/1 'Bebas Neue Pro', sans-serif; }
.ms-design-years i { height: 1px; flex: 1; background: linear-gradient(90deg, var(--here-purple), var(--here-green)); }
.ms-design-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--here-line); }
.ms-design-process article { display: flex; min-height: 300px; flex-direction: column; border-right: 1px solid var(--here-line); padding: 28px; }
.ms-design-process article:last-child { border-right: 0; }
.ms-design-process span { color: var(--here-purple); font: 700 32px/1 'Bebas Neue Pro', sans-serif; }
.ms-design-process h3 { margin: auto 0 16px; font: 700 clamp(34px, 3.4vw, 48px)/.88 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-design-process p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.6; }
.ms-marketing-loop { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--here-line); }
.ms-marketing-loop article { display: flex; min-height: 330px; flex-direction: column; border-right: 1px solid var(--here-line); padding: 28px; }
.ms-marketing-loop article:last-child { border-right: 0; }
body.modern-structure .ms-marketing-loop article:nth-child(2) { background-color: #f4f3ef !important; color: #181818; }
body.modern-structure .ms-marketing-loop article:nth-child(3) { background-color: var(--here-purple) !important; color: #fff; }
.ms-marketing-loop span { color: var(--here-purple); font: 700 32px/1 'Bebas Neue Pro', sans-serif; }
.ms-marketing-loop article:nth-child(2) span { color: #181818; }
.ms-marketing-loop article:nth-child(3) span { color: rgb(255 255 255 / .68); }
.ms-marketing-loop h3 { margin: auto 0 16px; font: 700 clamp(42px, 4.6vw, 62px)/.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-marketing-loop p { margin: 0; color: currentColor; font-size: 12px; line-height: 1.65; opacity: .68; }
.ms-marketing-proof { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
body.modern-structure .ms-marketing-proof > article { display: flex; min-height: 620px; flex-direction: column; background-color: var(--here-purple) !important; color: #fff; padding: clamp(34px, 5vw, 68px); }
.ms-marketing-proof h2 { margin: auto 0 28px; font: 700 clamp(72px, 9vw, 132px)/.78 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-marketing-proof h2 em { color: #fff; font-style: normal; opacity: .72; }
.ms-marketing-proof article > p:last-of-type { max-width: 680px; margin: 0; color: rgb(255 255 255 / .78); font-size: 15px; line-height: 1.7; }
.ms-marketing-proof article > a { margin-top: 34px; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.ms-marketing-proof__flow { display: grid; align-content: center; justify-items: stretch; background: var(--here-surface); padding: clamp(30px, 5vw, 64px); text-align: center; }
.ms-marketing-proof__flow > span { border: 1px solid var(--here-line); border-radius: 999px; color: #fff; padding: 22px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ms-marketing-proof__flow > i { color: var(--here-purple); padding: 12px; font: 700 28px/1 'Bebas Neue Pro', sans-serif; font-style: normal; }
.ms-marketing-proof__flow > small { margin-top: 36px; color: var(--here-muted); font-size: 11px; line-height: 1.65; text-align: left; }
.ms-marketing-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-marketing-services article { display: flex; min-height: 470px; flex-direction: column; background: var(--here-surface); padding: clamp(28px, 4vw, 48px); }
body.modern-structure .ms-marketing-services article:first-child { background-color: #f4f3ef !important; color: #181818; }
body.modern-structure .ms-marketing-services article:nth-child(2) { background-color: #17141b !important; }
body.modern-structure .ms-marketing-services article:nth-child(3) { background-color: #121816 !important; }
.ms-marketing-services span { color: var(--here-purple); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ms-marketing-services article:nth-child(3) span { color: var(--here-green); }
.ms-marketing-services h3 { margin: auto 0 20px; font: 700 clamp(52px, 6vw, 78px)/.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-marketing-services p { margin: 0 0 28px; color: currentColor; font-size: 13px; line-height: 1.65; opacity: .68; }
.ms-marketing-services ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.ms-marketing-services li { border-top: 1px solid currentColor; padding: 14px 0; font-size: 11px; opacity: .62; }
.ms-marketing-iteration { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--here-line); border-left: 1px solid var(--here-line); }
.ms-marketing-iteration article { min-height: 270px; border-right: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); padding: 28px; }
.ms-marketing-iteration span { color: var(--here-purple); font: 700 34px/1 'Bebas Neue Pro', sans-serif; }
.ms-marketing-iteration h3 { margin: 92px 0 14px; font: 700 clamp(34px, 3.5vw, 48px)/.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-marketing-iteration p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.6; }
.ms-development-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-development-offer { display: flex; min-width: 0; min-height: 470px; flex-direction: column; color: #fff; padding: clamp(30px, 4vw, 52px); text-decoration: none; transition: transform 180ms ease; }
.ms-development-offer:hover { z-index: 1; transform: translateY(-5px); }
.ms-development-offer--product { background: #f4f3ef; color: #181818; }
.ms-development-offer--box { background: var(--here-purple); }
.ms-development-offer--connections { background: radial-gradient(circle at 82% 18%, rgb(97 209 108 / .16), transparent 30%), #121816; }
.ms-development-offer--infrastructure { background: radial-gradient(circle at 18% 82%, rgb(171 96 246 / .16), transparent 32%), #151519; }
.ms-development-offer > span { font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ms-development-offer--connections > span { color: var(--here-green); }
.ms-development-offer--infrastructure > span { color: var(--here-purple); }
.ms-development-offer h3 { margin: auto 0 20px; font: 700 clamp(66px, 8vw, 108px)/.8 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-development-offer p { max-width: 620px; margin: 0; color: currentColor; font-size: 14px; line-height: 1.65; opacity: .7; }
.ms-development-offer strong { margin-top: 34px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.ms-development-head h2 { font-size: clamp(58px, 6.8vw, 96px); }
.ms-development-case { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-development-case__copy { display: flex; min-height: 640px; flex-direction: column; background: var(--here-purple); color: #fff; padding: clamp(34px, 5vw, 68px); }
.ms-development-case__copy .ms-eyebrow { color: rgb(255 255 255 / .72); }
.ms-development-case__copy h2 { margin: auto 0 28px; font: 700 clamp(76px, 9vw, 132px)/.78 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-development-case__copy > p:not(.ms-eyebrow) { max-width: 700px; margin: 0; color: rgb(255 255 255 / .8); font-size: 15px; line-height: 1.7; }
.ms-development-case__copy > a { margin-top: 34px; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.ms-development-case__route { display: grid; align-content: center; background: var(--here-surface); padding: clamp(30px, 5vw, 64px); }
.ms-development-case__route > span { display: grid; min-height: 76px; grid-template-columns: 48px 1fr; align-items: center; border: 1px solid var(--here-line); border-radius: 999px; color: var(--here-purple); padding: 0 26px; font: 700 20px/1 'Bebas Neue Pro', sans-serif; }
.ms-development-case__route b { color: #fff; font: 700 14px/1.2 'Core Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.ms-development-case__route > i { color: var(--here-green); padding: 11px; font: 700 25px/1 'Bebas Neue Pro', sans-serif; font-style: normal; text-align: center; }
.ms-development-control { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--here-line); border-left: 1px solid var(--here-line); }
.ms-development-control article { display: flex; min-height: 340px; flex-direction: column; border-right: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); padding: 28px; }
body.modern-structure .ms-development-control article:nth-child(2) { background-color: #f4f3ef !important; color: #181818; }
body.modern-structure .ms-development-control article:nth-child(3) { background-color: #121816 !important; }
.ms-development-control span { color: var(--here-purple); font: 700 34px/1 'Bebas Neue Pro', sans-serif; }
.ms-development-control article:nth-child(2) span { color: #181818; }
.ms-development-control article:nth-child(3) span { color: var(--here-green); }
.ms-development-control h3 { margin: auto 0 16px; font: 700 clamp(36px, 3.8vw, 52px)/.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-development-control p { margin: 0; color: currentColor; font-size: 12px; line-height: 1.65; opacity: .66; }
.ms-development-control__actions { margin-top: 32px; }
.ms-development-stack { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); overflow: hidden; background: #f4f3ef; color: #181818; }
.ms-development-stack > div:first-child { display: flex; min-height: 620px; flex-direction: column; padding: clamp(34px, 5vw, 68px); }
.ms-development-stack .ms-eyebrow { color: #7f3af8; }
.ms-development-stack h2 { margin: auto 0 28px; font: 700 clamp(76px, 9vw, 128px)/.78 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-development-stack p:not(.ms-eyebrow) { max-width: 720px; margin: 0; color: rgb(24 24 24 / .68); font-size: 15px; line-height: 1.7; }
.ms-development-stack .ms-button { width: fit-content; margin-top: 34px; }
.ms-development-stack__visual { display: grid; align-content: center; justify-items: center; background: radial-gradient(circle at 50% 50%, rgb(97 209 108 / .16), transparent 40%), #17121d; padding: clamp(34px, 5vw, 68px); }
.ms-development-stack__visual span { display: grid; width: min(100%, 360px); min-height: 72px; place-items: center; border: 1px solid rgb(255 255 255 / .16); border-radius: 999px; color: #fff; padding: 14px 20px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.ms-development-stack__visual i { width: 1px; height: 34px; background: linear-gradient(var(--here-purple), var(--here-green)); }
.ms-development-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--here-line); }
.ms-development-process article { display: flex; min-height: 300px; flex-direction: column; border-right: 1px solid var(--here-line); padding: 28px; }
.ms-development-process article:last-child { border-right: 0; }
.ms-development-process span { color: var(--here-purple); font: 700 32px/1 'Bebas Neue Pro', sans-serif; }
.ms-development-process h3 { margin: auto 0 16px; font: 700 clamp(34px, 3.4vw, 48px)/.88 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-development-process p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.6; }
.ms-role-scope { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--here-line); border-left: 1px solid var(--here-line); }
.ms-role-scope article { display: flex; min-width: 0; min-height: 350px; flex-direction: column; border-right: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); padding: 28px; }
body.modern-structure .ms-role-scope article:nth-child(2) { background-color: #f4f3ef !important; color: #181818; }
body.modern-structure .ms-role-scope article:nth-child(3) { background-color: var(--here-purple) !important; color: #fff; }
.ms-role-scope span { color: var(--here-purple); font: 700 34px/1 'Bebas Neue Pro', sans-serif; }
.ms-role-scope article:nth-child(2) span { color: #181818; }
.ms-role-scope article:nth-child(3) span { color: rgb(255 255 255 / .7); }
.ms-role-scope h3 { margin: auto 0 16px; font: 700 clamp(42px, 4vw, 56px)/.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-role-scope h3.ms-fit-heading { font-size: clamp(34px, 3.45vw, 48px); }
.ms-role-scope p { margin: 0; color: currentColor; font-size: 12px; line-height: 1.65; opacity: .68; }
.ms-role-result { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-role-result__copy { display: flex; min-height: 630px; flex-direction: column; background: #f4f3ef; color: #181818; padding: clamp(34px, 5vw, 68px); }
.ms-role-result__copy .ms-eyebrow { color: #7f3af8; }
.ms-role-result__copy h2 { margin: auto 0 28px; font: 700 clamp(76px, 9vw, 132px)/.78 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-role-result__copy h2.ms-fit-route-title { font-size: clamp(62px, 7.2vw, 110px); }
.ms-role-result__copy > p:not(.ms-eyebrow) { max-width: 700px; margin: 0; color: rgb(24 24 24 / .68); font-size: 15px; line-height: 1.7; }
.ms-role-result__route { display: grid; align-content: center; background: radial-gradient(circle at 50% 50%, rgb(171 96 246 / .12), transparent 42%), var(--here-surface); padding: clamp(30px, 5vw, 64px); }
.ms-role-result__route > span { display: grid; min-height: 76px; grid-template-columns: 48px 1fr; align-items: center; border: 1px solid var(--here-line); border-radius: 999px; color: var(--here-purple); padding: 0 26px; font: 700 20px/1 'Bebas Neue Pro', sans-serif; }
.ms-role-result__route b { color: #fff; font: 700 14px/1.2 'Core Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.ms-role-result__route > i { color: var(--here-green); padding: 11px; font: 700 25px/1 'Bebas Neue Pro', sans-serif; font-style: normal; text-align: center; }
.ms-role-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--here-line); }
.ms-role-flow article { display: flex; min-width: 0; min-height: 310px; flex-direction: column; border-right: 1px solid var(--here-line); padding: 28px; }
.ms-role-flow article:last-child { border-right: 0; }
.ms-role-flow span { color: var(--here-purple); font: 700 32px/1 'Bebas Neue Pro', sans-serif; }
.ms-role-flow h3 { margin: auto 0 16px; font: 700 clamp(38px, 3.8vw, 52px)/.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-role-flow p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.6; }
.ms-partner-summary { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr); border: 1px solid var(--here-line); background: var(--here-surface); }
.ms-partner-summary > div { padding: clamp(28px, 4vw, 52px); }
.ms-partner-summary > div + div { display: flex; min-height: 230px; flex-direction: column; justify-content: space-between; border-left: 1px solid var(--here-line); background: var(--here-purple); color: #fff; }
.ms-partner-summary span { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ms-partner-summary h3 { margin: 18px 0 14px; font: 700 clamp(48px, 5vw, 76px)/.86 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-partner-summary p { max-width: 720px; margin: 0; color: var(--here-muted); font-size: 14px; line-height: 1.65; }
.ms-partner-summary strong { font: 700 clamp(74px, 8vw, 116px)/.8 'Bebas Neue Pro', sans-serif; }
.ms-partner-summary small { max-width: 260px; font-size: 11px; line-height: 1.5; opacity: .8; }
.ms-reward-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-right: 1px solid var(--here-line); border-left: 1px solid var(--here-line); }
.ms-reward-grid article { display: grid; min-width: 0; min-height: 96px; grid-template-columns: 34px minmax(0, 1fr) auto; column-gap: 18px; align-items: center; border-right: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); padding: 20px 24px; }
.ms-reward-grid article:nth-child(2n) { border-right: 0; }
.ms-reward-grid article:nth-child(4n + 2),
.ms-reward-grid article:nth-child(4n + 3) { background: #151319; }
.ms-reward-grid span { color: var(--here-purple); font: 700 24px/1 'Bebas Neue Pro', sans-serif; }
.ms-reward-grid h3 { min-width: 0; margin: 0; font: 700 clamp(24px, 2.4vw, 34px)/.95 'Bebas Neue Pro', sans-serif; overflow-wrap: anywhere; text-transform: uppercase; }
.ms-reward-grid strong { color: var(--here-purple); font: 700 clamp(30px, 3vw, 42px)/1 'Bebas Neue Pro', sans-serif; white-space: nowrap; }
.ms-reward-grid small { grid-column: 2 / -1; margin-top: 8px; color: var(--here-muted); font-size: 10px; line-height: 1.4; }
.ms-partner-note { margin: 18px 0 0; color: var(--here-muted); font-size: 11px; line-height: 1.6; }
.ms-parser-proof { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); border: 1px solid var(--here-line); background: var(--here-surface); }
.ms-parser-proof__copy { display: flex; min-height: 460px; flex-direction: column; justify-content: flex-end; padding: clamp(30px, 5vw, 68px); }
.ms-parser-proof__copy h2 { max-width: 720px; margin: 24px 0 20px; font: 700 clamp(70px, 8vw, 124px)/.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-parser-proof__copy p { max-width: 680px; margin: 0; color: var(--here-muted); font-size: 14px; line-height: 1.65; }
.ms-parser-proof__metrics { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--here-line); }
.ms-parser-proof__metrics article { display: flex; min-height: 230px; flex-direction: column; justify-content: space-between; padding: clamp(28px, 4vw, 52px); }
.ms-parser-proof__metrics article:first-child { border-bottom: 1px solid var(--here-line); background: var(--here-purple); color: #fff; }
.ms-parser-proof__metrics span { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ms-parser-proof__metrics strong { font: 700 clamp(88px, 10vw, 148px)/.76 'Bebas Neue Pro', sans-serif; }
.ms-parser-proof__metrics small { color: var(--here-muted); font-size: 11px; line-height: 1.5; }
.ms-parser-proof__metrics article:first-child small { color: rgb(255 255 255 / .76); }
.ms-role-boundary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-role-boundary article { display: flex; min-width: 0; min-height: 520px; flex-direction: column; padding: clamp(30px, 4.5vw, 56px); }
body.modern-structure .ms-role-boundary article:first-child { background-color: var(--here-purple) !important; color: #fff; }
body.modern-structure .ms-role-boundary article:last-child { background-color: #121816 !important; color: #fff; }
.ms-role-boundary article > span { color: currentColor; font-size: 9px; font-weight: 700; letter-spacing: .16em; opacity: .72; text-transform: uppercase; }
.ms-role-boundary h3 { max-width: 640px; margin: auto 0 30px; font: 700 clamp(58px, 6.5vw, 94px)/.8 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-role-boundary ul { display: grid; margin: 0; padding: 0; list-style: none; }
.ms-role-boundary li { border-top: 1px solid currentColor; padding: 15px 0; font-size: 12px; opacity: .72; }
.ms-role-owner { display: grid; grid-template-columns: minmax(360px, .44fr) minmax(0, .56fr); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-role-owner__photo { min-height: 680px; overflow: hidden; background: var(--here-surface); }
.ms-role-owner__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.03); }
.ms-role-owner__copy { display: flex; min-width: 0; min-height: 680px; flex-direction: column; background: #f4f3ef; color: #181818; padding: clamp(34px, 5vw, 68px); }
.ms-role-owner__copy .ms-eyebrow { color: #7f3af8; }
.ms-role-owner__copy > span { margin-top: 28px; color: rgb(24 24 24 / .56); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ms-role-owner__copy h2 { margin: auto 0 28px; font: 700 clamp(76px, 9vw, 132px)/.78 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-role-owner__copy > p:not(.ms-eyebrow) { max-width: 680px; margin: 0; color: rgb(24 24 24 / .68); font-size: 15px; line-height: 1.7; }
.ms-role-owner__copy .ms-button { width: fit-content; margin-top: 34px; }
.ms-role-knowledge { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-role-knowledge > a { display: flex; min-width: 0; min-height: 460px; flex-direction: column; color: #fff; padding: clamp(30px, 4vw, 52px); text-decoration: none; transition: transform 180ms ease; }
.ms-role-knowledge > a:first-child { background: var(--here-purple); }
.ms-role-knowledge > a:last-child { background: #f4f3ef; color: #181818; }
.ms-role-knowledge > a:hover { z-index: 1; transform: translateY(-5px); }
.ms-role-knowledge span { font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ms-role-knowledge h3 { max-width: 680px; margin: auto 0 22px; font: 700 clamp(56px, 6.5vw, 90px)/.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-role-knowledge p { max-width: 620px; margin: 0; color: currentColor; font-size: 14px; line-height: 1.65; opacity: .68; }
.ms-role-knowledge strong { margin-top: 32px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.ms-lawyer-documents .ms-role-knowledge h3 { font-size: clamp(38px, 4vw, 58px); hyphens: none; overflow-wrap: normal; word-break: normal; }

.ms-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ms-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 22px; border: 1px solid var(--here-purple); border-radius: 999px; background: var(--here-purple); color: #fff; padding: 0 24px; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; transition: background 160ms ease, border-color 160ms ease; }
.ms-button:hover { border-color: #fff; background: #fff; color: #181818; }
.ms-button--secondary { border-color: var(--here-line); background: transparent; }

.ms-callout { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: end; border-bottom: 1px solid var(--here-line); padding: 120px 0; }
.ms-callout h2 { max-width: 900px; margin: 0; font: 700 clamp(58px, 7vw, 102px)/0.85 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-callout p:not(.ms-eyebrow) { max-width: 680px; margin: 28px 0 0; color: var(--here-muted); line-height: 1.7; }

.ms-case-list { border-top: 1px solid var(--here-line); }
.ms-case { border-bottom: 1px solid var(--here-line); }
.ms-case summary { display: grid; grid-template-columns: 72px 1fr minmax(180px, auto) 40px; gap: 24px; align-items: center; padding: 36px 0; cursor: pointer; list-style: none; }
.ms-case summary::-webkit-details-marker { display: none; }
.ms-case summary > span { color: var(--here-purple); font: 700 38px/1 'Bebas Neue Pro', sans-serif; }
.ms-case summary h2 { margin: 0; font: 700 clamp(42px, 5vw, 72px)/0.9 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-case summary p { max-width: 720px; margin: 14px 0 0; color: var(--here-muted); font-size: 14px; line-height: 1.65; }
.ms-case summary strong { color: var(--here-green); font-size: 11px; letter-spacing: 0.12em; text-align: right; text-transform: uppercase; }
.ms-case summary i { font: normal 300 36px/1 'Core Sans', sans-serif; text-align: right; transition: transform 180ms ease; }
.ms-case[open] summary i { transform: rotate(45deg); }
.ms-case__detail { display: flex; max-width: 900px; gap: 36px; align-items: end; padding: 0 0 44px 96px; }
.ms-case__detail p { flex: 1; margin: 0; color: var(--here-muted); font-size: 15px; line-height: 1.75; }

.ms-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-person { display: grid; grid-template-columns: 1fr auto; background: var(--here-surface); color: #fff; padding: 32px; text-decoration: none; }
.ms-person img { grid-column: 1 / -1; width: 100%; aspect-ratio: 4/3; margin-bottom: 32px; object-fit: cover; object-position: center 28%; filter: grayscale(1); transition: filter 180ms ease; }
.ms-person:hover img { filter: grayscale(0); }
.ms-person > span { color: var(--here-purple); font: 700 26px/1 'Bebas Neue Pro', sans-serif; }
.ms-person h2 { grid-column: 1 / -1; margin: 48px 0 10px; font: 700 clamp(48px, 5vw, 72px)/0.88 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-person strong { grid-column: 1 / -1; color: var(--here-green); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
.ms-person p { max-width: 520px; margin: 24px 0 0; color: var(--here-muted); font-size: 13px; line-height: 1.65; }
.ms-person b { align-self: end; justify-self: end; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }

.ms-section--knowledge { padding-top: 72px; }
.ms-knowledge-toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: 22px 32px; align-items: end; margin-bottom: 32px; }
.ms-knowledge-search { display: grid; gap: 10px; }
.ms-knowledge-search span { color: var(--here-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ms-knowledge-search input { width: 100%; height: 58px; border: 1px solid var(--here-line); border-radius: 0; background: var(--here-surface); color: #fff; padding: 0 20px; font: 400 15px/1 'Core Sans', sans-serif; }
.ms-knowledge-search input::placeholder { color: #77777d; }
.ms-knowledge-filters { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.ms-knowledge-filters button { display: inline-flex; min-height: 42px; align-items: center; gap: 9px; border: 1px solid var(--here-line); border-radius: 999px; background: transparent; color: var(--here-muted); padding: 0 14px 0 16px; font: 700 10px/1 'Core Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, color 160ms ease; }
.ms-knowledge-filters button span { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 999px; background: rgb(255 255 255 / .08); color: #fff; font-size: 9px; letter-spacing: 0; }
.ms-knowledge-filters button:hover { border-color: var(--here-purple); color: #fff; }
.ms-knowledge-filters button[aria-pressed="true"] { border-color: var(--here-purple); background: var(--here-purple); color: #fff; }
.ms-knowledge-filters button[aria-pressed="true"] span { background: rgb(24 24 24 / .28); }
.ms-knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--here-line); gap: 1px; }
.ms-knowledge { display: flex; min-height: 290px; flex-direction: column; background: #111114; box-shadow: 0 0 0 1px var(--here-line); color: #fff; padding: 28px; text-decoration: none; transition: background 180ms ease; }
.ms-knowledge.is-checker-alt { background: #18131d; }
.ms-knowledge[hidden] { display: none; }
.ms-knowledge:hover,
.ms-knowledge.is-checker-alt:hover { background: #241a2d; }
.ms-knowledge__meta { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.ms-knowledge__meta span { color: var(--here-purple); font: 700 24px/1 'Bebas Neue Pro', sans-serif; }
.ms-knowledge__meta small { color: var(--here-green); font-size: 9px; font-weight: 700; letter-spacing: .11em; text-align: right; text-transform: uppercase; }
.ms-knowledge h2 { margin: auto 0 32px; font: 700 clamp(31px, 3vw, 44px)/0.95 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-knowledge__footer { display: flex; align-items: center; }
.ms-knowledge__footer b { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.ms-knowledge-empty { border: 1px solid var(--here-line); margin: 0; color: var(--here-muted); padding: 42px; text-align: center; }

.ms-profile { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--here-line); }
.ms-profile__image { min-height: 640px; background: var(--here-surface); padding: clamp(20px, 4vw, 48px); }
.ms-profile__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 26%; filter: grayscale(1); transition: filter 320ms ease; }

@media (hover: hover) and (pointer: fine) {
  .ms-profile__image:hover img { filter: grayscale(0) brightness(1.06) contrast(1.02); }
}
.ms-profile .ms-panel h2 { margin: 22px 0 28px; }
.ms-profile .ms-panel .ms-list { margin-top: auto; }
.ms-profile-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border-right: 1px solid var(--here-line); border-left: 1px solid var(--here-line); background: var(--here-line); padding: 0 !important; }
.ms-profile-details > article { min-width: 0; background: var(--here-bg) !important; padding: clamp(32px, 5vw, 64px); }
.ms-profile-details h2 { margin: 0 0 58px; font: 700 clamp(58px, 7vw, 96px)/.84 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-profile-details .ms-list { margin: 0; }
.ms-experience { border-top: 1px solid var(--here-line); }
.ms-experience > div { border-bottom: 1px solid var(--here-line); padding: 24px 0; }
.ms-experience span { color: var(--here-purple); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ms-experience h3 { margin: 12px 0 8px; font: 700 clamp(28px, 3vw, 38px)/1 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-experience p { margin: 0; color: var(--here-muted); font-size: 13px; line-height: 1.65; }

.ms-history-section { padding: 88px 0; }
.ms-timeline { position: relative; isolation: isolate; overflow: hidden; border: 1px solid var(--here-line); background: radial-gradient(circle at 12% 18%, rgb(171 96 246 / .16), transparent 30%), radial-gradient(circle at 88% 74%, rgb(97 209 108 / .08), transparent 26%), #0d0d10; padding: 68px 48px; }
.ms-timeline::before { position: absolute; z-index: 1; top: 68px; bottom: 68px; left: 50%; width: 1px; background: linear-gradient(180deg, transparent, var(--here-purple) 8%, var(--here-purple) 92%, transparent); content: ''; opacity: .72; }
.ms-timeline::after { position: absolute; z-index: 0; inset: 0; background-image: radial-gradient(circle, rgb(255 255 255 / .55) 0 1px, transparent 1.2px); background-position: 12px 18px; background-size: 73px 73px; content: ''; opacity: .1; pointer-events: none; }
.ms-timeline article { position: relative; z-index: 2; display: grid; min-height: 330px; grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr); align-items: center; }
.ms-timeline__card { grid-column: 1; justify-self: end; width: min(100%, 520px); border: 1px solid rgb(255 255 255 / .1); border-radius: 18px; background: rgb(20 20 25 / .88); box-shadow: 0 22px 70px rgb(0 0 0 / .28); padding: clamp(28px, 4vw, 46px); backdrop-filter: blur(12px); transition: border-color 180ms ease, transform 180ms ease; }
.ms-timeline article:nth-child(even) .ms-timeline__card { grid-column: 3; justify-self: start; }
.ms-timeline__card:hover { border-color: rgb(171 96 246 / .48); transform: translateY(-4px); }
.ms-timeline article > i { position: relative; grid-column: 2; grid-row: 1; justify-self: center; width: 15px; height: 15px; border: 3px solid #0d0d10; border-radius: 50%; background: var(--here-purple); box-shadow: 0 0 0 1px rgb(171 96 246 / .65), 0 0 24px rgb(171 96 246 / .5); }
.ms-timeline article > i::after { position: absolute; top: 50%; right: 12px; width: 44px; height: 1px; background: linear-gradient(90deg, rgb(171 96 246 / .6), transparent); content: ''; }
.ms-timeline article:nth-child(even) > i::after { right: auto; left: 12px; background: linear-gradient(90deg, transparent, rgb(171 96 246 / .6)); }
.ms-timeline__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ms-timeline__meta span { color: var(--here-purple); font: 700 clamp(52px, 6vw, 82px)/1 'Bebas Neue Pro', sans-serif; }
.ms-timeline small { color: var(--here-green); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-align: right; text-transform: uppercase; }
.ms-timeline h2 { margin: 34px 0 12px; font: 700 clamp(40px, 4vw, 58px)/.9 'Bebas Neue Pro', sans-serif; overflow-wrap: anywhere; text-transform: uppercase; }
.ms-timeline strong { display: block; margin-bottom: 20px; color: #fff; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.ms-timeline p { max-width: 620px; margin: 0; color: var(--here-muted); font-size: 13px; line-height: 1.7; }
.ms-timeline__link { display: inline-flex; align-items: center; gap: 14px; margin-top: 24px; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.ms-timeline__link span { color: var(--here-purple); font-size: 16px; transition: transform 160ms ease; }
.ms-timeline__link:hover span { transform: translate(3px, -3px); }

/* Knowledge articles and calculators */
html.ms-knowledge-detail,
body.ms-knowledge-detail { overflow-x: clip !important; }
.ms-article-progress { position: fixed; z-index: 10100; top: 0; right: 0; left: 0; height: 3px; transform: scaleX(0); transform-origin: left; background: var(--here-purple); }
body.ms-knowledge-detail main.ms-article-main { padding-top: 0 !important; padding-bottom: 120px !important; }
.ms-article-hero { display: grid; min-height: min(690px, calc(100svh - var(--here-shell))); align-content: end; border-bottom: 1px solid var(--here-line); padding: 72px 0 68px; }
.ms-article-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: auto; padding-bottom: 72px; color: #74747a; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ms-article-breadcrumb a { color: #a7a7ad; text-decoration: none; }
.ms-article-breadcrumb a:hover { color: #fff; }
.ms-article-hero__title h1 { max-width: 1120px; margin: 0; font: 700 clamp(66px, 9vw, 132px)/.82 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-article-intro { max-width: 760px; margin: 34px 0 0; color: var(--here-muted); font-size: clamp(17px, 1.6vw, 22px); font-weight: 300; line-height: 1.55; }
.ms-article-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 34px; color: #74747a; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ms-article-meta span + span::before { content: '·'; margin-right: 28px; color: var(--here-purple); }

body.ms-knowledge-detail .ms-article-shell { width: 100% !important; max-width: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; background: transparent !important; padding: 72px 0 0 !important; }
body.ms-knowledge-detail .ms-article-shell > .flex.flex-wrap { margin-bottom: 56px !important; }
.ms-article-layout { display: grid; grid-template-columns: minmax(0, 850px) minmax(220px, 1fr); gap: clamp(54px, 8vw, 124px); align-items: start; }
body.ms-knowledge-detail .article-content { min-width: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #d6d6da; padding: 0 !important; font-size: 17px !important; line-height: 1.78 !important; }
body.ms-knowledge-detail .article-content > :first-child { margin-top: 0 !important; }
body.ms-knowledge-detail .article-content h2 { scroll-margin-top: calc(var(--here-shell) + 28px); margin: 88px 0 28px !important; color: #fff !important; font: 700 clamp(44px, 5vw, 68px)/.92 'Bebas Neue Pro', sans-serif !important; text-transform: uppercase; }
body.ms-knowledge-detail .article-content h3 { scroll-margin-top: calc(var(--here-shell) + 28px); margin: 54px 0 20px !important; color: #fff !important; font: 700 clamp(30px, 3vw, 42px)/1 'Bebas Neue Pro', sans-serif !important; text-transform: uppercase; }
body.ms-knowledge-detail .article-content h4 { margin: 38px 0 16px !important; color: #fff !important; font-size: 18px !important; }
body.ms-knowledge-detail .article-content p,
body.ms-knowledge-detail .article-content li { color: #c2c2c8 !important; font-size: 17px !important; line-height: 1.78 !important; }
body.ms-knowledge-detail .article-content p { margin: 0 0 24px !important; }
body.ms-knowledge-detail .article-content ul,
body.ms-knowledge-detail .article-content ol { display: grid; gap: 10px; margin: 24px 0 34px !important; padding-left: 24px !important; }
body.ms-knowledge-detail .article-content a { color: var(--here-green) !important; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.ms-knowledge-detail .article-content blockquote { border: 0 !important; border-left: 3px solid var(--here-purple) !important; margin: 44px 0 !important; background: var(--here-surface) !important; padding: 28px 32px !important; color: #fff !important; }
body.ms-knowledge-detail .article-content pre { overflow-x: auto; border: 1px solid var(--here-line); border-radius: 0 !important; margin: 36px 0; background: #09090b !important; padding: 24px !important; }
body.ms-knowledge-detail .article-content code { border-radius: 4px; background: rgb(171 96 246 / .1); color: #dec2fa; padding: .12em .35em; font-size: .88em; }
body.ms-knowledge-detail .article-content pre code { background: transparent; color: #dddde2; padding: 0; }
body.ms-knowledge-detail .article-content table { width: 100%; border-collapse: collapse; margin: 36px 0; font-size: 14px; }
body.ms-knowledge-detail .article-content th,
body.ms-knowledge-detail .article-content td { border: 1px solid var(--here-line) !important; padding: 16px !important; text-align: left; }
body.ms-knowledge-detail .article-content th { background: var(--here-surface) !important; color: #fff; }
body.ms-knowledge-detail .article-content img { max-width: 100%; height: auto; border: 1px solid var(--here-line); }
.ms-article-toc { position: sticky; top: calc(var(--here-shell) + 30px); max-height: calc(100svh - var(--here-shell) - 54px); overflow-y: auto; border-top: 1px solid var(--here-line); padding-top: 22px; scrollbar-color: rgb(171 96 246 / .55) transparent; scrollbar-width: thin; }
.ms-article-toc strong { display: block; margin-bottom: 18px; color: #fff; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.ms-article-toc nav { display: flex; flex-direction: column; }
.ms-article-toc a { border-bottom: 1px solid var(--here-line); color: #8b8b91; padding: 12px 0; font-size: 12px; line-height: 1.4; text-decoration: none; transition: background 160ms ease, color 160ms ease, padding-left 160ms ease; }
.ms-article-toc a[data-level="3"] { padding-left: 14px; font-size: 11px; }
.ms-article-toc a:hover { color: #fff; }
.ms-article-toc a[aria-current="location"] { background: linear-gradient(90deg, rgb(171 96 246 / .16), transparent 82%); box-shadow: inset 2px 0 var(--here-purple); color: #fff; padding-left: 14px; }
.ms-article-toc a[data-level="3"][aria-current="location"] { padding-left: 28px; }
.ms-article-end { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; margin-top: 104px; border-top: 1px solid var(--here-line); border-bottom: 1px solid var(--here-line); padding: 72px 0; }
.ms-article-end h2 { max-width: 780px; margin: 0; font: 700 clamp(52px, 6vw, 84px)/.88 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }

body.ms-calculator-detail .ms-article-shell > :not(.article-content):not(.ms-article-layout) { max-width: 900px; margin-right: auto !important; margin-left: auto !important; }
body.ms-calculator-detail .ms-article-shell input,
body.ms-calculator-detail .ms-article-shell select,
body.ms-calculator-detail .ms-article-shell textarea { border-color: var(--here-line) !important; background-color: #111113 !important; color: #fff !important; }
body.ms-calculator-detail .ms-article-shell button { color: #fff; }
body.ms-knowledge-detail aside.fixed { display: none !important; }

/* Public update journal */
body.ms-updates-detail main.ms-updates-main { padding-top: 0 !important; padding-bottom: 120px !important; }
.ms-updates-hero { display: grid; min-height: 560px; align-content: end; border-bottom: 1px solid var(--here-line); margin: 0 !important; padding: 72px 0 68px; text-align: left !important; }
.ms-updates-hero h1 { max-width: 1000px; margin: 0 !important; font: 700 clamp(84px, 11vw, 154px)/.8 'Bebas Neue Pro', sans-serif !important; text-transform: uppercase; }
.ms-updates-hero > p:last-child { max-width: 700px !important; margin: 34px 0 0 !important; color: var(--here-muted) !important; font-size: clamp(17px, 1.8vw, 24px) !important; font-weight: 300; line-height: 1.55 !important; }
.ms-updates-search { max-width: none !important; margin: 0 !important; border-bottom: 1px solid var(--here-line); padding: 40px 0 !important; }
.ms-updates-search input { min-height: 62px; border: 1px solid var(--here-line) !important; border-radius: 0 !important; background: var(--here-surface) !important; padding-right: 24px !important; padding-left: 56px !important; font-size: 15px !important; }
.ms-updates-feed { max-width: none !important; margin: 0 !important; }
.ms-updates-detail .timeline { border-top: 0; }
.ms-updates-detail .timeline-item { display: block; border-left: 0 !important; border-bottom: 1px solid var(--here-line); margin: 0; padding: 0 !important; }
.ms-updates-detail .timeline-item summary { display: grid; grid-template-columns: minmax(170px, 210px) minmax(0, 1fr) 52px; column-gap: clamp(28px, 4vw, 56px); align-items: center; padding: 52px 0; cursor: pointer; list-style: none; }
.ms-updates-detail .timeline-item summary::-webkit-details-marker { display: none; }
.ms-updates-summary-meta { align-self: start; }
.ms-updates-summary-meta p { margin: 12px 0 0 !important; color: #73737a !important; font-size: 9px !important; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.ms-updates-detail .timeline-date { border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--here-purple) !important; padding: 0 !important; font: 700 clamp(28px, 3vw, 40px)/1 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-updates-detail .timeline-item summary h2 { min-width: 0; margin: 0 !important; font: 700 clamp(40px, 4.2vw, 58px)/.94 'Bebas Neue Pro', sans-serif !important; overflow-wrap: anywhere; text-wrap: balance; text-transform: uppercase; }
.ms-updates-toggle { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--here-line); border-radius: 50%; color: #fff; font: 300 26px/1 'Core Sans', sans-serif; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.ms-updates-detail .timeline-item summary:hover .ms-updates-toggle { border-color: var(--here-purple); background: var(--here-purple); }
.ms-updates-detail .timeline-item[open] .ms-updates-toggle { border-color: var(--here-purple); background: var(--here-purple); transform: rotate(45deg); }
.ms-updates-content { min-width: 0; width: min(100% - 104px, 1040px); margin: 0 auto; padding: 0 0 64px; color: #c2c2c8 !important; font-size: 16px !important; line-height: 1.72 !important; }
.ms-updates-content h3 { margin: 38px 0 16px !important; font: 700 30px/1 'Bebas Neue Pro', sans-serif !important; text-transform: uppercase; }
.ms-updates-content p,
.ms-updates-content li { color: #c2c2c8 !important; font-size: 16px !important; line-height: 1.72 !important; }
.ms-updates-content ul { display: grid; gap: 8px; margin: 18px 0 30px; padding-left: 24px; }
.ms-updates-detail .timeline-item a { color: var(--here-green) !important; border-bottom-color: rgb(97 209 108 / .35); }

.ms-hero--video { position: relative; isolation: isolate; overflow: hidden; min-height: calc(100svh - var(--here-shell)); padding: clamp(48px, 8vw, 108px); }
@media (min-width: 640px) {
  .ms-hero--video h1 { font-size: clamp(68px, 9.6vw, 146px); }
}
.ms-video-hero,
.ms-video-veil { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.ms-video-hero { object-fit: cover; opacity: .65; }
.ms-video-veil { z-index: -1; background: linear-gradient(90deg, rgb(16 16 18 / .96) 0%, rgb(16 16 18 / .7) 48%, rgb(16 16 18 / .3) 100%), linear-gradient(0deg, var(--here-bg), transparent 32%); }
.ms-hero__content { position: relative; z-index: 1; }
.ms-video-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--here-line); background: #080808; }
.ms-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ms-video-frame--reel { box-shadow: 0 30px 100px rgb(0 0 0 / .45); }
.ms-video-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.ms-video-tabs button { min-height: 46px; border: 1px solid var(--here-line); border-radius: 999px; background: transparent; color: var(--here-muted); padding: 0 22px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.ms-video-tabs button[aria-selected="true"] { border-color: var(--here-purple); background: var(--here-purple); color: #fff; }
.ms-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--here-line); background: var(--here-line); }
.ms-video-card { min-width: 0; background: var(--here-surface); padding: 18px 18px 26px; }
.ms-video-card h3 { margin: 22px 0 8px; font: 700 clamp(34px, 4vw, 52px)/.9 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-video-card p { margin: 0; color: var(--here-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.ms-video-grid--vertical { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ms-video-grid--vertical .ms-video-frame { aspect-ratio: 9 / 16; }
.ms-video-process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--here-line); }
.ms-video-process article { display: flex; min-height: 310px; flex-direction: column; border-right: 1px solid var(--here-line); padding: 26px; }
.ms-video-process article:last-child { border-right: 0; }
.ms-video-process span { color: var(--here-purple); font: 700 32px/1 'Bebas Neue Pro', sans-serif; }
.ms-video-process h3 { margin: auto 0 16px; font: 700 34px/.9 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-video-process p { margin: 0; color: var(--here-muted); font-size: 12px; line-height: 1.6; }

.ms-footer { display: grid; width: min(100% - 48px, 1344px); grid-template-columns: 1.15fr .72fr .72fr 1.05fr; gap: 48px; margin: 0 auto; border-top: 1px solid var(--here-line); background: var(--here-bg) !important; padding: 72px 0 36px; }
.ms-footer__brand a { display: block; color: #fff; text-decoration: none; }
.ms-footer__brand img { width: 40px; height: 40px; margin-bottom: 24px; }
.ms-footer strong { display: block; font: 700 34px/1 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.ms-footer p { max-width: 400px; color: var(--here-muted); font-size: 12px; line-height: 1.6; }
.structure-footer-contacts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.structure-footer-contacts > a,
.structure-footer-contacts > span { display: inline-flex !important; min-height: 44px; align-items: center; gap: 8px; border: 1px solid var(--here-line); border-radius: 999px; color: #b6b6bc !important; padding: 5px 12px 5px 6px; font-size: 10px !important; text-decoration: none; }
.structure-footer-contacts > a:hover { border-color: rgb(171 96 246 / .5); color: #fff !important; }
.structure-footer-contacts > a > span,
.structure-footer-contacts > span > i { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: rgb(171 96 246 / .12); color: var(--here-purple); font-style: normal; }
.structure-footer-contacts svg { width: 13px; height: 13px; stroke-width: 1.8; }
.ms-footer nav { display: flex; flex-direction: column; gap: 12px; }
.ms-footer nav > span { margin-bottom: 4px; color: var(--here-purple); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ms-footer nav a { color: #fff; font-size: 12px; text-decoration: none; }
.ms-footer__action { justify-self: end; }
.ms-footer__bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; border-top: 1px solid var(--here-line); padding-top: 28px; }
.ms-footer__bottom small { color: #6f6f76; font-size: 10px; }
.ms-footer__bottom nav { display: flex; flex: 1; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 12px 22px; }
.ms-footer__bottom nav a { color: #85858b; font-size: 10px; }

.structure-footer { width: min(100% - 48px, 1344px); margin: 96px auto 0; border-top: 1px solid var(--here-line); background: var(--here-bg) !important; padding: 72px 0 36px; }
.structure-footer__grid { display: grid; grid-template-columns: 1.15fr .72fr .72fr 1.05fr; gap: 48px; }
.structure-footer__brand a { display: flex; align-items: center; gap: 14px; color: #fff; text-decoration: none; }
.structure-footer__brand img { width: 40px; height: 40px; }
.structure-footer__brand strong { font: 700 34px/1 'Bebas Neue Pro', sans-serif; text-transform: uppercase; }
.structure-footer p { max-width: 400px; color: var(--here-muted); font-size: 12px; line-height: 1.6; }
.structure-footer nav { display: flex; flex-direction: column; gap: 12px; }
.structure-footer nav > span { margin-bottom: 4px; color: var(--here-purple); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.structure-footer nav a { color: #fff; font-size: 12px; text-decoration: none; }
.structure-footer__action { justify-self: end; }
.structure-footer__action > a { display: inline-flex; min-height: 52px; align-items: center; gap: 22px; border-radius: 999px; background: var(--here-purple); color: #fff; padding: 0 24px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.structure-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; margin-top: 56px; border-top: 1px solid var(--here-line); padding-top: 28px; color: #6f6f76; font-size: 10px; }
.structure-footer__bottom nav { display: flex; flex: 1; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 12px 22px; }
.structure-footer__bottom nav a { color: #85858b; font-size: 10px; }
.structure-footer__bottom button { border: 0; background: transparent; color: #85858b; padding: 0; font: inherit; cursor: pointer; }

@media (pointer: coarse), (max-width: 1023px) {
  body.modern-structure button,
  body.modern-structure [role='button'],
  body.modern-structure [role='tab'],
  body.modern-structure [role='menuitem'],
  body.modern-structure a,
  body.modern-structure input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
  body.modern-structure textarea,
  body.modern-structure select {
    min-width: 44px;
    min-height: 44px;
    font-size: 16px !important;
  }

  .ms-footer__brand a,
  .structure-footer__brand a,
  .ms-footer nav a,
  .structure-footer nav a,
  .ms-footer__bottom nav a,
  .structure-footer__bottom nav a,
  .structure-footer__bottom button {
    display: flex;
    align-items: center;
  }
}

@media (max-width: 1023px) {
  .structure-shell__nav { display: none; }
  .structure-shell__toggle { display: grid; }
  .ms-card-grid,
  .ms-knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-knowledge-toolbar { grid-template-columns: 1fr; align-items: start; }
  .ms-knowledge-filters { justify-content: flex-start; }
  .ms-card:nth-child(3n) { border-right: 1px solid var(--here-line); }
  .ms-card:nth-child(2n) { border-right: 0; }
  .ms-callout { grid-template-columns: 1fr; align-items: start; }
  .ms-footer { grid-template-columns: 1fr 1fr; }
  .ms-footer__action { grid-column: 1 / -1; justify-self: start; }
  .structure-footer__grid { grid-template-columns: 1fr 1fr; }
  .structure-footer__action { grid-column: 1 / -1; justify-self: start; }
  .ms-video-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-design-intro { grid-template-columns: 1fr; }
  .ms-design-statement { min-height: 500px; }
  .ms-design-case--brand,
  .ms-design-case--product { grid-column: span 12; }
  .ms-design-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-design-process article:nth-child(2) { border-right: 0; }
  .ms-design-process article:nth-child(-n + 2) { border-bottom: 1px solid var(--here-line); }
  .ms-marketing-loop,
  .ms-marketing-iteration { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-marketing-loop article:nth-child(2) { border-right: 0; }
  .ms-marketing-loop article:nth-child(-n + 2) { border-bottom: 1px solid var(--here-line); }
  .ms-marketing-proof { grid-template-columns: 1fr; }
  .ms-marketing-services { grid-template-columns: 1fr; }
  .ms-marketing-services article { min-height: 420px; }
  .ms-development-case,
  .ms-development-stack { grid-template-columns: 1fr; }
  .ms-development-control,
  .ms-development-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-development-process article:nth-child(2) { border-right: 0; }
  .ms-development-process article:nth-child(-n + 2) { border-bottom: 1px solid var(--here-line); }
  .ms-role-scope,
  .ms-role-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-role-result,
  .ms-role-owner { grid-template-columns: 1fr; }
  .ms-role-flow article:nth-child(2) { border-right: 0; }
  .ms-role-flow article:nth-child(-n + 2) { border-bottom: 1px solid var(--here-line); }
  .ms-role-owner__photo { min-height: 560px; }
  .ms-role-owner__copy { min-height: 600px; }
  .ms-product-bridge__panel { grid-template-columns: 1fr; }
  .ms-history-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-history-preview article:nth-child(2) { border-right: 0; }
  .ms-history-preview article:nth-child(-n + 2) { border-bottom: 1px solid var(--here-line); }
  .ms-video-process article { border-bottom: 1px solid var(--here-line); }
  .ms-article-layout { grid-template-columns: 1fr; }
  .ms-article-toc { position: static; grid-row: 1; max-height: none; overflow-y: visible; }
  .ms-article-end { grid-template-columns: 1fr; align-items: start; }
  .ms-updates-detail .timeline-item summary { grid-template-columns: 1fr 52px; gap: 18px 24px; }
  .ms-updates-summary-meta { grid-column: 1; }
  .ms-updates-detail .timeline-item summary h2 { grid-column: 1; }
  .ms-updates-toggle { grid-column: 2; grid-row: 1 / span 2; }
  .ms-updates-content { width: min(100% - 52px, 900px); margin: 0 auto; }
}

@media (max-width: 639px) {
  :root { --here-shell: 88px; }
  .structure-shell__inner { width: calc(100% - 32px); }
  .structure-shell__brand span { display: none; }
  body.modern-structure main { width: calc(100% - 32px) !important; padding-top: 32px !important; }
  body.modern-structure .cookie-notification,
  .structure-vanilla-cookie { right: 12px !important; bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; left: 12px !important; width: auto !important; max-width: none !important; }
  .ms-page { width: calc(100% - 32px) !important; padding: 32px 0 72px !important; }
  .ms-hero { min-height: calc(100svh - var(--here-shell)); padding: 48px 0 64px; }
  .ms-status { margin-bottom: 36px; }
  .ms-hero h1 { font-size: clamp(68px, 23vw, 104px); }
  .ms-lead { margin-top: 28px; font-size: 17px; }
  .ms-home-grid,
  .ms-grid--2,
  .ms-team-grid { grid-template-columns: 1fr; }
  .ms-feature,
  .ms-feature--wide { grid-column: auto; min-height: 360px; }
  .ms-feature h2 { font-size: 44px; overflow-wrap: anywhere; }
  .ms-direction-grid { grid-template-columns: 1fr; }
  .ms-direction-card { min-height: 380px; padding: 28px 24px; }
  .ms-direction-card h3 { font-size: 68px; }
  .ms-product-bridge__panel,
  .ms-history-preview { grid-template-columns: 1fr; }
  .ms-product-bridge__copy { min-height: 520px; padding: 28px; }
  .ms-product-bridge__copy h3 { font-size: 62px; }
  .ms-product-bridge__map { grid-template-columns: 1fr; }
  .ms-product-bridge__map article { min-height: 240px; }
  .ms-history-preview article,
  .ms-history-preview article:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--here-line); padding: 28px 0 34px; }
  .ms-history-preview article:last-child { border-bottom: 0; }
  .ms-history-preview h3 { min-height: 0; margin-top: 30px; }
  .ms-section { padding: 80px 0; }
  .ms-section__head { grid-template-columns: 1fr; gap: 28px; margin-bottom: 44px; }
  .ms-section__head h2 { font-size: 56px; overflow-wrap: anywhere; }
  .ms-card-grid,
  .ms-knowledge-grid { grid-template-columns: 1fr; }
  .ms-section--knowledge { padding-top: 48px; }
  .ms-knowledge-toolbar { gap: 22px; }
  .ms-knowledge-search input { height: 56px; font-size: 16px; }
  .ms-knowledge-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .ms-knowledge-filters button { padding: 0 10px; }
  .ms-card,
  .ms-card:nth-child(n),
  .ms-knowledge,
  .ms-knowledge:nth-child(n) { min-height: 290px; border-right: 0; }
  .ms-panel { min-height: 440px; padding: 28px; }
  .ms-callout { gap: 34px; padding: 80px 0; }
  .ms-case summary { grid-template-columns: 46px 1fr 28px; gap: 14px; padding: 28px 0; }
  .ms-case summary strong { grid-column: 2; text-align: left; }
  .ms-case summary i { grid-column: 3; grid-row: 1; }
  .ms-case__detail { display: block; padding: 0 0 36px 60px; }
  .ms-case__detail .ms-button { margin-top: 24px; }
  .ms-person { padding: 18px; }
  .ms-person h2 { margin-top: 32px; }
  .ms-footer { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 36px; }
  .ms-footer__action { grid-column: auto; }
  .ms-footer__bottom { grid-column: auto; align-items: flex-start; }
  .ms-footer__bottom nav { flex-basis: 100%; justify-content: flex-start; }
  .ms-profile { grid-template-columns: 1fr; }
  .ms-profile-details { grid-template-columns: 1fr; }
  .ms-profile__image { min-height: 420px; }
  .ms-history-section { padding: 56px 0; }
  .ms-timeline { padding: 38px 18px 38px 16px; }
  .ms-timeline::before { top: 38px; bottom: 38px; left: 35px; }
  .ms-timeline article { min-height: 0; grid-template-columns: 38px minmax(0, 1fr); padding-bottom: 34px; }
  .ms-timeline article:last-child { padding-bottom: 0; }
  .ms-timeline__card,
  .ms-timeline article:nth-child(even) .ms-timeline__card { grid-column: 2; grid-row: 1; justify-self: stretch; width: auto; border-radius: 14px; padding: 24px 20px; }
  .ms-timeline article > i,
  .ms-timeline article:nth-child(even) > i { grid-column: 1; grid-row: 1; }
  .ms-timeline article > i::after,
  .ms-timeline article:nth-child(even) > i::after { right: auto; left: 12px; width: 20px; background: linear-gradient(90deg, rgb(171 96 246 / .6), transparent); }
  .ms-timeline__meta { display: block; }
  .ms-timeline__meta span { display: block; font-size: 52px; }
  .ms-timeline small { display: block; margin-top: 8px; text-align: left; }
  .ms-timeline h2 { margin-top: 30px; font-size: 38px; }
  .ms-hero--video { width: 100vw; margin-left: calc(50% - 50vw); padding: 48px 16px 64px; }
  .ms-video-grid,
  .ms-video-grid--vertical,
  .ms-video-process { grid-template-columns: 1fr; }
  .ms-design-intro { padding: 0; }
  .ms-design-statement { min-height: 470px; padding: 30px 24px; }
  .ms-design-statement h2 { font-size: 58px; }
  .ms-design-capabilities article { min-height: 210px; grid-template-columns: 38px 1fr; padding: 26px 22px; }
  .ms-design-case { min-height: 470px; padding: 28px 22px; }
  .ms-design-case--structure { min-height: 470px; flex-direction: column; align-items: stretch; justify-content: flex-start; }
  .ms-design-case h3 { font-size: 58px; }
  .ms-design-mark { align-items: flex-start; }
  .ms-design-years { width: 100%; flex: 0 0 auto; font-size: 48px; }
  .ms-design-process { grid-template-columns: 1fr; }
  .ms-design-process article { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--here-line); }
  .ms-design-process article:last-child { border-bottom: 0; }
  .ms-marketing-loop,
  .ms-marketing-iteration { grid-template-columns: 1fr; }
  .ms-marketing-loop article { min-height: 270px; border-right: 0; border-bottom: 1px solid var(--here-line); }
  .ms-marketing-loop article:last-child { border-bottom: 0; }
  .ms-marketing-proof > article { min-height: 540px; padding: 30px 24px; }
  .ms-marketing-proof h2 { font-size: 76px; }
  .ms-marketing-proof__flow { padding: 42px 22px; }
  .ms-marketing-services article { min-height: 390px; padding: 28px 24px; }
  .ms-marketing-services h3 { font-size: 58px; }
  .ms-marketing-iteration article { min-height: 230px; }
  .ms-marketing-iteration h3 { margin-top: 64px; }
  .ms-development-offers { grid-template-columns: 1fr; }
  .ms-development-offer { min-height: 400px; padding: 30px 24px; }
  .ms-development-offer h3 { font-size: 62px; overflow-wrap: anywhere; }
  .ms-development-case__copy { min-height: 520px; padding: 30px 24px; }
  .ms-development-case__copy h2 { font-size: 76px; }
  .ms-development-case__route { padding: 42px 22px; }
  .ms-development-case__route > span { min-height: 68px; grid-template-columns: 38px 1fr; padding: 0 18px; font-size: 18px; }
  .ms-development-case__route b { font-size: 10px; }
  .ms-development-control,
  .ms-development-process { grid-template-columns: 1fr; }
  .ms-development-control article { min-height: 250px; }
  .ms-development-process article { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--here-line); }
  .ms-development-process article:last-child { border-bottom: 0; }
  .ms-development-stack > div:first-child { min-height: 560px; padding: 30px 24px; }
  .ms-development-stack h2 { font-size: 72px; }
  .ms-development-stack__visual { padding: 48px 22px; }
  .ms-role-scope,
  .ms-role-flow,
  .ms-role-boundary,
  .ms-role-knowledge,
  .ms-partner-summary,
  .ms-reward-grid { grid-template-columns: 1fr; }
  .ms-role-scope article,
  .ms-role-flow article { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--here-line); }
  .ms-role-scope h3,
  .ms-role-flow h3 { overflow-wrap: anywhere; }
  .ms-role-scope article:last-child,
  .ms-role-flow article:last-child { border-bottom: 0; }
  .ms-partner-summary > div + div { min-height: 190px; border-top: 1px solid var(--here-line); border-left: 0; }
  .ms-reward-grid article,
  .ms-reward-grid article:nth-child(n) { grid-template-columns: 26px minmax(0, 1fr) auto; column-gap: 12px; border-right: 0; padding: 18px 16px; }
  .ms-reward-grid h3 { font-size: 22px; overflow-wrap: normal; }
  .ms-reward-grid strong { font-size: 27px; }
  .ms-parser-proof { grid-template-columns: 1fr; }
  .ms-parser-proof__copy { min-height: 440px; padding: 30px 24px; }
  .ms-parser-proof__copy h2 { font-size: 72px; }
  .ms-parser-proof__metrics { grid-template-rows: none; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--here-line); border-left: 0; }
  .ms-parser-proof__metrics article { min-height: 180px; padding: 24px 18px; }
  .ms-parser-proof__metrics article:first-child { border-right: 1px solid var(--here-line); border-bottom: 0; }
  .ms-parser-proof__metrics strong { font-size: 76px; }
  .ms-role-result__copy { min-height: 520px; padding: 30px 24px; }
  .ms-role-result__copy h2 { font-size: 72px; }
  .ms-role-result__route { padding: 42px 22px; }
  .ms-role-result__route > span { min-height: 68px; grid-template-columns: 38px 1fr; padding: 0 18px; font-size: 18px; }
  .ms-role-result__route b { font-size: 10px; }
  .ms-role-boundary article { min-height: 460px; padding: 30px 24px; }
  .ms-role-boundary h3 { font-size: 62px; overflow-wrap: anywhere; }
  .ms-role-owner__photo { min-height: 420px; }
  .ms-role-owner__copy { min-height: 540px; padding: 30px 24px; }
  .ms-role-owner__copy h2 { font-size: 72px; }
  .ms-role-knowledge > a { min-height: 410px; padding: 30px 24px; }
  .ms-role-knowledge h3 { font-size: 58px; overflow-wrap: anywhere; }
  .ms-lawyer-documents .ms-role-knowledge h3 { font-size: 38px; }
  .ms-video-process article { min-height: 260px; border-right: 0; }
  .ms-article-hero { min-height: auto; padding: 48px 0 56px; }
  .ms-article-breadcrumb { margin-bottom: 68px; padding-bottom: 0; }
  .ms-article-hero__title h1 { font-size: clamp(54px, 16vw, 72px); overflow-wrap: anywhere; }
  .ms-article-intro { font-size: 16px; }
  .ms-article-meta span + span::before { margin-right: 10px; }
  body.ms-knowledge-detail .ms-article-shell { padding-top: 48px !important; }
  body.ms-knowledge-detail .article-content p,
  body.ms-knowledge-detail .article-content li { font-size: 16px !important; }
  body.ms-knowledge-detail .article-content h2 { margin-top: 68px !important; font-size: 44px !important; }
  body.ms-knowledge-detail .article-content h3 { font-size: 32px !important; }
  body.ms-knowledge-detail .article-content blockquote { padding: 22px !important; }
  body.ms-knowledge-detail .article-content table { display: block; overflow-x: auto; white-space: nowrap; }
  .ms-article-end { margin-top: 76px; padding: 56px 0; }
  .ms-article-end h2 { font-size: 48px; overflow-wrap: anywhere; }
  .ms-updates-hero { min-height: auto; padding: 64px 0 56px; }
  .ms-updates-hero h1 { font-size: 68px !important; overflow-wrap: anywhere; }
  .ms-updates-search { padding: 28px 0 !important; }
  .ms-updates-detail .timeline-item summary { grid-template-columns: minmax(0, 1fr) 40px; gap: 16px; padding: 38px 0; }
  .ms-updates-detail .timeline-item summary h2 { font-size: 42px !important; overflow-wrap: anywhere; }
  .ms-updates-toggle { width: 38px; height: 38px; }
  .ms-updates-content { width: 100%; margin: 0; padding-bottom: 48px; }
  .ms-updates-content p,
  .ms-updates-content li { font-size: 15px !important; }
  .structure-footer { width: calc(100% - 32px); margin-top: 72px; }
  .structure-footer__grid { grid-template-columns: 1fr; gap: 36px; }
  .structure-footer__action { grid-column: auto; }
  .structure-footer__bottom { align-items: flex-start; }
  .structure-footer__bottom nav { flex-basis: 100%; justify-content: flex-start; }
  body.modern-structure main#content { width: 100% !important; padding: 0 !important; }
  body.modern-structure main#content .hero-chip-purple { right: 0; }
}

@media (max-width: 430px) {
  .ms-hero h1 { max-width: 100%; font-size: clamp(62px, 18vw, 78px); overflow-wrap: anywhere; }
}

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