:root {
  --hub-ink: #0b0c0b;
  --hub-paper: #f5f4ef;
  --hub-white: #ffffff;
  --hub-muted: #676963;
  --hub-line: rgba(11, 12, 11, .15);
  --hub-blue: #4358d7;
  --hub-lime: #d8ff55;
  --hub-shell: min(100% - clamp(44px, 9vw, 144px), 1520px);
  --hub-radius: clamp(22px, 2.2vw, 34px);
  --hub-ease: cubic-bezier(.22, .75, .2, 1);
}

.brand-hub {
  overflow-x: clip;
  background: var(--hub-white) !important;
  color: var(--hub-ink) !important;
}

.brand-hub main { background: var(--hub-white); }
.brand-hub .site-header { z-index: 100; }
.brand-hub .hub-shell { width: var(--hub-shell); margin-inline: auto; }
.brand-hub .hub-kicker {
  display: block;
  margin: 0 0 clamp(28px, 4vw, 54px);
  color: var(--hub-muted);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.brand-hub .hub-kicker--light { color: rgba(255, 255, 255, .58); }
.brand-hub h1,
.brand-hub h2,
.brand-hub h3 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, sans-serif !important;
  font-weight: 430 !important;
  letter-spacing: -.062em !important;
}

.brand-hub .hub-hero {
  min-height: 100svh !important;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(42px, 7vw, 118px);
  align-items: end;
  padding: clamp(142px, 15vh, 190px) max(calc((100vw - 1520px) / 2), clamp(22px, 4.5vw, 72px)) clamp(48px, 6vw, 88px) !important;
  background: var(--hub-white) !important;
  color: var(--hub-ink) !important;
}

.brand-hub .hub-hero-copy { align-self: center; padding-bottom: clamp(12px, 4vh, 54px); }
.brand-hub .hub-hero h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(64px, 7.7vw, 126px) !important;
  line-height: .91 !important;
}

.brand-hub .hub-hero-lead {
  max-width: 690px;
  margin: clamp(34px, 4vw, 62px) 0 0;
  color: #454741 !important;
  font-size: clamp(19px, 1.55vw, 25px);
  line-height: 1.42;
  letter-spacing: -.022em;
}

.brand-hub .hub-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.brand-hub .hub-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 23px;
  border: 1px solid var(--hub-ink);
  border-radius: 999px;
  color: var(--hub-white);
  background: var(--hub-ink);
  font-size: 14px;
  transition: transform .25s var(--hub-ease), background .25s ease, color .25s ease;
}

.brand-hub .hub-button:hover { transform: translateY(-2px); background: var(--hub-blue); border-color: var(--hub-blue); }
.brand-hub .hub-button--secondary { color: var(--hub-ink); background: transparent; }
.brand-hub .hub-button--secondary:hover { color: var(--hub-white); }
.brand-hub .hub-button--light { color: var(--hub-ink); background: var(--hub-white); border-color: var(--hub-white); }

.brand-hub .hub-hero-visual {
  position: relative;
  min-height: min(72vh, 850px);
  margin: 0;
  overflow: hidden;
  border-radius: var(--hub-radius);
  background: #171917;
}

.brand-hub .hub-hero-visual::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.48)); pointer-events: none; }
.brand-hub .hub-hero-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.brand-hub .hub-hero-visual figcaption {
  position: absolute;
  z-index: 1;
  inset: auto 22px 20px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.brand-hub .hub-statement {
  padding: clamp(110px, 13vw, 210px) 0;
  background: var(--hub-paper) !important;
}

.brand-hub .hub-statement-grid {
  display: grid;
  grid-template-columns: minmax(180px, .38fr) minmax(0, 1.62fr);
  gap: clamp(42px, 7vw, 118px);
}

.brand-hub .hub-statement h2 {
  max-width: 1190px;
  margin: 0;
  font-size: clamp(48px, 6.2vw, 104px) !important;
  line-height: .96 !important;
}

.brand-hub .hub-statement-copy {
  grid-column: 2;
  max-width: 760px;
  margin: clamp(38px, 5vw, 72px) 0 0;
  color: #4d4f49 !important;
  font-size: clamp(18px, 1.4vw, 23px);
  line-height: 1.55;
}

.brand-hub .hub-dark {
  padding: clamp(110px, 12vw, 190px) 0;
  background: var(--hub-ink) !important;
  color: var(--hub-white) !important;
}

.brand-hub .hub-dark h2,
.brand-hub .hub-dark h3 { color: var(--hub-white) !important; }
.brand-hub .hub-dark p { color: rgba(255, 255, 255, .64) !important; }
.brand-hub .hub-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr);
  gap: clamp(40px, 8vw, 130px);
  align-items: end;
  margin-bottom: clamp(64px, 8vw, 126px);
}

.brand-hub .hub-section-head h2 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(50px, 6.3vw, 106px) !important;
  line-height: .95 !important;
}

.brand-hub .hub-section-head p { margin: 0; font-size: 18px; line-height: 1.65; }
.brand-hub .hub-section-head--light p { color: #555750 !important; }

.brand-hub .hub-product-architecture {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, .18);
}

.brand-hub .hub-product-architecture article {
  min-height: 470px;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 3.4vw, 54px);
  background: var(--hub-ink);
}

.brand-hub .hub-product-architecture span,
.brand-hub .hub-sequence span,
.brand-hub .hub-tile span,
.brand-hub .hub-report span {
  color: rgba(255, 255, 255, .48);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.brand-hub .hub-product-architecture h3 { margin: auto 0 18px; font-size: clamp(34px, 3.2vw, 54px) !important; line-height: 1; }
.brand-hub .hub-product-architecture p { max-width: 360px; margin: 0 0 30px; line-height: 1.6; }
.brand-hub .hub-product-architecture a { width: fit-content; padding-bottom: 4px; color: var(--hub-white); border-bottom: 1px solid rgba(255,255,255,.35); font-size: 14px; }

.brand-hub .hub-white-section { padding: clamp(110px, 12vw, 190px) 0; background: var(--hub-white) !important; }
.brand-hub .hub-image-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(20px, 3vw, 46px); }
.brand-hub .hub-tile { position: relative; min-height: 700px; overflow: hidden; border-radius: var(--hub-radius); background: #161815; }
.brand-hub .hub-tile--stack { min-height: 340px; }
.brand-hub .hub-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--hub-ease); }
.brand-hub .hub-tile:hover img { transform: scale(1.025); }
.brand-hub .hub-tile::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.76)); }
.brand-hub .hub-tile-copy { position: absolute; z-index: 1; inset: auto clamp(24px, 3vw, 46px) clamp(26px, 3vw, 44px); color: var(--hub-white); }
.brand-hub .hub-tile-copy h3 { max-width: 620px; margin: 14px 0 12px; color: var(--hub-white) !important; font-size: clamp(30px, 3.3vw, 54px) !important; line-height: 1; }
.brand-hub .hub-tile-copy p { max-width: 570px; margin: 0 0 22px; color: rgba(255,255,255,.75) !important; line-height: 1.6; }
.brand-hub .hub-tile-copy a { color: var(--hub-white); font-size: 14px; }
.brand-hub .hub-tile-column { display: grid; gap: clamp(20px, 3vw, 46px); }

.brand-hub .hub-domain-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  max-width: 1260px;
}

.brand-hub .hub-domain-cloud a,
.brand-hub .hub-domain-cloud span {
  padding: 12px 17px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  color: rgba(255, 255, 255, .85);
  font-size: clamp(15px, 1.25vw, 19px);
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.brand-hub .hub-domain-cloud a:hover { color: var(--hub-ink); background: var(--hub-white); transform: translateY(-2px); }
.brand-hub .hub-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 3vw, 46px); }
.brand-hub .hub-sequence article { min-height: 330px; display: flex; flex-direction: column; padding-top: 26px; border-top: 1px solid var(--hub-line); }
.brand-hub .hub-sequence span { color: var(--hub-blue); }
.brand-hub .hub-sequence h3 { margin: auto 0 16px; font-size: clamp(25px, 2.2vw, 36px) !important; line-height: 1.04; }
.brand-hub .hub-sequence p { margin: 0; color: var(--hub-muted) !important; line-height: 1.65; }

.brand-hub .hub-cta {
  min-height: 78vh;
  display: grid;
  align-items: end;
  padding: clamp(110px, 12vw, 180px) 0 clamp(70px, 8vw, 120px);
  color: var(--hub-white);
  background: radial-gradient(circle at 76% 12%, rgba(67, 88, 215, .55), transparent 36%), var(--hub-ink) !important;
}

.brand-hub .hub-cta h2 { max-width: 1180px; margin: 0; color: var(--hub-white) !important; font-size: clamp(58px, 8vw, 132px) !important; line-height: .91 !important; }
.brand-hub .hub-cta p { max-width: 650px; margin: 36px 0 0; color: rgba(255,255,255,.65) !important; font-size: 19px; line-height: 1.6; }

/* Research */
.brand-hub--research .hub-hero-visual img { object-position: center; }
.brand-hub .hub-report {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: clamp(38px, 7vw, 112px);
  align-items: center;
}

.brand-hub .hub-report figure { max-width: 540px; margin: 0; padding: clamp(30px, 4vw, 64px); border-radius: var(--hub-radius); background: #ecebe5; }
.brand-hub .hub-report img { width: 100%; height: auto; box-shadow: 0 28px 70px rgba(12,13,12,.14); }
.brand-hub .hub-report span { color: var(--hub-blue); }
.brand-hub .hub-report h2 { max-width: 800px; margin: 24px 0 28px; font-size: clamp(52px, 6vw, 98px) !important; line-height: .94 !important; }
.brand-hub .hub-report p { max-width: 650px; color: var(--hub-muted) !important; font-size: 18px; line-height: 1.7; }

.brand-hub .hub-research-list { display: grid; gap: clamp(70px, 10vw, 150px); }
.brand-hub .hub-research-row { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(44px, 8vw, 130px); align-items: center; }
.brand-hub .hub-research-row:nth-child(even) figure { order: 2; }
.brand-hub .hub-research-row figure { min-height: 560px; margin: 0; overflow: hidden; border-radius: var(--hub-radius); background: #e8e7e1; }
.brand-hub .hub-research-row img { width: 100%; height: 100%; object-fit: cover; }
.brand-hub .hub-research-row h3 { max-width: 690px; margin: 28px 0 24px; font-size: clamp(42px, 4.8vw, 78px) !important; line-height: .97; }
.brand-hub .hub-research-row p { max-width: 630px; color: var(--hub-muted) !important; font-size: 18px; line-height: 1.68; }
.brand-hub .hub-research-row a { display: inline-block; margin-top: 22px; padding-bottom: 5px; border-bottom: 1px solid var(--hub-line); }

.brand-hub .hub-intelligence {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(50px, 8vw, 130px);
  align-items: center;
}

.brand-hub .hub-intelligence h2 { margin: 0; font-size: clamp(52px, 6.4vw, 108px) !important; line-height: .94; }
.brand-hub .hub-intelligence-copy p { max-width: 610px; color: rgba(255,255,255,.64) !important; font-size: 18px; line-height: 1.7; }
.brand-hub .hub-intelligence-screen { min-height: 560px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 58px); border: 1px solid rgba(255,255,255,.16); border-radius: var(--hub-radius); background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.018)); }
.brand-hub .hub-intelligence-screen > span { color: rgba(255,255,255,.46); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.brand-hub .hub-intelligence-screen strong { margin: auto 0 18px; color: var(--hub-white); font-size: clamp(48px, 5.2vw, 88px); font-weight: 430; letter-spacing: -.06em; line-height: .94; }
.brand-hub .hub-intelligence-screen p { max-width: 420px; margin: 0; }

@media (max-width: 1040px) {
  .brand-hub .hub-hero { grid-template-columns: 1fr; }
  .brand-hub .hub-hero-copy { padding-bottom: 0; }
  .brand-hub .hub-hero-visual { min-height: 62vh; }
  .brand-hub .hub-product-architecture { grid-template-columns: 1fr; }
  .brand-hub .hub-product-architecture article { min-height: 340px; }
  .brand-hub .hub-image-grid { grid-template-columns: 1fr; }
  .brand-hub .hub-tile { min-height: 620px; }
  .brand-hub .hub-tile--stack { min-height: 420px; }
  .brand-hub .hub-sequence { grid-template-columns: 1fr 1fr; }
  .brand-hub .hub-intelligence { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  :root { --hub-shell: calc(100% - 44px); }
  .brand-hub .hub-hero { min-height: auto !important; padding: 128px 22px 44px !important; }
  .brand-hub .hub-hero h1 { font-size: clamp(56px, 18vw, 78px) !important; }
  .brand-hub .hub-hero-lead { font-size: 18px; }
  .brand-hub .hub-hero-visual { min-height: 67vh; }
  .brand-hub .hub-hero-visual figcaption { display: none; }
  .brand-hub .hub-statement-grid,
  .brand-hub .hub-section-head,
  .brand-hub .hub-report,
  .brand-hub .hub-research-row { grid-template-columns: 1fr; }
  .brand-hub .hub-statement-copy { grid-column: 1; }
  .brand-hub .hub-statement h2,
  .brand-hub .hub-section-head h2,
  .brand-hub .hub-report h2 { font-size: 14vw !important; }
  .brand-hub .hub-section-head { align-items: start; }
  .brand-hub .hub-product-architecture article { min-height: 300px; }
  .brand-hub .hub-tile { min-height: 520px; }
  .brand-hub .hub-tile--stack { min-height: 360px; }
  .brand-hub .hub-sequence { grid-template-columns: 1fr; }
  .brand-hub .hub-sequence article { min-height: 230px; }
  .brand-hub .hub-research-row:nth-child(even) figure { order: initial; }
  .brand-hub .hub-research-row figure { min-height: 400px; }
  .brand-hub .hub-intelligence-screen { min-height: 440px; }
  .brand-hub .hub-cta { min-height: 70vh; }
  .brand-hub .hub-cta h2 { font-size: 16vw !important; }
}

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