/* =====================================================
   ED GLOBAL DESIGN SYSTEM
   Reference: index.html / Home Page
===================================================== */

:root {

  /* ===================================================
     FONT SYSTEM
  =================================================== */

  --ed-font-heading:
    "Jost",
    sans-serif;

  --ed-font-body:
    "Inter",
    sans-serif;



  /* ===================================================
     CORE COLORS
  =================================================== */

  --ed-white:
    #FFFFFF;

  --ed-ink:
    #0B1226;

  --ed-navy:
    #021A5E;

  --ed-navy-dark:
    #0B1226;

  --ed-navy-deep:
    #03081C;

  --ed-blue:
    #011DBC;

  --ed-blue-bright:
    #2A55E8;

  --ed-gold:
    #DAAF37;

  --ed-gold-dark:
    #B8860B;

  --ed-gold-light:
    #F4D77A;



  /* ===================================================
     HOME LIGHT SURFACE COLORS
  =================================================== */

  --ed-light-start:
    #EAEFFA;

  --ed-light-mid:
    #F4F7FD;

  --ed-light-end:
    #E8EEFB;



  /* ===================================================
   HOME REFERENCE SURFACES
=================================================== */

  /*
 * LIGHT A
 * Home Consulting direction:
 * blue glow left / gold glow right
 */
  --ed-surface-light-a:
    radial-gradient(880px 560px at 10% 12%,
      rgba(1, 29, 188, .24),
      transparent 64%),
    radial-gradient(720px 460px at 92% 84%,
      rgba(218, 175, 55, .26),
      transparent 66%),
    linear-gradient(178deg,
      #EAEFFA,
      #F4F7FD 46%,
      #E8EEFB);


  /*
 * LIGHT B
 * Home Capital direction:
 * blue glow right / gold glow left
 */
  --ed-surface-light-b:
    radial-gradient(880px 560px at 90% 12%,
      rgba(1, 29, 188, .24),
      transparent 64%),
    radial-gradient(720px 460px at 8% 84%,
      rgba(218, 175, 55, .26),
      transparent 66%),
    linear-gradient(178deg,
      #EAEFFA,
      #F4F7FD 46%,
      #E8EEFB);


  /*
 * DARK
 * Exact visual language from Home Companies
 */
  --ed-surface-dark-bg:
    radial-gradient(900px 560px at 78% 20%,
      rgba(1, 29, 188, .12),
      transparent 68%),
    radial-gradient(700px 460px at 8% 86%,
      rgba(218, 175, 55, .08),
      transparent 70%),
    #0B1226;



  /* ===================================================
     CONTENT WIDTH / GUTTERS
     Home split-section reference
  =================================================== */

  --ed-shell-max:
    1280px;

  --ed-page-gutter:
    48px;

  --ed-split-gap:
    76px;
  --ed-hero-rule-top:
    23px;

  --ed-hero-rule-bottom:
    20px;



  /* ===================================================
     SECTION SPACING
  =================================================== */

  --ed-section-space:
    132px;

  --ed-section-space-large:
    140px;



  /* ===================================================
     TYPOGRAPHY
     Taken from Home
  =================================================== */

  /* Main section heading */
  --ed-type-section-title:
    clamp(29px,
      3.2vw,
      46px);

  --ed-line-section-title:
    1.16;


  /* Larger editorial heading e.g. WHY ED */
  --ed-type-display:
    clamp(30px,
      4vw,
      58px);

  --ed-line-display:
    1.1;


  /* Lead paragraph */
  --ed-type-lead:
    17px;

  --ed-line-lead:
    1.7;


  /* Normal description */
  --ed-type-body:
    16px;

  --ed-line-body:
    1.75;


  /* Micro / eyebrow */
  --ed-type-eyebrow:
    14px;

  --ed-type-meta:
    10.5px;

  /* Home hero headline */
  --ed-type-hero-title:
    clamp(28px,
      3.9vw,
      62px);


  /* Home list / supporting text */
  --ed-type-list:
    17px;


  /* Home card description */
  --ed-type-card-copy:
    14px;


  /* Home card heading */
  --ed-type-card-title:
    clamp(19px,
      1.6vw,
      24px);


  /* Home text CTA */
  --ed-type-button:
    15px;

  --ed-hero-cta-gap:
    26px;



  /* ===================================================
   INNER PAGE HERO RHYTHM
   Home is the reference
=================================================== */

  --ed-hero-min-height:
    calc(100svh - 52px);

  --ed-hero-padding-top:
    140px;

  --ed-hero-padding-bottom:
    80px;



  /* ===================================================
     COMMON TEXT COLORS
  =================================================== */

  --ed-text-dark:
    #0B1226;

  --ed-text-dark-soft:
    rgba(11,
      18,
      38,
      .74);

  --ed-text-light:
    #FFFFFF;

  --ed-text-light-soft:
    rgba(255,
      255,
      255,
      .62);



  /* ===================================================
     MOTION
     Matches Home animation language
  =================================================== */

  --ed-motion-duration:
    .85s;

  --ed-motion-ease:
    cubic-bezier(.2,
      .8,
      .2,
      1);

  --ed-heading-gap:
    28px;

}



/* =====================================================
   RESPONSIVE GLOBAL TOKENS
===================================================== */

@media (max-width: 899px) {

  :root {

    --ed-hero-min-height:
      auto;

    --ed-hero-padding-top:
      124px;

    --ed-hero-padding-bottom:
      64px;

    --ed-page-gutter:
      24px;

    --ed-split-gap:
      40px;

    --ed-section-space:
      96px;

    --ed-section-space-large:
      105px;

    --ed-heading-gap:
      26px;

  }

}


@media (max-width: 640px) {

  :root {

    --ed-hero-padding-top:
      108px;

    --ed-hero-padding-bottom:
      50px;

    --ed-page-gutter:
      20px;

    --ed-section-space:
      80px;

    --ed-section-space-large:
      80px;

    --ed-split-gap:
      28px;

    --ed-heading-gap:
      24px;

    --ed-hero-rule-top:
      18px;

    --ed-hero-rule-bottom:
      18px;

    --ed-hero-cta-gap:
      24px;

  }

}



/* =====================================================
   GLOBAL BASE
===================================================== */
 


body {
  margin: 0;

  min-width:
    320px;

  overflow-x:
    hidden;

  background:
    #FFFFFF;

  color:
    #FFFFFF;

  font-family:
    var(--ed-font-body);

  -webkit-font-smoothing:
    antialiased;

  text-rendering:
    optimizeLegibility;
}


a {
  color:
    var(--ed-gold-dark);

  text-decoration:
    none;
}


a:hover {
  color:
    var(--ed-gold-light);
}


::selection {
  background:
    var(--ed-gold-dark);

  color:
    #EDF1FA;
}



/* =====================================================
   GLOBAL FONT ROLES
===================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:
    var(--ed-font-heading);
}


p,
li,
input,
textarea,
select,
button {
  font-family:
    var(--ed-font-body);
}



/* =====================================================
   GLOBAL CONTENT SHELL

   This is based directly on Home:
   max-width 1280px + 48px desktop gutter.
===================================================== */

.ed-shell {
  position:
    relative;

  width:
    100%;

  max-width:
    var(--ed-shell-max);

  margin-inline:
    auto;

  padding-inline:
    var(--ed-page-gutter);
}

/* =====================================================
   INNER PAGE SHELLS
   Same spacing as Home
===================================================== */

.about-page-shell,
.capital-page-shell,
.consulting-page-shell,
.contact-page-shell,
.companies-page-shell {

  position: relative;

  width: 100%;

  max-width:
    var(--ed-shell-max);

  margin:
    0 auto;

  padding-left:
    var(--ed-page-gutter);

  padding-right:
    var(--ed-page-gutter);
}


/* =====================================================
   GLOBAL TYPOGRAPHY ROLES
===================================================== */

.ed-section-title {
  margin: 0;

  font-family:
    var(--ed-font-heading);

  font-size:
    var(--ed-type-section-title);

  font-weight:
    500;

  line-height:
    var(--ed-line-section-title);

  letter-spacing:
    -.02em;

  color:
    var(--ed-text-dark);

  text-wrap:
    pretty;
}


.ed-display-title {
  margin: 0;

  font-family:
    var(--ed-font-heading);

  font-size:
    var(--ed-type-display);

  font-weight:
    400;

  line-height:
    var(--ed-line-display);

  letter-spacing:
    -.03em;

  text-wrap:
    pretty;
}


.ed-lead-copy {
  margin: 0;

  font-family:
    var(--ed-font-body);

  font-size:
    var(--ed-type-lead);

  font-weight:
    300;

  line-height:
    var(--ed-line-lead);
}


.ed-body-copy {
  margin: 0;

  font-family:
    var(--ed-font-body);

  font-size:
    var(--ed-type-body);

  font-weight:
    300;

  line-height:
    var(--ed-line-body);
}


.ed-eyebrow {
  font-family:
    var(--ed-font-body);

  font-size:
    var(--ed-type-eyebrow);

  font-weight:
    400;

  letter-spacing:
    .3em;

  text-transform:
    uppercase;
}


.ed-meta {
  font-family:
    var(--ed-font-body);

  font-size:
    var(--ed-type-meta);

  letter-spacing:
    .28em;

  text-transform:
    uppercase;
}



/* =====================================================
   HOME-REFERENCE LIGHT SURFACE
===================================================== */

.ed-surface-light {
  background:
    var(--ed-surface-light-a);
}



/* =====================================================
   HOME-REFERENCE DARK SURFACE
===================================================== */

.ed-surface-dark {
  background:
    var(--ed-surface-dark-bg);
}


/* =====================================================
   ED LIGHT SURFACE TEXTURE
   Matches Home Consulting / Capital atmosphere
===================================================== */

:is(.capital-main-light,
  .consulting-light-section,
  .consulting-stages-section,
  .about-story-section,
  .about-imperatives-section,
  .about-support-section,
  .companies-page-directory,
  .contact-page-form-section)::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 0;

  opacity: .6;

  pointer-events: none;

  background-image:
    linear-gradient(rgba(2, 26, 94, .05) 1px,
      transparent 1px),
    linear-gradient(90deg,
      rgba(2, 26, 94, .05) 1px,
      transparent 1px);

  background-size:
    74px 74px;

  mask-image:
    radial-gradient(900px 600px at 50% 50%,
      #000,
      transparent 78%);

  -webkit-mask-image:
    radial-gradient(900px 600px at 50% 50%,
      #000,
      transparent 78%);
}

/* =====================================================
   LIGHT SURFACE TOP SEPARATOR
===================================================== */

:is(.capital-main-light,
  .consulting-light-section,
  .consulting-stages-section,
  .about-story-section,
  .about-imperatives-section,
  .about-support-section,
  .companies-page-directory,
  .contact-page-form-section)::after {

  content: "";

  position: absolute;

  z-index: 2;

  left: 0;
  right: 0;
  top: 0;

  height: 2px;

  pointer-events: none;

  background:
    linear-gradient(90deg,
      transparent,
      rgba(1, 29, 188, .45) 32%,
      rgba(184, 134, 11, .8) 55%,
      transparent);
}

:is(.capital-main-light,
  .consulting-light-section,
  .consulting-stages-section,
  .about-story-section,
  .about-imperatives-section,
  .about-support-section,
  .companies-page-directory,
  .contact-page-form-section)>* {

  z-index: 1;
}

/* =====================================================
   ED DARK SURFACE DEPTH
===================================================== */

:is(.capital-hero,
  .consulting-hero,
  .about-page-hero,
  .companies-page-hero,
  .contact-page-hero,
  .capital-deal-section,
  .consulting-fit-section,
  .about-lp2-section,
  .about-leadership-section) {

  border-top:
    1px solid rgba(255, 255, 255, .07);
}



/* =====================================================
   EXISTING ANIMATIONS
   Consolidated from old duplicate blocks
===================================================== */

@keyframes edmarquee {

  from {
    transform:
      translateX(0);
  }

  to {
    transform:
      translateX(-50%);
  }

}


@keyframes edpulse {

  0%,
  100% {
    opacity: .25;

    transform:
      scale(1);
  }

  50% {
    opacity: .6;

    transform:
      scale(1.06);
  }

}


@keyframes edctaSweep {

  0% {
    transform:
      translateX(-130%) skewX(-16deg);
  }

  55%,
  100% {
    transform:
      translateX(260%) skewX(-16deg);
  }

}


@keyframes edctaHalo {

  0%,
  100% {
    opacity: .35;

    transform:
      scale(1);
  }

  50% {
    opacity: .75;

    transform:
      scale(1.045);
  }

}


@keyframes edctaSpin {

  to {
    transform:
      rotate(360deg);
  }

}


@keyframes edctaDot {

  0%,
  100% {
    opacity: .35;

    transform:
      scale(.7);
  }

  50% {
    opacity: 1;

    transform:
      scale(1);
  }

}


@keyframes edSeam {

  0% {
    top: -30%;

    opacity: 0;
  }

  12% {
    opacity: 1;
  }

  88% {
    opacity: 1;
  }

  100% {
    top: 104%;

    opacity: 0;
  }

}


@keyframes edneuHalo {

  0%,
  100% {
    opacity: .5;

    transform:
      scale(1);
  }

  50% {
    opacity: .9;

    transform:
      scale(1.03);
  }

}


@keyframes edneuFloat {

  0%,
  100% {
    transform:
      translateY(0);
  }

  50% {
    transform:
      translateY(-7px);
  }

}


* {
  box-sizing: border-box;
}


button,
a {
  -webkit-tap-highlight-color: transparent;
}

#site-header,
#site-footer {
  display: contents;
}

[data-why-infinity] {
  opacity: 1;
}

/* =====================================================
   HOME - WHY ED INFINITY LABELS
===================================================== */

.why-infinity__label {
  position: absolute;

  top: 50%;

  transform:
    translateY(-50%);

  z-index: 2;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(18px, 2vw, 27px);

  font-weight:
    400;

  line-height:
    1;

  color:
    #072FA7;

  pointer-events:
    none;

  white-space:
    nowrap;
}


/* LEFT LOOP */
.why-infinity__label--building {
  left:
    19%;
}


/* RIGHT LOOP */
.why-infinity__label--investing {
  right:
    19%;
}

@media (max-width: 640px) {

  .why-infinity__label {
    font-size:
      14px;
  }


  .why-infinity__label--building {
    left:
      15%;
  }


  .why-infinity__label--investing {
    right:
      14%;
  }

}

/* =====================================================
   MOBILE STATS - 2x2 COMPACT GRID
===================================================== */

@media (max-width: 640px) {

  [data-stats] {
    padding: 16px 0 !important;
  }

  [data-stats-grid] {
    margin-left: 12px !important;
    margin-right: 12px !important;

    padding: 0 !important;

    grid-template-columns: repeat(2, 1fr) !important;

    border-radius: 16px !important;

    overflow: hidden;
  }

  [data-stats-grid]>div {
    padding: 18px 14px !important;

    min-height: 112px;

    border-right: 0 !important;
  }

  /* Left column divider */
  [data-stats-grid]>div:nth-child(odd) {
    border-right:
      1px solid rgba(255, 255, 255, .10) !important;
  }

  /* Top row divider */
  [data-stats-grid]>div:nth-child(-n+2) {
    border-bottom:
      1px solid rgba(255, 255, 255, .10);
  }

  /* Number */
  [data-stats-grid]>div>div:first-child {
    font-size: 28px !important;
    line-height: 1 !important;
  }

  /* Description */
  [data-stats-grid]>div>div:last-child {
    margin-top: 7px !important;

    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* =====================================================
   CONSULTING / CAPITAL 2x2 GRID SLIDER
===================================================== */

.ed-grid-slider {
  position: relative;
  width: 100%;
  min-width: 0;
}

.ed-grid-slider-viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 1.04 / 1;
  overflow: hidden;
  border-radius: 18px;
}

/* Every group of four images moves as ONE slide */
.ed-grid-slide {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: transform;
}

.ed-grid-slide.is-active {
  visibility: visible;
  pointer-events: auto;
}

/* =====================================================
   MASONRY 2x2 IMAGE GRID
===================================================== */

.ed-grid-images {
  position: absolute;
  inset: 0;

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  /*
   * 12 smaller rows give us control over
   * different image heights.
   */
  grid-template-rows:
    repeat(12, minmax(0, 1fr));

  gap: 10px;

  pointer-events: none;
}

/*
 * Figma-style masonry:
 *
 * LEFT:
 * image 1 = tall
 * image 3 = short
 *
 * RIGHT:
 * image 2 = short
 * image 4 = tall
 */

.ed-grid-image:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 7;
}

.ed-grid-image:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / span 5;
}

.ed-grid-image:nth-child(3) {
  grid-column: 1;
  grid-row: 8 / span 5;
}

.ed-grid-image:nth-child(4) {
  grid-column: 2;
  grid-row: 6 / span 7;
}

.ed-grid-image {
  position: relative;
  overflow: hidden;
  border-radius: 10px;

  /* Important:
     incoming slide remains transparent while
     its image is entering */
  background: transparent;

  pointer-events: auto;
}

/*
 * Image itself is absolute because this
 * is what GSAP will slide.
 */
.ed-grid-image img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  will-change: transform;

  /*
   * Do NOT put regular transform transition here,
   * GSAP controls the swipe.
   */
}

.ed-grid-slide.is-active .ed-grid-image:hover img {
  /*
   * Remove old hover scale for now because
   * it can fight with GSAP xPercent.
   */
}

.ed-grid-slide.is-active .ed-grid-image:hover img {
  transform: scale(1.035);
}

/* Bottom content */
.ed-grid-slider-footer {
  min-height: 74px;
  padding-top: 18px;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
}

.ed-grid-caption {
  max-width: 70%;
  min-height: 54px;
}

.ed-grid-title {
  font-family: Jost, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #0b1226;
}

.ed-grid-subtitle {
  margin-top: 7px;

  font-family: Inter, sans-serif;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 300;

  color: rgba(11, 18, 38, 0.58);
}

/* Controls */
.ed-grid-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-shrink: 0;
}

.ed-grid-arrow {
  width: 36px;
  height: 36px;

  border: 0;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;

  color: #ffffff;
  background: #011dbc;

  box-shadow:
    0 7px 18px rgba(1, 29, 188, 0.24);

  transition:
    transform 0.3s cubic-bezier(.2, .8, .2, 1),
    background 0.3s ease,
    box-shadow 0.3s ease;
}

.ed-grid-arrow:hover {
  transform: translateY(-2px);
  background: #0b2fa8;

  box-shadow:
    0 11px 24px rgba(1, 29, 188, 0.3);
}

.ed-grid-arrow:active {
  transform: scale(0.92);
}


/* Tablet */
@media (max-width: 1150px) {
  .ed-grid-slider-viewport {
    aspect-ratio: 1.25 / 1;
  }

  .ed-grid-slider {
    max-width: 760px;
    margin: 0 auto;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .ed-grid-slider-viewport {
    aspect-ratio: 1 / 1;
    border-radius: 14px;
  }

  .ed-grid-images {
    gap: 7px;
  }

  .ed-grid-image {
    border-radius: 8px;
  }

  .ed-grid-slider-footer {
    padding-top: 15px;
    gap: 14px;
  }

  .ed-grid-caption {
    max-width: 60%;
  }

  .ed-grid-title {
    font-size: 14px;
  }

  .ed-grid-subtitle {
    font-size: 11px;
  }

  .ed-grid-auto-label {
    display: none;
  }

  .ed-grid-auto {
    width: 36px;
    padding: 0;
    justify-content: center;
  }

  .ed-grid-arrow {
    width: 34px;
    height: 34px;
  }
}

.ed-grid-slide {
  position: absolute;
  inset: 0;

  visibility: hidden;
  pointer-events: none;

  /*
   * Important:
   * slide container itself never moves.
   */
  transform: none !important;
}

.ed-grid-slide.is-active {
  visibility: visible;
  pointer-events: auto;
}

.ed-grid-slider-viewport {
  position: relative;
  width: 100%;

  aspect-ratio: 1.04 / 1;

  overflow: hidden;

  border-radius: 18px;

  background: #edf1fa;
}

/* =====================================================
   CAPITAL MOBILE ORDER
   Desktop: Grid → Content
   Mobile:  Content → Grid
===================================================== */

@media (max-width: 1150px) {

  /* Capital slider should appear AFTER the content */
  #capital [data-grid-slider] {
    order: 2;
  }

  /* Capital content should appear FIRST */
  #capital [data-split="capital"]>div:not([data-grid-slider]) {
    order: 1;
  }
}

@media (max-width: 1150px) {
  #capital [data-grid-slider] {
    order: 2;
    margin-top: 10px;
  }
}

/* =====================================================
   FOOTER ACCORDION
===================================================== */

.ed-footer-accordion-button {
  width: 100%;
  padding: 0;
  margin: 0 0 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border: 0;
  background: transparent;

  font-family: Jost, sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.24em;

  color: #DAAF37;

  cursor: default;
  text-align: left;
}

.ed-footer-links {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.ed-footer-links a {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 300;

  color: rgba(255, 255, 255, .7);

  transition:
    color .3s ease,
    transform .3s ease;
}


/* Plus icon hidden on desktop */
.ed-footer-plus {
  display: none;
}


/* Desktop content always visible */
.ed-footer-accordion-panel {
  max-height: none;
  overflow: visible;
  opacity: 1;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {

  .ed-footer {
    padding:
      48px 16px 24px !important;
  }

  .ed-footer-card {
    padding:
      34px 22px 24px !important;

    border-radius: 22px !important;
  }


  /*
   * Brand stays above accordions.
   */
  .ed-footer-brand {
    padding-bottom: 28px;
  }


  /*
   * Accordion separators
   */
  .ed-footer-accordion {
    border-top:
      1px solid rgba(255, 255, 255, .11);
  }

  .ed-footer-accordion:last-child {
    border-bottom:
      1px solid rgba(255, 255, 255, .11);
  }


  .ed-footer-accordion-button {
    height: 58px;

    margin: 0;
    padding: 0 2px;

    cursor: pointer;

    font-size: 11px;
    letter-spacing: .22em;
  }


  /*
   * + icon
   */
  .ed-footer-plus {
    position: relative;

    display: block;

    width: 18px;
    height: 18px;

    flex-shrink: 0;
  }

  .ed-footer-plus span {
    position: absolute;

    left: 50%;
    top: 50%;

    display: block;

    width: 13px;
    height: 1px;

    background: rgba(255, 255, 255, .72);

    transform:
      translate(-50%, -50%);

    transition:
      transform .4s cubic-bezier(.2, .8, .2, 1),
      opacity .3s ease,
      background .3s ease;
  }


  /*
   * Vertical part of +
   */
  .ed-footer-plus span:nth-child(2) {
    transform:
      translate(-50%, -50%) rotate(90deg);
  }


  /*
   * Closed accordion
   */
  .ed-footer-accordion-panel {
    max-height: 0;

    overflow: hidden;

    opacity: 0;

    transition:
      max-height .55s cubic-bezier(.2, .8, .2, 1),
      opacity .3s ease;
  }


  /*
   * Open accordion
   */
  .ed-footer-accordion.is-open .ed-footer-accordion-panel {
    max-height: 250px;

    opacity: 1;
  }


  /*
   * Convert + into -
   */
  .ed-footer-accordion.is-open .ed-footer-plus span:nth-child(2) {
    opacity: 0;

    transform:
      translate(-50%, -50%) rotate(0deg);
  }


  .ed-footer-accordion.is-open .ed-footer-plus span:first-child {
    background: #DAAF37;
  }


  /*
   * Link spacing inside accordion
   */
  .ed-footer-links {
    gap: 13px;

    padding:
      2px 2px 22px;
  }

  .ed-footer-links a {
    font-size: 13.5px;
  }


  /*
   * Bottom copyright area
   */
  .ed-footer-bottom {
    /* margin-top: 30px !important; */

    padding-top: 20px !important;

    flex-direction: column;

    gap: 9px !important;
  }
}

/* =====================================================
   COMPANIES MOBILE CAROUSEL
===================================================== */


/* Desktop:
   wrapper behaves as though it isn't there,
   so existing desktop Companies animation stays same.
*/
.companies-mobile-carousel {
  display: contents;
}


@media (max-width: 899px) {

  /* Prevent page itself from scrolling horizontally */
  #companies {
    overflow: hidden !important;
  }


  /* Companies main viewport */
  #companies [data-co-viewport] {
    min-height: auto !important;
    overflow: visible !important;
  }


  /* Main track becomes normal vertical layout */
  #companies [data-co-track] {
    display: block !important;

    width: 100% !important;

    padding: 70px 0 65px !important;

    transform: none !important;
  }


  /* ===============================
     INTRO CONTENT
  =============================== */

  #companies [data-co-intro] {
    width: 100% !important;
    max-width: none !important;

    padding: 0 20px !important;

    margin: 0 !important;

    box-sizing: border-box;

    flex: none !important;
  }


  #companies [data-co-head] {
    width: 100% !important;
    max-width: 100% !important;
  }


  #companies [data-co-lead] {
    width: 100% !important;
    max-width: 100% !important;

    margin-top: 0px !important;
    padding-bottom: 10px !important;
  }


  /* Hide desktop scroll hint on mobile */
  #companies [data-co-hint] {
    display: none !important;
  }


  /* ===============================
     CAROUSEL
  =============================== */

  .companies-mobile-carousel {
    display: flex;

    width: 100%;

    gap: 14px;

    margin-top: 35px;

    padding: 0 20px 15px;

    box-sizing: border-box;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;

    scroll-padding-left: 20px;

    -webkit-overflow-scrolling: touch;

    overscroll-behavior-x: contain;

    scrollbar-width: none;

    touch-action: pan-x pan-y;
  }


  .companies-mobile-carousel::-webkit-scrollbar {
    display: none;
  }


  /* ===============================
     EACH COMPANY CARD
  =============================== */

  .companies-mobile-carousel [data-co-card] {
    flex: 0 0 82vw !important;

    width: 82vw !important;

    max-width: 340px !important;

    height: 390px !important;

    scroll-snap-align: start;

    scroll-snap-stop: always;
  }


  /* ===============================
     END CONTENT
  =============================== */

  #companies [data-co-end] {
    width: 100% !important;
    max-width: none !important;

    padding: 35px 20px 0 !important;

    margin: 0 !important;

    box-sizing: border-box;

    flex: none !important;
  }


  /* Old desktop progress line not required */
  #companies [data-co-progress] {
    display: none !important;
  }

}

/* =====================================================
   WHY ED - MOBILE TIMELINE CAROUSEL
===================================================== */

/* Hide mobile-only swipe hint on desktop */
.why-swipe-hint {
  display: none;
}


@media (max-width: 759px) {

  /* -----------------------------------------
     Turn slab into an ordered vertical layout
  ----------------------------------------- */

  #about [data-why-slab] {
    display: flex !important;
    flex-direction: column !important;

    padding: 48px 18px 54px !important
  }


  /* -----------------------------------------
     1. ADVISE -------- EXECUTE
  ----------------------------------------- */

  #about .why-advise-row {
    order: 1;

    width: 100%;

    margin-bottom: 22px !important;
  }


  /* -----------------------------------------
     2. TIMELINE
        ----●----●----●----●----
  ----------------------------------------- */

  #about .why-timeline {
    order: 2;

    width: 100%;

    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }


  /* -----------------------------------------
     3. SWIPE HINT
  ----------------------------------------- */

  #about .why-swipe-hint {
    order: 3;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-bottom: 18px;

    font-family: Inter, sans-serif;

    font-size: 11px;

    font-weight: 500;

    letter-spacing: .22em;

    color: rgba(255, 255, 255, .42);
  }


  #about .why-swipe-hint span:first-child,
  #about .why-swipe-hint span:last-child {
    font-size: 14px;

    letter-spacing: 0;

    color: #F4D77A;
  }


  /* -----------------------------------------
     4. CARDS CAROUSEL
  ----------------------------------------- */

  #about [data-why-grid] {
    order: 4;

    display: flex !important;

    grid-template-columns: none !important;

    width: calc(100% + 18px) !important;

    gap: 12px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    padding-right: 18px;
    padding-bottom: 6px;

    scroll-snap-type: x mandatory;

    -webkit-overflow-scrolling: touch;

    overscroll-behavior-x: contain;

    scrollbar-width: none;

    touch-action: pan-x pan-y;
  }


  #about [data-why-grid]::-webkit-scrollbar {
    display: none;
  }


  /* -----------------------------------------
     EACH CARD
  ----------------------------------------- */

  #about [data-why-card] {
    flex: 0 0 78vw !important;

    width: 78vw !important;

    max-width: 300px !important;

    scroll-snap-align: start;

    scroll-snap-stop: always;

    padding: 22px 18px !important;

    border-radius: 18px !important;
  }

}

@media (max-width: 640px) {

  [data-stats-grid]>div {
    display: flex !important;
    flex-direction: column !important;

    justify-content: center !important;
    align-items: center !important;

    text-align: center !important;

    min-height: 110px;
  }

  [data-stats-grid]>div>div:first-child {
    text-align: center !important;
  }

  [data-stats-grid]>div>div:last-child {
    text-align: center !important;
    width: 100%;
  }

}


/* =====================================================
   CONSULTING + CAPITAL GRID SWIPE
===================================================== */

.ed-grid-slider-viewport {
  cursor: grab;

  /*
   * Allow normal vertical page scrolling
   * while horizontal gestures belong
   * to the slider.
   */
  touch-action: pan-y;

  user-select: none;
  -webkit-user-select: none;
}

.ed-grid-slider-viewport.is-dragging {
  cursor: grabbing;
}

.ed-grid-slider-viewport img {
  -webkit-user-drag: none;
  user-drag: none;

  pointer-events: none;
}

/* =====================================================
   CTA BACKGROUND VERSION TOGGLE
===================================================== */


/* -----------------------------------------------------
   VERSION 1
   Light / white CTA
----------------------------------------------------- */

#contact[data-cta-bg="v1"] {
  background: #f2f5fc;
}

#contact[data-cta-bg="v1"] .cta-version-photo {
  opacity: 0.34;
  filter: saturate(1.05) contrast(1.04);
}

#contact[data-cta-bg="v1"] .cta-version-overlay {
  background:
    linear-gradient(180deg,
      rgba(242, 245, 252, 0.90),
      rgba(242, 245, 252, 0.72) 45%,
      rgba(242, 245, 252, 0.94));
}

#contact[data-cta-bg="v1"] .cta-version-glow {
  background:
    radial-gradient(900px 520px at 50% 36%,
      rgba(1, 29, 188, 0.22),
      transparent 68%),
    radial-gradient(620px 420px at 12% 88%,
      rgba(218, 175, 55, 0.24),
      transparent 66%),
    radial-gradient(620px 420px at 90% 10%,
      rgba(218, 175, 55, 0.20),
      transparent 66%);
}


/* -----------------------------------------------------
   VERSION 2
   Dark blue CTA
----------------------------------------------------- */

#contact[data-cta-bg="v2"] {
  background: #021a5e;
}

#contact[data-cta-bg="v2"] .cta-version-photo {
  opacity: 0.16;

  filter:
    saturate(0.4) brightness(0.72) contrast(1.08);
}

#contact[data-cta-bg="v2"] .cta-version-overlay {
  background:
    linear-gradient(180deg,
      rgba(2, 26, 94, 0.72),
      rgba(3, 8, 28, 0.72));
}

#contact[data-cta-bg="v2"] .cta-version-glow {
  background:
    radial-gradient(900px 500px at 50% 40%,
      rgba(1, 29, 188, 0.55),
      transparent 70%),
    radial-gradient(650px 420px at 15% 85%,
      rgba(218, 175, 55, 0.13),
      transparent 70%);
}

@media (max-width: 899px) {

  .companies-mobile-carousel,
  #about [data-why-grid] {
    touch-action: pan-x pan-y !important;
  }

}

/* Card shadow only on laptop and larger */
@media (min-width: 1024px) {
  [data-co-card="1"] {
    box-shadow:
      12px 12px 30px rgba(0, 0, 0, 0.6),
      -9px -9px 22px rgba(255, 255, 255, 0.05);
  }
}

/* =====================================================
   MOBILE - COMPACT CONSULTING + CAPITAL
   Desktop remains unchanged
===================================================== */

@media (max-width: 759px) {

  #consulting,
  #capital {
    padding: 0px 0 !important;
  }

  #consulting [data-split="consulting"],
  #capital [data-split="capital"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 20px;

    gap: 28px !important;
  }

  /* Capital already moves image below content on mobile */
  #capital [data-grid-slider] {
    margin-top: 0 !important;
  }

}

/* =====================================================
   COMPANIES - MOBILE VERTICAL SCROLL CONTROL
===================================================== */

@media (max-width: 899px) {

  #companies {
    overflow: hidden !important;
  }


  /*
   * This is the fixed stage while
   * the cards travel horizontally.
   */
  #companies [data-co-viewport] {
    min-height: 100svh !important;

    overflow: hidden !important;

    display: flex !important;
    align-items: center !important;
  }


  /*
   * Keep current mobile layout:
   *
   * content
   * cards
   * ending content
   */
  #companies [data-co-track] {
    width: 100% !important;

    transform: none;

    padding:
      72px 0 42px !important;
  }


  /*
   * CAROUSEL WINDOW
   */
  .companies-mobile-carousel {
    display: flex !important;

    width: 100% !important;

    gap: 14px;

    margin-top: 28px;

    padding:
      0 20px 10px;

    box-sizing:
      border-box;


    /*
     * VERY IMPORTANT:
     * no native horizontal scrolling.
     */
    overflow: visible !important;

    scroll-snap-type:
      none !important;

    scroll-behavior:
      auto !important;

    /*
     * User's finger is reserved
     * for vertical page scrolling.
     */
    touch-action:
      pan-y !important;

    will-change:
      transform;
  }


  .companies-mobile-carousel [data-co-card] {

    flex:
      0 0 82vw !important;

    width:
      82vw !important;

    max-width:
      340px !important;

    height:
      390px !important;

    scroll-snap-align:
      none !important;

    scroll-snap-stop:
      normal !important;
  }

}

@media (max-width: 899px) {

  #companies [data-co-line] {
    transform: scaleX(1) !important;
    opacity: 1 !important;
  }

}

/* =====================================================
   CAPITAL PAGE - HERO
===================================================== */

.capital-page-body {
  margin: 0;
  background: #07184f;
}


/* =====================================================
   HERO BASE
===================================================== */

.capital-hero {
  position: relative;

  width: 100%;

  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


/* Subtle background texture */
.capital-hero::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(rgba(255, 255, 255, .018) 1px,
      transparent 1px),
    linear-gradient(90deg,
      rgba(255, 255, 255, .018) 1px,
      transparent 1px);

  background-size:
    90px 90px;

  mask-image:
    linear-gradient(to bottom,
      rgba(0, 0, 0, .25),
      transparent 80%);

  pointer-events: none;
}


.capital-hero__glow {
  position: absolute;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(10px);
}


.capital-hero__glow--one {
  width: 650px;
  height: 650px;

  right: -180px;
  top: 30px;

  background:
    radial-gradient(circle,
      rgba(20, 67, 196, .14),
      transparent 68%);
}


.capital-hero__glow--two {
  width: 420px;
  height: 420px;

  left: -170px;
  bottom: -170px;

  background:
    radial-gradient(circle,
      rgba(216, 177, 69, .06),
      transparent 70%);
}


/* =====================================================
   STAGE
===================================================== */


.capital-hero__stage {
  position: relative;
  z-index: 2;

  min-height:
    var(--ed-hero-min-height);

  padding:
    var(--ed-hero-padding-top) 0 var(--ed-hero-padding-bottom);

  display: flex;
  align-items: center;

}


.capital-hero__inner {
  position: relative;

  width: 100%;

  max-width:
    var(--ed-shell-max);

  margin:
    0 auto;

  padding-left:
    var(--ed-page-gutter);

  padding-right:
    var(--ed-page-gutter);

  gap:
    var(--ed-split-gap);
}


/* =====================================================
   LEFT CONTENT
===================================================== */

.capital-hero__content {
  width: 100%;
  max-width: 575px;
}


.capital-hero__eyebrow {
  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-hero-title);

  line-height: 1;

  font-weight: 400;

  letter-spacing: -.025em;

  color: #E0BB52;
}


.capital-hero__rule {
  width: 270px;
  max-width: 64%;

  height: 1px;

  margin-top:
    var(--ed-hero-rule-top);

  background:
    linear-gradient(90deg,
      #E0BB52,
      rgba(224, 187, 82, .18));

  transform-origin: left center;
}

.capital-hero__copy-block {
  margin-top:
    var(--ed-hero-rule-bottom);


  max-width: 545px;
}


.capital-hero__copy-block+.capital-hero__copy-block {
  margin-top: 22px;
}


.capital-hero__copy-block h3 {
  margin: 0 0 8px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-list);

  font-weight: 600;

  line-height: 1.5;

  color: #E0BB52;
}


.capital-hero__copy-block p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  line-height: 1.75;

  font-weight: 300;

  color:
    rgba(255,
      255,
      255,
      .61);
}


.capital-hero__copy-block p+p {
  margin-top: 2px;
}


/* =====================================================
   CTA
===================================================== */

.capital-hero__cta {
  position: relative;

  display: inline-flex;
  align-items: center;

  gap: 14px;

  margin-top:
    var(--ed-hero-cta-gap);

  padding:
    11px 12px 11px 20px;

  border:
    1px solid rgba(224,
      187,
      82,
      .72);

  border-radius: 999px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  font-weight: 400;

  text-decoration: none;

  color: #E8CB76;

  background:
    rgba(7,
      25,
      79,
      .28);

  overflow: hidden;

  transition:
    color .4s ease,
    background .4s ease,
    border-color .4s ease,
    transform .4s cubic-bezier(.2, .8, .2, 1);
}


.capital-hero__cta::before {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(100deg,
      transparent,
      rgba(224, 187, 82, .16),
      transparent);

  transform:
    translateX(-120%);

  transition:
    transform .7s ease;
}


.capital-hero__cta:hover {
  color: #07194F;

  background: #E0BB52;

  border-color: #E0BB52;

  transform:
    translateY(-2px);
}


.capital-hero__cta:hover::before {
  transform:
    translateX(120%);
}


.capital-hero__cta-icon {
  position: relative;

  width: 26px;
  height: 26px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  border:
    1px solid rgba(224,
      187,
      82,
      .42);


  transition:
    transform .4s ease,
    border-color .4s ease;
}


.capital-hero__cta:hover .capital-hero__cta-icon {
  border-color:
    rgba(7, 25, 79, .3);
}


.capital-hero__cta:hover .capital-hero__cta-icon svg {
  transform:
    translate(1px, -1px);
}

.capital-hero__cta:hover .capital-hero__cta-icon {
  border-color:
    rgba(7, 25, 79, .3);
}


.capital-hero__cta:hover .capital-hero__cta-icon svg {
  transform:
    translate(1px, -1px);
}


/* =====================================================
   RIGHT ART
===================================================== */




.capital-hero__art-wrap::before {
  content: "";

  position: absolute;

  left: 50%;
  top: 54%;

  width: 68%;
  aspect-ratio: 1;

  transform:
    translate(-50%,
      -50%);

  background:
    radial-gradient(circle,
      rgba(224, 187, 82, .07),
      rgba(1, 31, 253, .035) 40%,
      transparent 70%);

  border-radius: 50%;

  filter:
    blur(12px);

  pointer-events: none;
}




/* =====================================================
   GOLD RAIL
===================================================== */

.capital-hero__rail {
  position: relative;
  z-index: 4;

  width: 100%;

  overflow: hidden;

  background:
    linear-gradient(90deg,
      #C89E2D 0%,
      #E0BB52 48%,
      #C99B25 100%);

  border-top:
    1px solid rgba(255,
      241,
      182,
      .45);

  border-bottom:
    1px solid rgba(100,
      70,
      0,
      .16);
}


.capital-hero__rail-track {
  width: max-content;

  min-height: 54px;

  display: flex;
  align-items: center;

  gap:
    clamp(28px,
      3.5vw,
      58px);

  padding:
    0 30px;

  animation:
    capitalHeroRail 28s linear infinite;
}


.capital-hero__rail-track span {
  white-space: nowrap;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: .25em;

  color: #17224B;
}


.capital-hero__rail-track i {
  font-style: normal;

  font-size: 7px;

  color:
    rgba(255,
      242,
      181,
      .9);
}


@keyframes capitalHeroRail {

  from {
    transform:
      translateX(0);
  }

  to {
    transform:
      translateX(-50%);
  }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1023px) {


  .capital-hero__inner {
    gap:
      var(--ed-split-gap);
  }


  .capital-hero__content {
    max-width: 680px;
  }




}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {




  .capital-hero__inner {
    gap: 18px;
  }





  .capital-hero__rule {
    width: 170px;

    margin-top: 16px;
  }




  .capital-hero__copy-block+.capital-hero__copy-block {
    margin-top: 17px;
  }





  .capital-hero__copy-block p {
    line-height: 1.65;
  }





  .capital-hero__art-wrap {
    width: 100%;

    max-width: 420px;

    margin:
      -3px auto -12px;
  }




  .capital-hero__rail-track {
    min-height: 48px;

    gap: 34px;

    animation-duration:
      22s;
  }


  .capital-hero__rail-track span {
    font-size: 8px;
  }



}




/* =====================================================
   CAPITAL - EXACT VECTOR ANIMATION
===================================================== */

.capital-hero__art-wrap {
  position: relative;

  width: 100%;
  max-width: 650px;

  justify-self: end;
}


.capital-vector-scene {
  position: relative;

  width: 100%;

  aspect-ratio: 532 / 438;

  transform-origin: center;
}

.capital-vector-wobble {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  transform-origin: 50% 55%;

  will-change: transform;
}


/* =====================================================
   ORIGINAL SVG
===================================================== */

.capital-vector-original {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  display: block;

  border: 0;

  pointer-events: none;

  opacity: 0;
}


/* =====================================================
   MOTION SVG
===================================================== */

.capital-vector-motion {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  overflow: visible;

  pointer-events: none;
}


/* =====================================================
   DRAWING LINES
===================================================== */

.capital-motion-path {
  fill: none;

  stroke:
    url(#capitalMotionGold);

  stroke-width: 4;

  stroke-linecap: round;
  stroke-linejoin: round;

  opacity: .72;

  filter:
    drop-shadow(0 0 5px rgba(224, 187, 82, .24));
}


 

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1023px) {

  .capital-hero__art-wrap {
    max-width: 560px;

    margin: 0 auto;

    justify-self: center;
  }

}


@media (max-width: 640px) {




  .capital-motion-path {
    stroke-width: 5;
  }


  .capital-motion-path--soft {
    stroke-width: 3.5;
  }

}





/* =====================================================
   LIGHT AREA
===================================================== */

.capital-main-light {
  position: relative;

  padding:
    26px 0 90px;

  overflow: hidden;

  background:
    var(--ed-surface-light-b);
}



/* =====================================================
   VIDEO
===================================================== */




.capital-video-card {
  position: relative;

  display: block;

  width: 100%;

  aspect-ratio: 2.82 / 1;

  padding: 0;

  overflow: hidden;

  border: 0;

  border-radius: 11px;

  background: #111;

  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;

  font: inherit;

  color: inherit;
}


.capital-video-card__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform 1s cubic-bezier(.2, .8, .2, 1);
}


.capital-video-card__overlay {
  position: absolute;
  inset: 0;

  background:
    rgba(5,
      8,
      20,
      .48);

  transition:
    background .5s ease;
}


.capital-video-card:hover .capital-video-card__image {
  transform: scale(1.025);
}


.capital-video-card:hover .capital-video-card__overlay {
  background:
    rgba(5,
      8,
      20,
      .39);
}


/* PLAY BUTTON */

.capital-video-card__play {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 60px;
  height: 60px;

  transform:
    translate(-50%,
      -50%);

  transition:
    transform .45s ease;
}


.capital-video-card__play svg {
  display: block;

  width: 100%;
  height: 100%;
}


.capital-video-card__play circle {
  fill:
    rgba(6,
      18,
      61,
      .34);

  stroke:
    rgba(224,
      187,
      82,
      .9);

  stroke-width: 1;
}


.capital-video-card__play path {
  fill: #E0BB52;
}


.capital-video-card:hover .capital-video-card__play {
  transform:
    translate(-50%,
      -50%) scale(1.08);
}

.capital-video-card:focus-visible {
  outline: 2px solid #E0BB52;
  outline-offset: 4px;
}

/* =====================================================
   CAPITAL VIDEO LIGHTBOX
===================================================== */

.capital-video-lightbox {
  position: fixed;
  inset: 0;

  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 32px;

  opacity: 0;
  visibility: hidden;

  pointer-events: none;
}


.capital-video-lightbox.is-open {
  visibility: visible;

  pointer-events: auto;
}


.capital-video-lightbox__backdrop {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  padding: 0;

  border: 0;

  background:
    rgba(2,
      8,
      30,
      .92);

  backdrop-filter:
    blur(12px);

  -webkit-backdrop-filter:
    blur(12px);

  cursor: pointer;
}


.capital-video-lightbox__panel {
  position: relative;

  z-index: 2;

  width:
    min(1180px,
      92vw);

  aspect-ratio: 16 / 9;

  background: #000;

  border:
    1px solid rgba(224,
      187,
      82,
      .24);

  box-shadow:
    0 35px 100px rgba(0,
      0,
      0,
      .65);
}


.capital-video-lightbox__video {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;

  background: #000;
}


.capital-video-lightbox__close {
  position: absolute;

  top: -18px;
  right: -18px;

  z-index: 5;

  width: 46px;
  height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border:
    1px solid rgba(224,
      187,
      82,
      .72);

  border-radius: 50%;

  background: #07184F;

  cursor: pointer;

  transition:
    transform .35s ease,
    background .35s ease;
}


.capital-video-lightbox__close span {
  position: absolute;

  width: 16px;
  height: 1px;

  background: #E0BB52;

  transition:
    background .35s ease;
}


.capital-video-lightbox__close span:first-child {
  transform:
    rotate(45deg);
}


.capital-video-lightbox__close span:last-child {
  transform:
    rotate(-45deg);
}


.capital-video-lightbox__close:hover {
  transform:
    rotate(90deg);

  background: #E0BB52;
}


.capital-video-lightbox__close:hover span {
  background: #07184F;
}


@media (max-width: 640px) {

  .capital-video-lightbox {
    padding: 14px;
  }


  .capital-video-lightbox__panel {
    width: 100%;
  }


  .capital-video-lightbox__close {
    top: -52px;
    right: 0;
  }

}



/* =====================================================
   INVESTMENTS
===================================================== */

.capital-investments-layout {
  display: grid;

  grid-template-columns:
    minmax(0, .78fr) minmax(470px, 1.22fr);

  align-items: center;

  gap:
    var(--ed-split-gap);

  padding:
    60px 0 0;
}


.capital-investments-content {
  max-width: 470px;
}


.capital-investments-content h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  line-height: 1;

  letter-spacing: -.025em;

  color: #092A8B;
}


.capital-investments-heading-line {
  width: 205px;
  max-width: 70%;

  height: 1px;

  margin:
    18px 0 15px;

  background:
    linear-gradient(90deg,
      #C8A33A,
      rgba(200, 163, 58, .2));
}


.capital-investments-content p {
  margin:
    0 0 14px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.52;

  color:
    rgba(23,
      35,
      67,
      .56);
}


.capital-investments-content .capital-investments-intro {
  color:
    rgba(23,
      35,
      67,
      .63);
  font-size:
    var(--ed-type-body);
}


.capital-investments-content .capital-investments-question {
  margin-top: 18px;

  color:
    rgba(23,
      35,
      67,
      .45);
}



/* GOLD BUTTON */

.capital-gold-button {
  display: inline-flex;

  align-items: center;

  gap: 11px;

  margin-top: 6px;

  padding:
    11px 12px 11px 18px;

  border-radius: 999px;

  background:
    linear-gradient(90deg,
      #F1C748,
      #D7A817);

  font-family:
    Inter,
    sans-serif;

  font-size: 14px;

  font-weight: 500;

  text-decoration: none;

  color: #152252;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.capital-gold-button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 12px 28px rgba(190, 145, 24, .2);
}


.capital-gold-button__icon {
  width: 23px;
  height: 23px;

  display: flex;
  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(21,
      34,
      82,
      .28);

  border-radius: 50%;

}



/* =====================================================
   INVESTMENT INFINITY
===================================================== */

.capital-investments-infinity {
  position: relative;

  width: 100%;

  min-height: 300px;

  display: flex;
  align-items: center;
  justify-content: center;
}


.capital-investments-infinity__svg {
  width: 100%;
  height: auto;

  display: block;

  overflow: visible;
}


.capital-investments-infinity__ghost {
  fill: none;

  stroke:
    rgba(224,
      187,
      82,
      .13);

  stroke-width: 2.2;
}


.capital-investments-infinity__path {
  fill: none;

  stroke: #DFB83C;

  stroke-width: 1.45;

  stroke-linecap: round;
  stroke-linejoin: round;
}


.capital-investments-infinity__path--secondary {
  opacity: .85;
}


.capital-investments-infinity__accent {
  fill: none;

  stroke: #DFB83C;

  stroke-width: 1.2;

  stroke-linecap: round;

  opacity: .85;
}


.capital-investments-infinity__center {
  fill: #D5A91F;

  filter:
    drop-shadow(0 0 7px rgba(213, 169, 31, .32));
}


.capital-investments-infinity__dot {
  fill: #E7C552;

  opacity: 0;

  filter:
    drop-shadow(0 0 5px rgba(224, 187, 82, .9));
}


.capital-investments-infinity__dot--small {
  fill: #D5A91F;
}


.capital-investments-infinity__decor {
  fill: #DFB83C;
}


.capital-investments-infinity__label {
  position: absolute;

  top: 50%;

  transform:
    translateY(-50%);

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(21px,
      2.25vw,
      34px);

  font-weight: 400;

  color: #072FA7;

  pointer-events: none;
}


.capital-investments-infinity__label--building {
  left: 17%;
}


.capital-investments-infinity__label--investing {
  right: 13%;
}



/* =====================================================
   DEAL ADVISORY
===================================================== */

.capital-deal-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


.capital-deal-layout {
  display: grid;

  grid-template-columns:
    minmax(300px, .82fr) minmax(500px, 1.18fr);

  align-items: start;

  gap:
    var(--ed-split-gap);
}



/* LEFT */

.capital-deal-kicker {
  display: block;

  margin-bottom: 18px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-eyebrow);

  font-weight: 500;

  letter-spacing: .03em;

  color: #E1BD4C;
}


.capital-deal-content h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 300;

  line-height: 1.33;

  letter-spacing: -.025em;

  color: #FAFAFC;
}


.capital-deal-heading-line {
  width: 250px;
  max-width: 72%;

  height: 1px;

  margin:
    15px 0 15px;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .15));
}


.capital-deal-content p {
  max-width: 470px;

  margin:
    0 0 23px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.65;

  color:
    rgba(255,
      255,
      255,
      .55);
}


.capital-deal-button {
  display: inline-flex;

  align-items: center;

  gap: 20px;

  padding:
    12px 18px;

  border-radius: 999px;

  background:
    linear-gradient(90deg,
      #F0C94E,
      #D7A719);

  font-family:
    Inter,
    sans-serif;


  font-size:
    var(--ed-type-button);

  font-weight: 500;

  text-decoration: none;

  color: #17224B;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.capital-deal-button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 12px 30px rgba(218, 175, 55, .18);
}



/* =====================================================
   ACCORDION
===================================================== */

.capital-deal-accordion {
  display: flex;

  flex-direction: column;

  gap: 10px;
}


.capital-deal-item {
  border:
    1px solid rgba(216,
      177,
      69,
      .8);

  border-radius: 7px;

  overflow: hidden;

  background:
    rgba(255,
      255,
      255,
      .025);

  transition:
    background .4s ease;
}


.capital-deal-item.is-active {
  background:
    rgba(255,
      255,
      255,
      .065);
}


.capital-deal-item__button {
  width: 100%;

  display: flex;
  align-items: center;

  justify-content:
    space-between;

  gap: 20px;

  padding:
    15px 20px;

  border: 0;

  background: transparent;

  cursor: pointer;

  text-align: left;

  appearance: none;
  -webkit-appearance: none;

  font: inherit;

  color: inherit;
}

.capital-deal-item__button:focus-visible {
  outline: 1px solid #E1BC48;
  outline-offset: -3px;
}

.capital-deal-item__title {
  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-list);

  font-weight: 500;

  color: #E1BC48;
}


.capital-deal-item__icon {
  position: relative;

  flex: 0 0 auto;

  width: 18px;
  height: 18px;
}


.capital-deal-item__icon::before,
.capital-deal-item__icon::after {
  content: "";

  position: absolute;

  left: 50%;
  top: 50%;

  width: 16px;
  height: 1px;

  background:
    rgba(224,
      187,
      82,
      .75);

  transform:
    translate(-50%,
      -50%);

  transition:
    transform .35s ease;
}


.capital-deal-item__icon::after {
  transform:
    translate(-50%,
      -50%) rotate(90deg);
}


.capital-deal-item.is-active .capital-deal-item__icon::after {
  transform:
    translate(-50%,
      -50%) rotate(0deg);
}


.capital-deal-item__body {
  height: 0;

  overflow: hidden;
}


.capital-deal-item__body-inner {
  padding:
    0 28px 24px 28px;
}


.capital-deal-item__body p {
  max-width: 630px;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 300;

  line-height: 1.85;

  color:
    rgba(255,
      255,
      255,
      .55);
}



/* =====================================================
   FINAL STRUCTURE CTA
===================================================== */

.capital-structure-cta {
  position: relative;

  min-height:
    clamp(300px,
      30vw,
      420px);

  display: flex;
  align-items: center;
  justify-content: center;

  padding:
    65px 20px;

  overflow: hidden;

  background-image:
    url("../images/capital-cta.jpeg");

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;
}


/* .capital-structure-cta__overlay {
  position: absolute;
  inset: 0;

  background:
    rgba(255,
      255,
      255,
      .72);

  backdrop-filter:
    saturate(.9);

  -webkit-backdrop-filter:
    saturate(.9);
} */



.capital-structure-cta__content {
  position: relative;
  z-index: 2;

  width:
    min(660px,
      100%);

  margin: auto;

  text-align: center;
}


.capital-structure-cta h2 {
  margin:
    0 0 22px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-display);

  font-weight: 400;

  line-height: 1.08;

  letter-spacing: -.025em;

  color: #303030;
}


.capital-structure-cta p {
  width:
    min(530px,
      100%);

  margin:
    0 auto 23px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  line-height: 1.55;

  color:
    rgba(42,
      42,
      42,
      .52);
}


.capital-structure-cta__button {
  display: inline-flex;

  align-items: center;

  gap: 18px;

  padding:
    11px 18px;

  border-radius: 999px;

  background:
    linear-gradient(90deg,
      #F0C848,
      #D9A914);

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  font-weight: 600;

  text-decoration: none;

  color: #17224B;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.capital-structure-cta__button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 12px 30px rgba(190, 145, 24, .2);
}



/* =====================================================
   TABLET
===================================================== */

@media (max-width: 899px) {



  .capital-video-card {
    aspect-ratio: 16 / 7;
  }


  .capital-investments-layout {
    grid-template-columns: 1fr;

    gap:
      var(--ed-split-gap);

    padding-top: 50px;
  }


  .capital-investments-content {
    max-width: 580px;
  }


  .capital-investments-infinity {
    width:
      min(650px,
        100%);

    margin: auto;
  }


  .capital-deal-layout {
    grid-template-columns: 1fr;

    gap:
      var(--ed-split-gap);
  }

}



/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {



  .capital-main-light {
    padding:
      18px 0 65px;
  }


  .capital-video-card {
    aspect-ratio: 16 / 10;

    border-radius: 8px;
  }


  .capital-video-card__play {
    width: 52px;
    height: 52px;
  }


  .capital-investments-layout {
    padding-top: 42px;
  }




  .capital-investments-infinity {
    min-height: 0;
  }

  .capital-investments-infinity__svg {
    width: 100%;
    max-width: 520px;

    margin: 0 auto;
  }

  .capital-investments-infinity__label {
    font-size: 19px;
  }


  .capital-investments-infinity__label--building {
    left: 14%;
  }


  .capital-investments-infinity__label--investing {
    right: 10%;
  }



  .capital-deal-item__button {
    padding:
      14px 15px;
  }


  .capital-deal-item__body-inner {
    padding:
      0 16px 20px;
  }


  .capital-structure-cta {
    min-height: 350px;
  }



}

/* =====================================================
   CONTACT PAGE
===================================================== */

.contact-page-body {
  margin: 0;

  background: #061642;
}



/* =====================================================
   HERO
===================================================== */

.contact-page-hero {
  position: relative;


  display: flex;
  align-items: center;

  overflow: hidden;
  min-height:
    var(--ed-hero-min-height);

  padding:
    var(--ed-hero-padding-top) 0 var(--ed-hero-padding-bottom);
  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


.contact-page-hero::after {
  content: "";

  position: absolute;

  left: 0;
  right: 0;
  bottom: 0;

  height: 1px;

  background:
    linear-gradient(90deg,
      transparent,
      rgba(224, 187, 82, .3),
      transparent);
}


.contact-page-hero__grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.08fr) minmax(390px, .92fr);

  align-items: center;

  gap:
    var(--ed-split-gap);
}


/* LEFT */

.contact-page-hero__content {
  max-width: 660px;
}


.contact-page-hero__content h1 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-hero-title);

  font-weight: 300;

  line-height: 1.08;

  letter-spacing: -.035em;

  color: #E0BB52;
}


.contact-page-hero__line {
  width: 315px;
  max-width: 65%;

  height: 1px;

  margin:
    var(--ed-hero-rule-top) 0 var(--ed-hero-rule-bottom);

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .14));
}


.contact-page-hero__content p {
  max-width: 720px;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.8;

  color:
    rgba(255,
      255,
      255,
      .56);
}


/* =====================================================
   GLOBE
===================================================== */

.contact-page-globe {
  position: relative;

  width:
    min(100%,
      455px);

  justify-self: end;

  aspect-ratio: 625 / 509;

  display: flex;
  align-items: center;
  justify-content: center;
}


.contact-page-globe__inner {
  position: relative;

  z-index: 2;

  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  transform-origin: center;

  will-change: transform;
}


.contact-page-globe__inner img,
.contact-page-globe__inner object {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;

  pointer-events: none;

  user-select: none;

  -webkit-user-drag: none;
}


.contact-page-globe__svg {
  border: 0;
  overflow: hidden;
}


.contact-page-globe__glow {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 75%;
  aspect-ratio: 1;

  transform:
    translate(-50%,
      -50%);

  border-radius: 50%;

  background:
    radial-gradient(circle,
      rgba(224, 187, 82, .075),
      rgba(1, 31, 253, .035) 45%,
      transparent 72%);

  filter:
    blur(12px);

  pointer-events: none;
}


/* =====================================================
   FORM SECTION
===================================================== */

.contact-page-form-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-light-a);
}


.contact-page-card {
  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr) minmax(380px, .95fr);

  overflow: hidden;

  border-radius: 19px;

  background:
    linear-gradient(115deg,
      #07184F,
      #081E69);

  box-shadow:
    0 25px 70px rgba(7, 24, 79, .1);
}


/* =====================================================
   FORM LEFT
===================================================== */

.contact-page-form-wrap {
  padding:
    42px 42px 38px;
}


.contact-page-form-wrap h2,
.contact-page-info h2,
.contact-page-social h3 {
  margin:
    0 0 22px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-card-title);

  font-weight: 400;

  color: #E0BB52;
}

.contact-page-form__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    0px 24px;
}

.contact-page-field {
  margin-bottom: 20px;
}

.contact-page-field label {
  display: block;

  margin-bottom: 8px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 400;

  color:
    rgba(255,
      255,
      255,
      .92);
}


.contact-page-field input,
.contact-page-field select,
.contact-page-field textarea {
  width: 100%;

  display: block;

  box-sizing: border-box;

  border:
    1px solid rgba(255,
      255,
      255,
      .12);

  border-radius: 4px;

  outline: none;

  background: #fff;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  color: #17224B;

  transition:
    border-color .3s ease,
    box-shadow .3s ease;
}


.contact-page-field input,
.contact-page-field select {
  height: 42px;

  padding:
    0 12px;
}


.contact-page-field textarea {
  min-height: 115px;

  padding: 12px;

  resize: vertical;
}


.contact-page-field input::placeholder,
.contact-page-field textarea::placeholder {
  color:
    rgba(23,
      34,
      75,
      .42);
}


.contact-page-field input:focus,
.contact-page-field select:focus,
.contact-page-field textarea:focus {
  border-color: #D8B145;

  box-shadow:
    0 0 0 3px rgba(216, 177, 69, .12);
}


/* SELECT */

.contact-page-select-wrap {
  position: relative;
}


.contact-page-field select {
  appearance: none;

  -webkit-appearance: none;

  padding-right: 40px;

  cursor: pointer;
}


.contact-page-select-arrow {
  position: absolute;

  right: 15px;
  top: 50%;

  width: 8px;
  height: 8px;

  border-right:
    1.5px solid #17224B;

  border-bottom:
    1.5px solid #17224B;

  transform:
    translateY(-70%) rotate(45deg);

  pointer-events: none;
}


/* SUBMIT */

.contact-page-form__footer {
  display: flex;
  align-items: center;

  gap: 18px;
}


.contact-page-submit {
  min-width: 180px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 13px;

  padding:
    12px 19px;

  border: 0;

  border-radius: 999px;

  background:
    linear-gradient(90deg,
      #F0C94E,
      #D7A719);

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  font-weight: 500;

  color: #17224B;

  cursor: pointer;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.contact-page-submit:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 12px 28px rgba(218, 175, 55, .2);
}


.contact-page-submit__arrow {
  transition:
    transform .35s ease;
}


.contact-page-submit:hover .contact-page-submit__arrow {
  transform:
    translateX(3px);
}


.contact-page-form__status {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  color: #E0BB52;
}


/* =====================================================
   CONTACT INFO
===================================================== */

.contact-page-info {
  position: relative;

  padding:
    42px 45px;

  border-left:
    1px solid rgba(224,
      187,
      82,
      .38);
}


.contact-page-info__list {
  display: flex;

  flex-direction: column;

  gap: 25px;
}


.contact-page-info__item {
  display: grid;

  grid-template-columns:
    25px 1fr;

  align-items: start;

  gap: 14px;
}


.contact-page-info__icon {
  width: 22px;
  height: 22px;

  margin-top: 1px;
}


.contact-page-info__icon svg {
  width: 100%;
  height: 100%;

  display: block;

  fill: none;

  stroke: #E0BB52;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;
}


.contact-page-info__item p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 300;

  line-height: 1.55;

  color:
    rgba(255,
      255,
      255,
      .86);
}


.contact-page-info__item strong {
  font-weight: 600;

  color: #fff;
}


.contact-page-info__item a {
  color: inherit;

  text-decoration: none;

  transition:
    color .3s ease;
}


.contact-page-info__item a:hover {
  color: #E0BB52;
}


/* SOCIAL */

.contact-page-social {
  margin-top: 20px;
}


.contact-page-social h3 {
  margin-bottom: 14px;
}


.contact-page-social__links {
  display: flex;

  align-items: center;

  gap: 10px;
}


.contact-social {
  width: 25px;
  height: 25px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  text-decoration: none;

  transition:
    transform .3s ease,
    opacity .3s ease;
}


.contact-social img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;

  pointer-events: none;

  user-select: none;

  -webkit-user-drag: none;
}


.contact-social:hover {
  transform:
    translateY(-3px) scale(1.06);

  opacity: .82;
}


.contact-social:hover {
  transform:
    translateY(-3px);

  opacity: .86;
}




/* =====================================================
   TABLET
===================================================== */

@media (max-width: 899px) {

  .contact-page-hero__grid {
    grid-template-columns:
      1fr;

    gap:
      var(--ed-split-gap);
  }


  .contact-page-globe {
    width:
      min(430px,
        80%);

    justify-self: center;
  }


  .contact-page-card {
    grid-template-columns:
      1fr;
  }


  .contact-page-info {
    border-left: 0;

    border-top:
      1px solid rgba(224,
        187,
        82,
        .35);
  }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {

  .contact-page-globe {
    width: 95%;
  }


  .contact-page-card {
    border-radius: 13px;
  }


  .contact-page-form-wrap,
  .contact-page-info {
    padding:
      30px 22px;
  }


  .contact-page-form__grid {
    grid-template-columns:
      1fr;

    gap: 0;
  }


  .contact-page-form__footer {
    flex-direction: column;

    align-items: flex-start;
  }


  .contact-page-submit {
    width: 100%;
  }


  .contact-page-info__item {
    grid-template-columns:
      22px 1fr;
  }

}


/* =====================================================
   CONSULTING PAGE SHARED
===================================================== */

.consulting-page-body {
  margin: 0;
  background: #07184f;
}





/* =====================================================
   CONSULTING HERO
===================================================== */

.consulting-hero {
  position: relative;

  overflow: hidden;

  color: #fff;

  background:
    var(--ed-surface-dark-bg);
}


.consulting-hero__glow {
  position: absolute;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(18px);
}


.consulting-hero__glow--one {
  width: 600px;
  height: 600px;

  right: -140px;
  top: 30px;

  background:
    radial-gradient(circle,
      rgba(1, 31, 253, .08),
      transparent 70%);
}


.consulting-hero__glow--two {
  width: 430px;
  height: 430px;

  left: -160px;
  bottom: -180px;

  background:
    radial-gradient(circle,
      rgba(216, 177, 69, .05),
      transparent 70%);
}


.consulting-hero__stage {
  position: relative;
  z-index: 2;

  min-height:
    var(--ed-hero-min-height);

  padding:
    var(--ed-hero-padding-top) 0 var(--ed-hero-padding-bottom);


  display: flex;
  align-items: center;

}


.consulting-hero__grid {
  display: grid;

  grid-template-columns:
    minmax(0, .85fr) minmax(470px, 1.15fr);

  align-items: center;

  gap:
    var(--ed-split-gap);
}



/* LEFT */

.consulting-hero__content {
  max-width: 510px;
}


.consulting-hero__content h1 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-hero-title);

  font-weight: 400;

  line-height: 1;

  letter-spacing: -.025em;

  color: #E0BB52;
}


.consulting-hero__rule {
  width: 230px;
  max-width: 68%;

  height: 1px;

  margin:
    var(--ed-hero-rule-top) 0 var(--ed-hero-rule-bottom);

  transform-origin: left center;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .15));
}


.consulting-hero__content p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.72;

  color:
    rgba(255,
      255,
      255,
      .58);
}


.consulting-hero__cta {
  display: inline-flex;
  align-items: center;

  gap: 13px;

  margin-top:
    var(--ed-hero-cta-gap);

  padding:
    10px 11px 10px 18px;

  border:
    1px solid rgba(224, 187, 82, .7);

  border-radius: 999px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  text-decoration: none;

  color: #E0BB52;

  transition:
    transform .35s ease,
    background .35s ease,
    color .35s ease;
}


.consulting-hero__cta:hover {
  transform:
    translateY(-2px);

  background: #E0BB52;

  color: #07184F;
}


.consulting-hero__cta-icon {
  width: 25px;
  height: 25px;

  display: flex;
  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(224, 187, 82, .35);

  border-radius: 50%;

}



/* =====================================================
   HERO ART
===================================================== */

.consulting-hero-art {
  position: relative;

  width: 100%;

  max-width: 680px;

  justify-self: end;
}


.consulting-hero-art__scene {
  position: relative;
padding-top: 15px;
  width: 100%;

  aspect-ratio: 760 / 520;

  transform-origin: 50% 55%;

  will-change: transform;
}


.consulting-hero-art__original {
  position: absolute;

  inset: 0;

  z-index: 2;

  width: 100%;
  height: 100%;

  border: 0;

  display: block;

  pointer-events: none;

  opacity: 0;
}


.consulting-hero-art__decor {
  position: absolute;

  inset: 0;

  z-index: 3;

  width: 100%;
  height: 100%;

  overflow: visible;

  pointer-events: none;
}


.consulting-hero-art__trail {
  fill: none;

  stroke:
    url(#consultingDecorGold);

  stroke-width: 1.3;

  stroke-linecap: round;

  opacity: .85;
}


.consulting-hero-art__node {
  fill: #D8B145;

  filter:
    drop-shadow(0 0 6px rgba(216, 177, 69, .6));
}


.consulting-hero-art__star line {
  stroke: #F1D36D;

  stroke-width: 1;

  stroke-linecap: round;

  filter:
    drop-shadow(0 0 5px rgba(224, 187, 82, .8));
}


.consulting-hero-art__dots {
  position: absolute;

  right: 1%;
  bottom: 7%;

  width: 42%;
  height: 46%;

  opacity: .3;

  background-image:
    radial-gradient(circle,
      rgba(73, 108, 255, .75) 1px,
      transparent 1.5px);

  background-size:
    14px 14px;

  mask-image:
    radial-gradient(ellipse,
      #000 5%,
      transparent 72%);

  -webkit-mask-image:
    radial-gradient(ellipse,
      #000 5%,
      transparent 72%);

  pointer-events: none;
}



/* =====================================================
   GOLD RAIL
===================================================== */

.consulting-hero__rail {
  position: relative;

  z-index: 5;

  width: 100%;

  overflow: hidden;

  background:
    linear-gradient(90deg,
      #C99B27,
      #E0BB52 50%,
      #C99B27);
}


.consulting-hero__rail-track {
  width: max-content;

  min-height: 52px;

  display: flex;
  align-items: center;

  gap:
    clamp(28px,
      3.5vw,
      56px);

  padding:
    0 28px;

  animation:
    consultingHeroRail 28s linear infinite;
}


.consulting-hero__rail-track span {
  white-space: nowrap;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: .24em;

  color: #17224B;
}


.consulting-hero__rail-track i {
  font-style: normal;

  font-size: 7px;

  color:
    rgba(255,
      243,
      184,
      .95);
}


@keyframes consultingHeroRail {

  from {
    transform:
      translateX(0);
  }

  to {
    transform:
      translateX(-50%);
  }

}



/* =====================================================
   LIGHT SECTION
===================================================== */

.consulting-light-section {
  position: relative;

  padding:
    28px 0 35px;

  overflow: hidden;

  background:
    var(--ed-surface-light-a);
}



/* =====================================================
   VIDEO
===================================================== */

.consulting-video-card {
  position: relative;

  display: block;

  width: 100%;

  aspect-ratio: 2.95 / 1;

  padding: 0;

  overflow: hidden;

  border: 0;

  border-radius: 10px;

  background: #111;

  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
}


.consulting-video-card__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform 1s cubic-bezier(.2, .8, .2, 1);
}


.consulting-video-card__overlay {
  position: absolute;
  inset: 0;

  background:
    rgba(5,
      8,
      20,
      .48);

  transition:
    background .45s ease;
}


.consulting-video-card:hover .consulting-video-card__image {
  transform:
    scale(1.025);
}


.consulting-video-card__play {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 58px;
  height: 58px;

  transform:
    translate(-50%,
      -50%);

  transition:
    transform .4s ease;
}


.consulting-video-card__play svg {
  width: 100%;
  height: 100%;
}


.consulting-video-card__play circle {
  fill:
    rgba(7,
      24,
      79,
      .35);

  stroke: #E0BB52;

  stroke-width: 1;
}


.consulting-video-card__play path {
  fill: #E0BB52;
}


.consulting-video-card:hover .consulting-video-card__play {
  transform:
    translate(-50%,
      -50%) scale(1.08);
}


/* =====================================================
   CONSULTING INTRO
===================================================== */

.consulting-intro-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .9fr) minmax(470px, 1.1fr);

  align-items: center;

  gap:
    var(--ed-split-gap);

  min-height: 385px;

  padding:
    48px 0 38px;
}


/* =====================================================
   LEFT CONTENT
===================================================== */

.consulting-intro-copy {
  width: 100%;
 
}


.consulting-intro-copy h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  line-height: 1.13;

  letter-spacing: -.025em;

  color: #0A2B8B;
}


.consulting-intro-copy__line {
  width: 205px;
  max-width: 68%;

  height: 1px;

  margin:
    14px 0 13px;

  background:
    linear-gradient(90deg,
      #D3AF4D 0%,
      rgba(211, 175, 77, .14) 100%);
}


.consulting-intro-copy p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-lead);

  font-weight: 300;

  line-height: 1.6;

  color:
    rgba(23,
      35,
      67,
      .48);
}


/* =====================================================
   RIGHT VALUE MAP
===================================================== */

.consulting-value-map {
  position: relative;

  width: 100%;
  max-width: 580px;

   

  justify-self: end;
}


/* =====================================================
   CONNECTOR SVG
===================================================== */

.consulting-value-map__lines {
  position: absolute;

  inset: 0;

  z-index: 1;

  width: 100%;
  height: 100%;

  overflow: visible;

  pointer-events: none;
}


.consulting-value-map__line {
  fill: none;

  stroke: #E0AE00;

  stroke-linecap: round;

  vector-effect:
    non-scaling-stroke;
}


.consulting-value-map__line--solid {
  stroke-width: 3;
}


.consulting-value-map__line--dashed {
  stroke-width: 1;

  stroke-dasharray:
    5 7;

  opacity: .92;
}


/* =====================================================
   CARDS
===================================================== */

.consulting-value-card {
  position: absolute;

  z-index: 3;

  width: 154px;

  min-height: 128px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: flex-start;

  padding:
    14px 13px 12px;

  box-sizing: border-box;

  border:
    1px solid rgba(224,
      177,
      69,
      .72);

  border-radius: 11px;

  background:
    rgba(255,
      255,
      255,
      .93);

  text-align: center;
}


/*
 * Screenshot positioning
 */
.consulting-value-card--one {
  left: 21%;

  top: 7px;
}


.consulting-value-card--two {
  right: 1%;

  top: 126px;
}


/* =====================================================
   LOCAL ICONS
===================================================== */

.consulting-value-card__icon {
  width: 36px;
  height: 36px;

  flex: 0 0 36px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 7px;

  border: 0;
}


.consulting-value-card__icon img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;

  pointer-events: none;
}


/* =====================================================
   CARD TEXT
===================================================== */

.consulting-value-card p {
  width: 100%;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 400;

  line-height: 1.65;

  color: #012DB8;
}


.consulting-value-card p strong {
  font-weight: 500;

  color: inherit;
}


/* tiny gold line inside cards */

.consulting-value-card__underline {
  width: 44px;
  height: 1px;

  display: block;

  margin-top: 8px;

  background:
    rgba(216,
      177,
      69,
      .55);
}


/* =====================================================
   GOLD CONNECTOR NODE
===================================================== */

.consulting-value-map__node {
  position: absolute;

  z-index: 5;

  left: 49.1%;
  top: 92px;

  width: 10px;
  height: 10px;

  border-radius: 50%;

  background: #E1AD00;

  box-shadow:
    0 0 9px rgba(225,
      173,
      0,
      .25);
}


/* =====================================================
   DECORATIVE DOTS
===================================================== */

.consulting-value-map__dots {
  position: absolute;

  z-index: 2;

  display: flex;

  gap: 9px;

  transform: rotate(20deg);
}


.consulting-value-map__dots i {
  width: 4px;
  height: 4px;

  display: block;

  border-radius: 50%;

  background: #E4B721;
}


.consulting-value-map__dots i:nth-child(2) {
  width: 3px;
  height: 3px;
}


.consulting-value-map__dots i:nth-child(3) {
  width: 4px;
  height: 4px;
}


.consulting-value-map__dots i:nth-child(4) {
  width: 3px;
  height: 3px;
}


.consulting-value-map__dots--top {
  right: 20%;

  top: 50px;
}


.consulting-value-map__dots--bottom {
  left: 26%;

  bottom: 40px;

  transform: rotate(26deg);
}

/* =====================================================
   FIT / NOT FIT
===================================================== */

.consulting-fit-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


/* =====================================================
   GRID
===================================================== */

.consulting-fit-grid {
  position: relative;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr) 70px minmax(0, 1fr);

  align-items: start;

  column-gap:
    clamp(42px,
      5vw,
      70px);
}


/* =====================================================
   COLUMNS
===================================================== */

.consulting-fit-column {
  min-width: 0;
}


.consulting-fit-column h2 {
  margin:
    0 0 35px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  line-height: 1;

  letter-spacing: -.018em;

  color: #FFFFFF;
}


/* =====================================================
   LIST
===================================================== */

.consulting-fit-list {
  display: flex;

  flex-direction: column;

  gap: 12px;
}


/* =====================================================
   ITEM
===================================================== */

.consulting-fit-item {
  position: relative;

  width: 100%;

  min-height: 55px;

  display: grid;

  grid-template-columns:
    27px minmax(0, 1fr);

  align-items: center;

  gap: 15px;

  padding:
    10px 15px;

  box-sizing: border-box;

  overflow: hidden;

  border:
    1px solid rgba(224,
      177,
      69,
      .75);

  border-radius: 6px;

  background:
    linear-gradient(100deg,
      rgba(255, 255, 255, .045) 0%,
      rgba(61, 91, 184, .18) 58%,
      rgba(255, 255, 255, .075) 100%);

  box-shadow:
    inset 0 0 28px rgba(63, 92, 190, .08);

  transition:
    background .35s ease,
    border-color .35s ease;
}


/*
 * Keep cards fixed.
 * No side movement like previous version.
 */
.consulting-fit-item:hover {
  transform: none;

  background:
    linear-gradient(100deg,
      rgba(255, 255, 255, .065),
      rgba(67, 99, 202, .22),
      rgba(255, 255, 255, .085));

  border-color: #E0BB52;
}


/* =====================================================
   CHECK / CROSS ICON
===================================================== */

.consulting-fit-item__icon {
  width: 23px;
  height: 23px;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(224,
      177,
      69,
      .75);

  border-radius: 50%;

  box-sizing: border-box;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;

  font-weight: 500;

  line-height: 1;

  color: #E0BB52;
}


/* =====================================================
   TEXT
===================================================== */

.consulting-fit-item p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 400;

  line-height: 1.45;

  color:
    rgba(255,
      255,
      255,
      .86);
}


/* =====================================================
   CENTER / VS
===================================================== */

.consulting-fit-divider {
  position: relative;

  width: 70px;

  height: 100%;

  min-height: 285px;

  align-self: stretch;

  background: none;
}


/*
 * Screenshot has no strong vertical line.
 * Keep only an extremely subtle center guide.
 */
.consulting-fit-divider::before {
  content: "";

  position: absolute;

  left: 50%;

  top: 55px;
  bottom: 15px;

  width: 1px;

  transform:
    translateX(-50%);

  background:
    linear-gradient(to bottom,
      transparent,
      rgba(224, 177, 69, .92) 28%,
      rgba(224, 177, 69, .92) 72%,
      transparent);
}


.consulting-fit-vs {
  position: absolute;

  z-index: 2;

  left: 50%;
  top: 60%;

  width: 34px;
  height: 34px;

  display: flex;

  align-items: center;
  justify-content: center;

  transform:
    translate(-50%,
      -50%);

  border-radius: 50%;

  background:
    linear-gradient(135deg,
      #F2CB47,
      #D49E04);

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  color: #17224B;

  box-shadow:
    0 0 19px rgba(224,
      177,
      69,
      .32);
}

@media (max-width: 899px) {




  .consulting-fit-grid {
    grid-template-columns:
      1fr 48px 1fr;

    column-gap: 22px;
  }


  .consulting-fit-column h2 {
    margin-bottom: 28px;
  }


  .consulting-fit-item {
    min-height: 58px;

    padding:
      10px 12px;

    gap: 11px;
  }




  .consulting-fit-divider {
    width: 48px;
  }

}

@media (max-width: 640px) {




  .consulting-fit-grid {
    grid-template-columns: 1fr;

    gap: 40px;
  }


  .consulting-fit-column h2 {
    font-size:
      clamp(27px,
        8vw,
        34px);

    margin-bottom: 25px;
  }


  .consulting-fit-list {
    gap: 11px;
  }


  .consulting-fit-item {
    min-height: 58px;

    grid-template-columns:
      25px 1fr;

    padding:
      11px 14px;

    gap: 13px;
  }


  .consulting-fit-item__icon {
    width: 23px;
    height: 23px;
  }




  /*
   * VS becomes horizontal separator
   * between Fit and Not Fit.
   */
  .consulting-fit-divider {
    width: 100%;

    min-height: 1px;
    height: 1px;

    margin:
      3px 0;

    background:
      linear-gradient(90deg,
        transparent,
        rgba(224, 177, 69, .25),
        transparent);
  }


  .consulting-fit-divider::before {
    display: none;
  }


  .consulting-fit-vs {
    top: 50%;
  }

}


/* =====================================================
   STAGES
===================================================== */

.consulting-stages-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  background:
    var(--ed-surface-light-b);
}


.consulting-stages-heading h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  line-height: 1.08;

  color: #092A8B;
}


.consulting-stages-heading__line {
  width: 250px;
  max-width: 55%;

  height: 1px;

  margin:
    17px 0 16px;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .14));
}


.consulting-stages-heading p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  color:
    rgba(23,
      35,
      67,
      .48);
}


.consulting-stages-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  margin-top: 58px;
}


.consulting-stage {
  position: relative;

  padding:
    0 30px;
}


.consulting-stage:first-child {
  padding-left: 0;
}


.consulting-stage:last-child {
  padding-right: 0;
}


.consulting-stage+.consulting-stage {
  border-left:
    1px solid rgba(216,
      177,
      69,
      .28);
}


.consulting-stage__number {
  display: block;

  margin-bottom: 11px;

  font-family:
    Jost,
    sans-serif;

  font-size: 22px;

  color: #4051A1;
}


.consulting-stage h3 {
  margin:
    0 0 15px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-card-title);

  font-weight: 400;

  color: #D9AE2D;
}


.consulting-stage__description {
  min-height: 95px;

  margin:
    0 0 18px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  line-height: 1.65;

  color:
    rgba(23,
      35,
      67,
      .53);
}


.consulting-stage__services {
  display: flex;

  flex-wrap: wrap;

  gap: 6px;
}






/* =====================================================
   FINAL CTA
===================================================== */

.consulting-final-cta {
  position: relative;

  min-height:
    clamp(330px,
      31vw,
      440px);

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}


.consulting-final-cta__bg {
  position: absolute;

  inset: -7% 0;

  background-image:
    url("../images/consulting-cta.jpeg");

  background-size: cover;

  background-position: center;

  transform:
    scale(1.08);
}


/* .consulting-final-cta__overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(90deg,
      rgba(2, 18, 62, .93),
      rgba(2, 26, 78, .76) 52%,
      rgba(2, 18, 62, .38));
} */


.consulting-final-cta__content {
  position: relative;
  z-index: 2;

  width:
    min(650px,
      calc(100% - 40px));

  text-align: center;
}


.consulting-final-cta h2 {
  margin:
    0 0 17px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-display);

  font-weight: 300;

  line-height: 1.08;

  color: #fff;
}


.consulting-final-cta p {
  margin:
    0 0 25px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  color:
    rgba(255,
      255,
      255,
      .55);
}


.consulting-final-cta__button {
  display: inline-flex;
  align-items: center;

  gap: 20px;

  padding:
    11px 19px;

  border-radius: 999px;

  background:
    linear-gradient(90deg,
      #F0C949,
      #D8A719);

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  font-weight: 500;

  text-decoration: none;

  color: #17224B;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.consulting-final-cta__button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 14px 32px rgba(216, 177, 69, .22);
}



/* =====================================================
   CONSULTING VIDEO LIGHTBOX
===================================================== */

.consulting-video-lightbox {
  position: fixed;
  inset: 0;

  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 32px;

  opacity: 0;
  visibility: hidden;

  pointer-events: none;
}


.consulting-video-lightbox.is-open {
  visibility: visible;

  pointer-events: auto;
}


.consulting-video-lightbox__backdrop {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  border: 0;

  background:
    rgba(2,
      8,
      30,
      .92);

  backdrop-filter:
    blur(12px);

  -webkit-backdrop-filter:
    blur(12px);

  cursor: pointer;
}


.consulting-video-lightbox__panel {
  position: relative;

  z-index: 2;

  width:
    min(1180px,
      92vw);

  aspect-ratio: 16 / 9;

  background: #000;

  border:
    1px solid rgba(224,
      187,
      82,
      .24);
}


.consulting-video-lightbox__video {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;

  background: #000;
}


.consulting-video-lightbox__close {
  position: absolute;

  top: -18px;
  right: -18px;

  z-index: 5;

  width: 46px;
  height: 46px;

  padding: 0;

  border:
    1px solid rgba(224, 187, 82, .72);

  border-radius: 50%;

  background: #07184F;

  cursor: pointer;
}


.consulting-video-lightbox__close span {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 16px;
  height: 1px;

  background: #E0BB52;
}


.consulting-video-lightbox__close span:first-child {
  transform:
    translate(-50%, -50%) rotate(45deg);
}


.consulting-video-lightbox__close span:last-child {
  transform:
    translate(-50%, -50%) rotate(-45deg);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 899px) {


  .consulting-hero__grid {
    grid-template-columns: 1fr;

    gap:
      var(--ed-split-gap);
  }


  .consulting-hero-art {
    width:
      min(650px,
        100%);

    justify-self: center;
  }


  .consulting-intro-grid {
    grid-template-columns: 1fr;

    min-height: 0;

    gap:
      var(--ed-split-gap);

    padding:
      52px 0 35px;
  }


  .consulting-intro-copy {
    max-width: 520px;
  }


  .consulting-value-map {
    width:
      min(560px,
        100%);
 

    justify-self: center;

    margin: 0 auto;
  }


  .consulting-stages-grid {
    grid-template-columns: 1fr;

    gap: 40px;
  }


  .consulting-stage {
    padding:
      0 0 35px;
  }


  .consulting-stage+.consulting-stage {
    border-left: 0;

    border-top:
      1px solid rgba(216,
        177,
        69,
        .25);

    padding-top: 35px;
  }


  .consulting-stage__description {
    min-height: 0;
  }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {

  .consulting-hero-art {
    margin-top: 10px;
  }


  .consulting-hero__rail-track {
    min-height: 48px;

    animation-duration: 22s;
  }


  .consulting-video-card {
    aspect-ratio: 16 / 10;
  }


  .consulting-light-section {
    padding:
      18px 0 20px;
  }


  .consulting-intro-grid {
    padding-top: 45px;
  }



 

  .consulting-value-card {
    width: 175px;

    padding:
      17px 13px;
  }


  .consulting-value-card--one {
    left: 0;
  }


  .consulting-value-card--two {
    right: 0;
  }


  .consulting-fit-grid {
    grid-template-columns: 1fr;

    gap: 45px;
  }


  .consulting-fit-divider {
    width: 100%;
    height: 1px;
  }


  .consulting-fit-vs {
    top: 50%;
  }





  .consulting-stages-grid {
    margin-top: 40px;
  }


  .consulting-final-cta {
    min-height: 370px;
  }


  .consulting-video-lightbox {
    padding: 14px;
  }


  .consulting-video-lightbox__panel {
    width: 100%;
  }


  .consulting-video-lightbox__close {
    top: -52px;
    right: 0;
  }


  .consulting-intro-grid {
    padding-top: 42px;
  }






  .consulting-value-card {
    width: 156px;

    min-height: 138px;

    padding:
      14px 11px;
  }


  .consulting-value-card--one {
    left: 3%;
  }


  .consulting-value-card--two {
    right: 0;

    top: 150px;
  }


  .consulting-value-map__node {
    left: 44%;

    top: 101px;
  }



  .consulting-value-card__icon {
    width: 32px;
    height: 32px;

    flex-basis: 32px;
  }


  .consulting-value-map__dots--bottom {
    left: 15%;
  }


}


/* =====================================================
   CONSULTING SERVICE TAG
===================================================== */

.consulting-stage__service {
  display: inline-flex;
  align-items: center;

  padding:
    6px 8px;

  border:
    1px solid rgba(1,
      31,
      253,
      .58);

  border-radius: 4px;

  background:
    rgba(255,
      255,
      255,
      .42);

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-eyebrow);

  line-height: 1.2;

  color: #1434A1;

  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;

  transition:
    color .3s ease,
    background .3s ease,
    border-color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}


.consulting-stage__service:hover {
  transform:
    translateY(-2px);

  background: #1234A6;

  border-color: #1234A6;

  color: #FFFFFF;

  box-shadow:
    0 8px 18px rgba(18,
      52,
      166,
      .16);
}


.consulting-stage__service:focus-visible {
  outline:
    2px solid #D8B145;

  outline-offset:
    2px;
}


/* =====================================================
   DESKTOP HOVER POPOVER
===================================================== */

.consulting-service-popover {
  --consulting-popover-arrow-x: 50%;

  position: fixed;

  z-index: 100050;

  width:
    min(340px,
      calc(100vw - 24px));

  padding:
    20px 21px 19px;

  border:
    1px solid rgba(218,
      175,
      55,
      .42);

  border-radius: 12px;

  background:
    radial-gradient(250px 170px at 100% 0%,
      rgba(42, 85, 232, .16),
      transparent 72%),
    linear-gradient(145deg,
      rgba(3, 8, 28, .985),
      rgba(2, 26, 94, .975));

  box-shadow:
    0 18px 44px rgba(2,
      9,
      35,
      .24),
    0 3px 12px rgba(2,
      9,
      35,
      .16);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(5px);

  color: #FFFFFF;
}


.consulting-service-popover.is-visible {
  visibility: visible;
}


.consulting-service-popover::before,
.consulting-service-popover::after {
  content: "";

  position: absolute;

  left:
    var(--consulting-popover-arrow-x);

  width: 0;
  height: 0;

  transform:
    translateX(-50%);
}


.consulting-service-popover[data-placement="top"]::before {
  top: 100%;

  border-left:
    9px solid transparent;

  border-right:
    9px solid transparent;

  border-top:
    10px solid rgba(218,
      175,
      55,
      .42);
}


.consulting-service-popover[data-placement="top"]::after {
  top:
    calc(100% - 1px);

  border-left:
    8px solid transparent;

  border-right:
    8px solid transparent;

  border-top:
    9px solid #021A5E;
}


.consulting-service-popover[data-placement="bottom"]::before {
  bottom: 100%;

  border-left:
    9px solid transparent;

  border-right:
    9px solid transparent;

  border-bottom:
    10px solid rgba(218,
      175,
      55,
      .42);
}


.consulting-service-popover[data-placement="bottom"]::after {
  bottom:
    calc(100% - 1px);

  border-left:
    8px solid transparent;

  border-right:
    8px solid transparent;

  border-bottom:
    9px solid #03081C;
}


.consulting-service-popover__stage {
  display: block;

  margin-bottom: 9px;

  font-family:
    Inter,
    sans-serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: .22em;

  color: #D9AE2D;
}


.consulting-service-popover h4 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(17px,
      1.35vw,
      20px);

  font-weight: 400;

  line-height: 1.2;

  color: #FFFFFF;
}


.consulting-service-popover__rule {
  display: block;

  width: 58px;
  height: 1px;

  margin:
    12px 0 11px;

  background:
    linear-gradient(90deg,
      #D9AE2D,
      rgba(217, 174, 45, .1));
}


.consulting-service-popover p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size: 12px;
  font-weight: 300;

  line-height: 1.62;

  color:
    rgba(255,
      255,
      255,
      .72);
}


/* =====================================================
   MOBILE / TOUCH BOTTOM SHEET
===================================================== */

.consulting-service-sheet {
  position: fixed;

  inset: 0;

  z-index: 100060;

  display: none;

  align-items: flex-end;

  visibility: hidden;
  pointer-events: none;

  overscroll-behavior: contain;
}


.consulting-service-sheet.is-open {
  visibility: visible;
  pointer-events: auto;
}


.consulting-service-sheet__backdrop {
  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

  padding: 0;

  border: 0;

  background:
    rgba(3,
      8,
      28,
      .42);

  backdrop-filter:
    blur(5px);

  -webkit-backdrop-filter:
    blur(5px);
}


.consulting-service-sheet__panel {
  position: relative;

  z-index: 2;

  width: 100%;

  max-height:
    min(78dvh,
      720px);

  padding:
    24px 22px calc(18px + env(safe-area-inset-bottom));

  overflow: hidden;

  border-top:
    1px solid rgba(218,
      175,
      55,
      .35);

  border-radius:
    26px 26px 0 0;

  background:
    radial-gradient(360px 190px at 100% 0%,
      rgba(1, 29, 188, .09),
      transparent 72%),
    #F7F8FC;

  box-shadow:
    0 -18px 58px rgba(3,
      8,
      28,
      .2);

  color: #0B1226;
}


.consulting-service-sheet__handle {
  position: absolute;

  top: 10px;
  left: 50%;

  width: 48px;
  height: 4px;

  border-radius: 999px;

  transform:
    translateX(-50%);

  background:
    rgba(11,
      18,
      38,
      .16);
}


.consulting-service-sheet__close {
  position: absolute;

  z-index: 4;

  top: 22px;
  right: 20px;

  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border:
    1px solid rgba(2,
      26,
      94,
      .12);

  border-radius: 50%;

  background:
    rgba(255,
      255,
      255,
      .7);

  cursor: pointer;
}


.consulting-service-sheet__close span {
  position: absolute;

  width: 13px;
  height: 1px;

  background: #021A5E;
}


.consulting-service-sheet__close span:first-child {
  transform:
    rotate(45deg);
}


.consulting-service-sheet__close span:last-child {
  transform:
    rotate(-45deg);
}


.consulting-service-sheet__content {
  max-height:
    calc(min(78dvh, 720px) - 118px);

  padding:
    27px 34px 26px 2px;

  overflow-y: auto;
  overscroll-behavior: contain;

  scrollbar-width: none;
}


.consulting-service-sheet__content::-webkit-scrollbar {
  display: none;
}


.consulting-service-sheet__stage {
  display: block;

  margin-bottom: 16px;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: .22em;

  color: #D9AE2D;
}


.consulting-service-sheet h2 {
  max-width: 92%;

  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(23px,
      7vw,
      31px);

  font-weight: 400;

  line-height: 1.12;
  letter-spacing: -.015em;

  color: #092A8B;
}


.consulting-service-sheet__rule {
  display: block;

  width: 72px;
  height: 1px;

  margin:
    18px 0 16px;

  background:
    linear-gradient(90deg,
      #D9AE2D,
      rgba(217, 174, 45, .12));
}


.consulting-service-sheet p {
  max-width: 560px;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    14px;

  line-height: 1.72;

  color:
    rgba(23,
      35,
      67,
      .68);
}


.consulting-service-sheet__navigation {
  display: grid;

  grid-template-columns:
    minmax(92px, 1fr)
    auto
    minmax(92px, 1fr);

  align-items: center;

  gap: 10px;

  padding-top: 14px;

  border-top:
    1px solid rgba(2,
      26,
      94,
      .1);
}


.consulting-service-sheet__nav {
  min-height: 43px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  padding:
    0 13px;

  border:
    1px solid rgba(2,
      26,
      94,
      .14);

  border-radius: 8px;

  background:
    rgba(255,
      255,
      255,
      .72);

  font-family:
    Inter,
    sans-serif;

  font-size: 12px;
  font-weight: 500;

  color: #092A8B;

  cursor: pointer;

  transition:
    background .25s ease,
    border-color .25s ease,
    color .25s ease,
    transform .25s ease;
}


.consulting-service-sheet__nav:active {
  transform:
    scale(.98);
}


.consulting-service-sheet__nav--next {
  justify-self: end;

  border-color: #092A8B;

  background: #092A8B;

  color: #FFFFFF;
}


.consulting-service-sheet__nav--prev {
  justify-self: start;
}


.consulting-service-sheet__counter {
  min-width: 62px;

  text-align: center;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: .08em;

  color:
    rgba(9,
      42,
      139,
      .62);
}


@media (hover: hover) and (pointer: fine) {

  .consulting-service-sheet {
    display: none !important;
  }

}


@media (hover: none),
(pointer: coarse) {

  .consulting-service-popover {
    display: none !important;
  }


  .consulting-service-sheet {
    display: flex;
  }


  .consulting-stage__service:hover {
    transform: none;

    background:
      rgba(255,
        255,
        255,
        .42);

    border-color:
      rgba(1,
        31,
        253,
        .58);

    color: #1434A1;

    box-shadow: none;
  }


  .consulting-stage__service:active {
    background:
      rgba(18,
        52,
        166,
        .1);
  }

}


@media (max-width: 420px) {

  .consulting-service-sheet__panel {
    padding-left: 18px;
    padding-right: 18px;

    border-radius:
      22px 22px 0 0;
  }


  .consulting-service-sheet__content {
    padding-right: 26px;
  }


  .consulting-service-sheet__navigation {
    gap: 7px;
  }


  .consulting-service-sheet__nav {
    min-height: 41px;

    padding:
      0 10px;

    font-size: 11px;
  }


  .consulting-service-sheet__counter {
    min-width: 56px;

    font-size: 10px;
  }

}


/* =====================================================
   ABOUT PAGE
===================================================== */

.about-page-body {
  margin: 0;

  background: #06184F;
}




/* =====================================================
   ABOUT HERO
===================================================== */

.about-page-hero {
  position: relative;

  min-height:
    var(--ed-hero-min-height);

  padding:
    var(--ed-hero-padding-top) 0 var(--ed-hero-padding-bottom);

  display: flex;
  align-items: center;


  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


/* subtle ambient blue */

.about-page-hero__ambient {
  position: absolute;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(20px);
}


.about-page-hero__ambient--one {
  width: 520px;
  height: 520px;

  right: -160px;
  top: 15%;

  background:
    radial-gradient(circle,
      rgba(1, 31, 253, .09),
      transparent 70%);
}


.about-page-hero__ambient--two {
  width: 420px;
  height: 420px;

  left: -180px;
  bottom: -220px;

  background:
    radial-gradient(circle,
      rgba(216, 177, 69, .05),
      transparent 70%);
}



.about-page-hero__grid {
  display: grid;

  grid-template-columns:
    minmax(0, .95fr) minmax(430px, 1.05fr);

  align-items: center;

  gap:
    var(--ed-split-gap);
}



/* =====================================================
   HERO CONTENT
===================================================== */

.about-page-hero__content {
  max-width: 650px;
}


.about-page-hero__content h1 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-hero-title);

  font-weight: 300;

  line-height: 1.08;

  letter-spacing: -.035em;

  color: #E0BB52;
}


.about-page-hero__content h1 span {
  display: block;
}


.about-page-hero__rule {
  width: 250px;
  max-width: 52%;

  height: 1px;

  margin:
    var(--ed-hero-rule-top) 0 var(--ed-hero-rule-bottom);

  transform-origin:
    left center;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .12));
}


.about-page-hero__content p {
  max-width: 670px;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.75;

  color:
    rgba(255,
      255,
      255,
      .57);
}



/* CTA */

.about-page-hero__cta {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  margin-top:
    var(--ed-hero-cta-gap);

  padding:
    9px 10px 9px 17px;

  border:
    1px solid rgba(224, 187, 82, .68);

  border-radius: 999px;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;

  font-weight: 400;

  text-decoration: none;

  color: #E0BB52;

  transition:
    background .35s ease,
    color .35s ease,
    transform .35s ease;
}


.about-page-hero__cta:hover {
  transform:
    translateY(-2px);

  background: #E0BB52;

  color: #07184F;
}


.about-page-hero__cta-icon {
  width: 25px;
  height: 25px;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(224, 187, 82, .34);

  border-radius: 50%;

}



/* =====================================================
   HERO ART
===================================================== */

.about-page-hero-art {
  position: relative;

  width: 100%;

  max-width: 460px;

  justify-self: end;
}


.about-page-hero-art__scene {
  position: relative;

  width: 100%;

  aspect-ratio: 598 / 613;

  transform-origin:
    50% 52%;

  will-change:
    transform;
}

.about-page-hero-art__image {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;
  object-position: center;
}


.about-page-hero-art__svg {
  width: 100%;
  height: 100%;

  display: block;

  overflow: visible;
}



/* MAIN GEOMETRY */

.about-page-hero-art__lines path,
.about-page-hero-art__inner-lines path {
  fill: none;

  stroke:
    url(#aboutCubeGold);

  stroke-width: 1.7;

  stroke-linecap: round;
  stroke-linejoin: round;
}


.about-page-hero-art__inner-lines path {
  opacity: .65;

  stroke-width: 1.2;
}



/* faint base */

.about-page-hero-art__ghost path {
  fill: none;

  stroke:
    rgba(224,
      187,
      69,
      .11);

  stroke-width: 5;
}



/* trail */

.about-page-hero-art__trail {
  fill: none;

  stroke: #D8B145;

  stroke-width: 1.2;

  stroke-linecap: round;

  opacity: .62;
}


.about-page-hero-art__spark {
  fill: #F4DB80;

  opacity: 0;
}


.about-page-hero-art__star line {
  stroke: #F2D875;

  stroke-width: 1;

  stroke-linecap: round;

  filter:
    drop-shadow(0 0 5px rgba(224, 187, 82, .75));
}



/* =====================================================
   STORY
===================================================== */

.about-story-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-light-a)
}


.about-story-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .95fr) minmax(430px, 1.05fr);

  align-items: center;

  gap:
    var(--ed-split-gap);
}



/* =====================================================
   STORY COPY
===================================================== */

.about-story-content {
  max-width: 620px;
}


.about-story-kicker {
  display: block;

  margin-bottom: 14px;

  font-family:
    Inter,
    sans-serif;

  font-size: var(--ed-type-eyebrow);

  font-weight: 500;

  letter-spacing: .05em;

  color: #D3AB37;
}


.about-story-content h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  line-height: 1;

  color: #092A8B;
}


.about-story-rule {
  width: 205px;
  max-width: 58%;

  height: 1px;

  margin:
    16px 0 16px;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .13));
}


.about-story-copy p {
  max-width: 610px;

  margin:
    0 0 14px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.65;

  color:
    rgba(23,
      35,
      67,
      .57);
}


.about-story-copy p:last-child {
  margin-bottom: 0;
}



/* =====================================================
   STORY IMAGES
===================================================== */

.about-story-visual {
  position: relative;

  width: 100%;

  max-width: 570px;

  min-height: 440px;

  justify-self: end;
}


.about-story-image {
  position: absolute;

  overflow: hidden;

  border-radius: 10px;

  background: #DFDFDF;

  box-shadow:
    0 20px 60px rgba(8,
      24,
      65,
      .13);
}


.about-story-image img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  pointer-events: none;

  user-select: none;

  -webkit-user-drag: none;
}



/* large */

.about-story-image--main {
  right: 0;
  top: 0;

  width: 70%;
  height: 420px;

  z-index: 1;
}



/* overlap */

.about-story-image--small {
  left: 2%;
  bottom: -8px;

  width: 43%;
  height: 280px;

  z-index: 3;

  border:
    5px solid rgba(255,
      255,
      255,
      .92);
}



.about-story-visual__glow {
  position: absolute;

  right: -12%;
  top: -15%;

  width: 72%;
  aspect-ratio: 1;

  border-radius: 50%;

  background:
    radial-gradient(circle,
      rgba(216, 177, 69, .1),
      transparent 70%);

  filter:
    blur(12px);

  pointer-events: none;
}



/* =====================================================
   TABLET
===================================================== */

@media (max-width: 899px) {






  .about-page-hero__grid {
    grid-template-columns: 1fr;

    gap:
      var(--ed-split-gap);
  }


  .about-page-hero-art {
    width:
      min(570px,
        100%);

    justify-self: center;
  }


  .about-story-grid {
    grid-template-columns: 1fr;

    gap:
      var(--ed-split-gap);
  }


  .about-story-content {
    max-width: 650px;
  }


  .about-story-visual {
    width:
      min(570px,
        100%);

    justify-self: center;
  }

}



/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {

  .about-page-hero-art {
    margin-top: 5px;
  }




  .about-story-grid {
    gap: var(--ed-split-gap);
  }


  .about-story-visual {
    min-height: 365px;
  }


  .about-story-image--main {
    width: 76%;

    height: 340px;
  }


  .about-story-image--small {
    width: 48%;

    height: 220px;

    left: 0;

    bottom: -5px;
  }

}

/* =====================================================
   ABOUT - FROM LP2
===================================================== */

.about-lp2-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


.about-lp2-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .88fr) minmax(430px, 1.12fr);

  align-items: center;

  gap:
    var(--ed-split-gap);
}



/* =====================================================
   LP2 HEADING
===================================================== */

.about-lp2-heading {
  margin-bottom: 23px;
}


.about-lp2-heading h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  color: #FFFFFF;
}


.about-lp2-heading__line {
  width: 210px;
  max-width: 65%;

  height: 1px;

  margin-top: 14px;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .13));
}


/* =====================================================
   LP2 CENTER FOCUS SLIDER
===================================================== */

.about-lp2-left {
  min-width: 0;
}


.about-lp2-slider {
  position: relative;

  width: 100%;

  padding:
    0 44px;

  box-sizing: border-box;

  user-select: none;

  -webkit-user-select: none;

  touch-action: pan-y;

  cursor: grab;
}


.about-lp2-slider.is-dragging {
  cursor: grabbing;
}


/* =====================================================
   STAGE
===================================================== */

.about-lp2-slider__stage {
  position: relative;

  width: 100%;

  height:
    clamp(330px,
      34vw,
      430px);

  overflow: visible;
}


/* =====================================================
   INDIVIDUAL SLIDE

   Every image sits in the same center position.
   JS moves each card into:
   previous / center / next.
===================================================== */

.about-lp2-slide {
  position: absolute;

  left: 50%;
  top: 50%;

  width:
    min(66%,
      370px);

  height: 100%;

  overflow: hidden;

  border-radius: 14px;

  background: #07184F;

  opacity: 0;

  visibility: hidden;

  transform-origin:
    center center;

  box-shadow:
    0 20px 55px rgba(0,
      0,
      0,
      .2);

  will-change:
    transform,
    opacity;

  pointer-events: none;
}


.about-lp2-slide img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  pointer-events: none;

  user-select: none;

  -webkit-user-select: none;

  -webkit-user-drag: none;
}


/* side images become slightly darker */

.about-lp2-slide::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    rgba(4,
      14,
      55,
      .18);

  opacity: 1;

  transition:
    opacity .45s ease;

  pointer-events: none;
}


.about-lp2-slide.is-current::after {
  opacity: 0;
}



/* =====================================================
   ARROWS
===================================================== */

.about-lp2-slider__arrow {
  position: absolute;

  z-index: 20;

  top: 50%;

  width: 43px;
  height: 43px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 0;

  border:
    1px solid rgba(224,
      177,
      69,
      .92);

  border-radius: 50%;

  background:
    rgba(7,
      24,
      79,
      .72);

  backdrop-filter:
    blur(8px);

  -webkit-backdrop-filter:
    blur(8px);

  transform:
    translateY(-50%);

  font-size: 0;



  color: #E0BB52;

  cursor: pointer;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;

  pointer-events: auto;

  touch-action: manipulation;
}


/* =====================================================
   LP2 ARROW - PERFECTLY CENTERED CHEVRON
===================================================== */

.about-lp2-slider__arrow::before {
  content: "";

  position: absolute;

  left: 50%;
  top: 50%;

  width: 9px;
  height: 9px;

  border-top:
    1.6px solid currentColor;

  border-right:
    1.6px solid currentColor;

  transform-origin:
    center;
}


/* LEFT */
.about-lp2-slider__arrow--prev::before {
  transform:
    translate(-42%, -50%) rotate(-135deg);
}


/* RIGHT */
.about-lp2-slider__arrow--next::before {
  transform:
    translate(-58%, -50%) rotate(45deg);
}


.about-lp2-slider__arrow:hover {
  background: #E0BB52;

  color: #07184F;

  box-shadow:
    0 0 22px rgba(224,
      177,
      69,
      .22);
}


.about-lp2-slider__arrow--prev {
  left: -3px;
}


.about-lp2-slider__arrow--next {
  right: -3px;
}


/* =====================================================
   LP2 STATS
===================================================== */

.about-lp2-stats {
  display: grid;

  grid-template-columns:
    repeat(2,
      minmax(0, 1fr));

  gap: 18px;
}


.about-lp2-stat {
  position: relative;

  min-height: 180px;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding:
    24px 18px;

  overflow: hidden;

  border:
    1px solid rgba(216,
      177,
      69,
      .65);

  border-radius: 7px;

  background:
    linear-gradient(135deg,
      rgba(255, 255, 255, .06),
      rgba(255, 255, 255, .025));

  text-align: center;

  transition:
    transform .4s ease,
    background .4s ease,
    border-color .4s ease;
}


.about-lp2-stat::before {
  content: "";

  position: absolute;

  width: 130px;
  height: 130px;

  top: -75px;
  right: -70px;

  border-radius: 50%;

  background:
    radial-gradient(circle,
      rgba(1, 31, 253, .22),
      transparent 70%);

  pointer-events: none;
}


.about-lp2-stat:hover {
  transform:
    translateY(-4px);

  border-color: #E0BB52;

  background:
    rgba(255,
      255,
      255,
      .065);
}


.about-lp2-stat__icon {
  width: 58px;
  height: 58px;

  display: block;

  margin-bottom: 12px;

  object-fit: contain;
}


.about-lp2-stat strong {
  display: block;

  margin-bottom: 7px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(30px,
      3.1vw,
      43px);

  font-weight: 400;

  line-height: 1;

  color: #E0BB52;
}


.about-lp2-stat span {
  max-width: 120px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  line-height: 1.5;

  color:
    rgba(255,
      255,
      255,
      .55);
}



/* =====================================================
   OUR IMPERATIVES
===================================================== */

.about-imperatives-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-light-b);
}



/* =====================================================
   IMPERATIVES HEADING
===================================================== */

.about-imperatives-heading {
  max-width: 920px;

  margin-bottom:
    clamp(45px,
      6vw,
      70px);
}


.about-imperatives-heading h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  color: #092A8B;
}


.about-imperatives-heading__line {
  width: 210px;

  max-width: 50%;

  height: 1px;

  margin:
    14px 0 15px;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .12));
}


.about-imperatives-heading p {
  margin: 0;

  max-width: 900px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.65;

  color:
    rgba(23,
      35,
      67,
      .5);
}



/* =====================================================
   DECORATIVE GEOMETRY
===================================================== */

.about-imperatives__decor {
  position: absolute;

  top: 55px;
  right:
    max(38px,
      calc((100vw - 1280px) / 2));

  width: 95px;
  height: 95px;

  opacity: .55;

  pointer-events: none;
}


.about-imperatives__decor path {
  fill: none;

  stroke: #D8B145;

  stroke-width: .85;

  stroke-linecap: round;
  stroke-linejoin: round;
}



/* =====================================================
   IMPERATIVE GRID
===================================================== */

.about-imperatives-grid {
  display: grid;

  grid-template-columns:
    repeat(3,
      minmax(0, 1fr));
}


.about-imperative {
  position: relative;

  padding:
    0 42px;
}


.about-imperative:first-child {
  padding-left: 0;
}


.about-imperative:last-child {
  padding-right: 0;
}


.about-imperative+.about-imperative {
  border-left:
    1px solid rgba(23,
      35,
      67,
      .16);
}



/* =====================================================
   ICON
===================================================== */

.about-imperative__icon {
  width: 63px;
  height: 63px;

  display: flex;

  align-items: center;
  justify-content: center;

  margin-bottom: 10px;
}


.about-imperative__icon img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;
}



/* =====================================================
   NUMBER / TITLE
===================================================== */

.about-imperative__number {
  display: block;

  margin-bottom: 10px;

  font-family:
    Inter,
    sans-serif;

  font-size: 18px;

  font-weight: 600;

  color: #17318D;
}


.about-imperative h3 {
  margin:
    0 0 13px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-card-title);

  font-weight: 400;

  color: #D8B145;
}


.about-imperative p {
  max-width: 330px;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 300;

  line-height: 1.72;

  color:
    rgba(23,
      35,
      67,
      .58);
}



/* =====================================================
   ABOUT PHASE 2 - TABLET
===================================================== */

@media (max-width: 899px) {

  .about-lp2-grid {
    grid-template-columns: 1fr;

    gap:
      var(--ed-split-gap);
  }



  .about-lp2-left {
    width:
      min(640px,
        100%);

    margin: auto;
  }


  .about-lp2-slider {
    padding:
      0 38px;
  }


  .about-lp2-slider__stage {
    height:
      clamp(330px,
        58vw,
        420px);
  }


  .about-lp2-slide {
    width:
      min(65%,
        360px);
  }


  .about-lp2-slider__arrow--prev {
    left: 0;
  }


  .about-lp2-slider__arrow--next {
    right: 0;
  }


  .about-lp2-stats {
    width:
      min(650px,
        100%);

    margin: auto;
  }


  .about-imperatives-grid {
    gap: 0;
  }


  .about-imperative {
    padding:
      0 25px;
  }

}



/* =====================================================
   ABOUT PHASE 2 - MOBILE
===================================================== */

@media (max-width: 640px) {

  .about-lp2-slider {
    padding:
      0 30px;
  }


  .about-lp2-slider__stage {
    height:
      clamp(280px,
        92vw,
        360px);
  }


  .about-lp2-slide {
    width:
      min(70%,
        285px);

    border-radius: 11px;
  }


  .about-lp2-slider__arrow {
    width: 35px;
    height: 35px;

    font-size: 0px;
  }


  .about-lp2-slider__arrow--prev {
    left: -3px;
  }


  .about-lp2-slider__arrow--next {
    right: -3px;
  }


  .about-lp2-slider__arrow {
    width: 34px;
    height: 34px;
  }


  .about-lp2-stats {
    grid-template-columns:
      repeat(2,
        1fr);

    gap: 12px;
  }


  .about-lp2-stat {
    min-height: 150px;

    padding:
      20px 12px;
  }


  .about-lp2-stat__icon {
    width: 31px;
    height: 31px;
  }


  .about-lp2-stat strong {
    font-size: 30px;
  }


  /* =====================================================
   ABOUT IMPERATIVES - MOBILE POLISH
===================================================== */

  .about-imperatives__decor {
    display: none;
  }


  .about-imperatives-heading {
    width: 100%;

    max-width: 100%;

    margin:
      0 auto 34px;

    padding-right: 0;

    text-align: center;
  }


  .about-imperatives-heading h2 {
    text-align: center;
  }


  .about-imperatives-heading__line {
    width: 155px;

    max-width: none;

    margin:
      14px auto 16px;
  }


  .about-imperatives-heading p {
    width:
      min(34ch,
        100%);

    margin:
      0 auto;

    text-align: center;
  }


  .about-imperatives-grid {
    grid-template-columns:
      1fr;

    gap: 14px;
  }


  .about-imperative {
    padding:
      27px 20px;

    border:
      1px solid rgba(23,
        49,
        141,
        .11);

    border-radius:
      18px;

    text-align:
      center;

    background:
      linear-gradient(145deg,
        rgba(255,
          255,
          255,
          .46),
        rgba(235,
          240,
          252,
          .62));

    box-shadow:
      0 12px 34px rgba(9,
        42,
        139,
        .055),
      inset 0 1px 0 rgba(255,
        255,
        255,
        .72);
  }


  .about-imperative:first-child,
  .about-imperative:last-child {
    padding:
      27px 20px;
  }


  .about-imperative+.about-imperative {
    border-left:
      1px solid rgba(23,
        49,
        141,
        .11);

    border-top:
      1px solid rgba(23,
        49,
        141,
        .11);
  }


  .about-imperative__icon {
    width: 58px;
    height: 58px;

    margin:
      0 auto 12px;
  }


  .about-imperative__number {
    margin-bottom:
      7px;

    font-size:
      14px;

    text-align:
      center;
  }


  .about-imperative h3 {
    margin-bottom:
      10px;

    text-align:
      center;
  }


  .about-imperative p {
    width:
      min(34ch,
        100%);

    max-width: none;

    margin:
      0 auto;

    text-align:
      center;

    line-height:
      1.7;
  }
}


/* =====================================================
   ABOUT - LEADERSHIP TEAM
===================================================== */

.about-leadership-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


/* =====================================================
   TEAM HEADING
===================================================== */

.about-team-heading {
  margin-bottom:
    35px;
}


.about-team-heading h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  line-height: 1;

  color: #E0BB52;
}



/* =====================================================
   LEADERSHIP GRID
===================================================== */

.about-leadership-marquee {
  position: relative;

  width: 100%;
}

.about-leadership-grid {
  display: grid;

  grid-template-columns:
    repeat(4,
      minmax(0, 1fr));

  gap: 18px;
}


/* =====================================================
   LEADERSHIP CARD
===================================================== */

.about-leadership-card {
  position: relative;

  min-width: 0;

  overflow: hidden;

  border:
    1px solid rgba(216,
      177,
      69,
      .25);

  border-radius: 7px;

  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, .05),
      rgba(255, 255, 255, .025));

  transition:
    transform .4s ease,
    border-color .4s ease,
    background .4s ease;
}


.about-leadership-card:hover {
  transform:
    translateY(-5px);

  border-color:
    rgba(216,
      177,
      69,
      .62);

  background:
    rgba(255,
      255,
      255,
      .055);
}



/* IMAGE */

.about-leadership-card__image {
  position: relative;

  width: 100%;

  aspect-ratio:
    1 / 1.02;

  overflow: hidden;

  background:
    #07184F;
}


.about-leadership-card__image img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  object-position:
    center top;

  pointer-events: none;

  user-select: none;

  -webkit-user-drag: none;

  transition:
    transform .8s cubic-bezier(.2, .8, .2, 1);
}


.about-leadership-card:hover .about-leadership-card__image img {
  transform:
    scale(1.035);
}


.about-leadership-card__image-shade {
  position: absolute;

  inset: 0;

  background:
    linear-gradient(to bottom,
      transparent 62%,
      rgba(7, 24, 79, .23));

  pointer-events: none;
}



/* CARD CONTENT */

.about-leadership-card__content {
  position: relative;
text-align: center;
  min-height: 123px;

  padding:
    32px 18px 14px;
}


.about-leadership-card__number {
  display: none;
}


.about-leadership-card h3 {
  margin:
    0 0 2px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-card-title);

  font-weight: 500;

  line-height: 1.1;

  color: #FFFFFF;
}


.about-leadership-card__role {
  display: block;

  margin-bottom: 8px;
  margin-top: 8px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-eyebrow);

  font-weight: 500;

  color: #E0BB52;
}


.about-leadership-card p {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 300;

  line-height: 1.48;

  color:
    rgba(255,
      255,
      255,
      .58);
}



/* =====================================================
   ABOUT SUPPORT TEAM
===================================================== */

.about-support-section {
  position: relative;

  padding:
    var(--ed-section-space) 0;

  overflow: hidden;

  background:
    var(--ed-surface-light-a);
}


.about-support-heading {
  margin-bottom:
    42px;
}


.about-support-heading h2 {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-section-title);

  font-weight: 400;

  color: #092A8B;
}



/* =====================================================
   SUPPORT GRID
===================================================== */

.about-support-grid {
  display: grid;

  grid-template-columns: repeat(8, minmax(0, 1fr));

  column-gap: clamp(20px, 3vw, 45px);

  row-gap: 65px;
}

.about-support-member {
  grid-column: span 2;
}

/* Center the 3 members in second row */
.about-support-member:nth-child(5) {
  grid-column: 2 / span 2;
}

.about-support-member:nth-child(6) {
  grid-column: 4 / span 2;
}

.about-support-member:nth-child(7) {
  grid-column: 6 / span 2;
}

@media (max-width: 640px) {

  .about-support-grid {
    grid-template-columns: repeat(2, 1fr);

    column-gap: 20px;
    row-gap: 52px;
  }

  .about-support-member {
    grid-column: auto;
  }

  .about-support-member:nth-child(5),
  .about-support-member:nth-child(6) {
    grid-column: auto;
  }

  .about-support-member:nth-child(7) {
    grid-column: 1 / -1;

    width: calc(50% - 10px);

    justify-self: center;
  }

}



/* =====================================================
   SUPPORT MEMBER
===================================================== */

.about-support-member {
  position: relative;

  min-width: 0;

  text-align: center;
}


/* image */

.about-support-member__image {
  width: 112px;
  height: 112px;

  margin:
    0 auto 15px;

  overflow: hidden;

  border-radius: 50%;

  border:
    1px solid rgba(7,
      24,
      79,
      .12);

  background: #07184F;

  transition:
    transform .4s ease,
    box-shadow .4s ease;
}


.about-support-member:hover .about-support-member__image {
  transform:
    translateY(-4px);

  box-shadow:
    0 15px 35px rgba(7,
      24,
      79,
      .12);
}


.about-support-member__image img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  object-position:
    center top;

  pointer-events: none;

  user-select: none;

  -webkit-user-drag: none;
}



/* NAME */

.about-support-member h3 {
  margin:
    0 0 3px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-card-title);

  font-weight: 500;

  line-height: 1.1;

  color: #17224B;
}



/* ROLE */

.about-support-member__role {
  display: block;

  margin-bottom: 6px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-eyebrow);

  font-weight: 500;

  color: #C99D26;
}



/* DESCRIPTION */

.about-support-member p {
  width:
    min(210px,
      100%);

  margin:
    0 auto;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight: 300;

  line-height: 1.48;

  color:
    rgba(23,
      35,
      67,
      .59);
}



/* =====================================================
   ABOUT FINAL CTA
===================================================== */

.about-final-cta {
  position: relative;

  min-height:
    clamp(330px,
      31vw,
      440px);

  display: flex;

  align-items: center;
  justify-content: center;

  padding:
    65px 20px;

  overflow: hidden;

  background: #04132F;
}



/* BACKGROUND */

.about-final-cta__bg {
  position: absolute;

  inset:
    -8% 0;

  background-image:
    url("../images/about-cta.jpeg");

  background-repeat:
    no-repeat;

  background-size:
    cover;

  background-position:
    center;

  transform:
    scale(1.08);

  will-change:
    transform;
}



/* OVERLAY */

/* .about-final-cta__overlay {
  position: absolute;

  inset: 0;

  background:
    linear-gradient(90deg,
      rgba(2, 15, 42, .93) 0%,
      rgba(4, 25, 65, .78) 50%,
      rgba(4, 20, 54, .48) 100%);
} */



/* CONTENT */

.about-final-cta__content {
  position: relative;

  z-index: 2;

  width:
    min(680px,
      100%);

  margin: auto;

  text-align: center;
}


.about-final-cta h2 {
  margin:
    0 0 20px;

  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-display);

  font-weight: 300;

  line-height: 1.08;

  letter-spacing:
    -.025em;

  color: #FFFFFF;
}


.about-final-cta p {
  width:
    min(550px,
      100%);

  margin:
    0 auto 24px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.55;

  color:
    rgba(255,
      255,
      255,
      .53);
}



/* CTA BUTTON */

.about-final-cta__button {
  display: inline-flex;

  align-items: center;

  gap: 19px;

  padding:
    11px 18px;

  border-radius:
    999px;

  background:
    linear-gradient(90deg,
      #F0C748,
      #D7A817);

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  font-weight: 600;

  text-decoration: none;

  color: #17224B;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.about-final-cta__button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 14px 34px rgba(216,
      177,
      69,
      .22);
}


.about-final-cta__button span:last-child {
  transition:
    transform .35s ease;
}


.about-final-cta__button:hover span:last-child {
  transform:
    translateX(4px);
}



/* =====================================================
   ABOUT FINAL SECTIONS - TABLET
===================================================== */

@media (max-width: 899px) {

  .about-leadership-grid {
    grid-template-columns:
      repeat(2,
        1fr);

    gap: 18px;
  }


  .about-support-grid {
    grid-template-columns:
      repeat(3,
        1fr);

    column-gap: 35px;

    row-gap: 55px;
  }

}



/* =====================================================
   ABOUT FINAL SECTIONS - MOBILE
===================================================== */

@media (max-width: 640px) {




  .about-team-heading {
    margin-bottom: 28px;
  }

  /* =====================================================
   LEADERSHIP MOBILE MARQUEE
===================================================== */

  .about-leadership-marquee {
    width:
      calc(100% + 40px);

    margin-left:
      -20px;

    padding:
      0 0 14px 28px;

    overflow:
      hidden;

    box-sizing:
      border-box;


    /*
   * Vertical page scrolling stays native.
   * Horizontal movement belongs to our marquee.
   */
    touch-action:
      pan-y;

    user-select:
      none;

    -webkit-user-select:
      none;

    cursor:
      grab;
  }


  .about-leadership-marquee.is-dragging {
    cursor:
      grabbing;
  }


  .about-leadership-grid {
    display:
      flex;

    width:
      max-content;

    gap:
      14px;

    margin: 0;

    padding: 0;

    overflow:
      visible;

    scroll-snap-type:
      none;

    touch-action:
      pan-y;

    will-change:
      transform;
  }


  .about-leadership-grid::-webkit-scrollbar {
    display: none;
  }


  .about-leadership-card {
    flex:
      0 0 min(72vw,
        285px);

    width:
      min(72vw,
        285px);

    max-width:
      none;

    scroll-snap-align:
      none;
  }


  .about-leadership-card__content {
    min-height:
      120px;
  }

  /* SUPPORT */



  .about-support-heading {
    margin-bottom: 35px;
  }


  .about-support-grid {
    grid-template-columns:
      repeat(2, 1fr);

    column-gap: 20px;

    row-gap: 52px;
  }


  .about-support-member__image {
    width: 88px;
    height: 88px;
  }





  /* CTA */

  .about-final-cta {
    min-height: 365px;

    padding:
      60px 20px;
  }


  .about-final-cta h2 {
    font-size:
      var(--ed-type-display);
  }


  .about-final-cta h2 br {
    display: none;
  }



}

/* =====================================================
   COMPANIES DIRECTORY PAGE
===================================================== */

.companies-page-body {
  margin: 0;

  background: #fff;
}






/* =====================================================
   HERO
===================================================== */

.companies-page-hero {
  position: relative;

  min-height:
    var(--ed-hero-min-height);

  padding:
    var(--ed-hero-padding-top) 0 var(--ed-hero-padding-bottom);

  display: flex;

  align-items: center;

  overflow: hidden;

  background:
    var(--ed-surface-dark-bg);

  color: #fff;
}


.companies-page-hero__grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr) minmax(390px, .72fr);

  align-items: center;

  gap:
    var(--ed-split-gap);
}



/* =====================================================
   HERO TEXT
===================================================== */

.companies-page-hero__content {
  max-width: 710px;
}


.companies-page-hero__content h1 {
  margin: 0;
    max-width: 500px;
  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-hero-title);

  font-weight: 300;

  line-height: 1.05;

  letter-spacing: -.035em;

  color: #E0BB52;
}


.companies-page-hero__content h1 span {
  display: block;
}


.companies-page-hero__rule {
  width: 290px;

  max-width: 50%;

  height: 1px;

  margin:
    var(--ed-hero-rule-top) 0 var(--ed-hero-rule-bottom);

  transform-origin:
    left center;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .12));
}


.companies-page-hero__content p {
  max-width: 680px;

  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-body);

  font-weight: 300;

  line-height: 1.75;

  color:
    rgba(255,
      255,
      255,
      .57);
}



/* =====================================================
   HERO NETWORK
===================================================== */

.companies-page-network {
  position: relative;

  width: 100%;

  max-width: 440px;

  justify-self: end;

  transform-origin:
    center;

  will-change: transform;
}


.companies-page-network__object {
  width: 100%;

  aspect-ratio:
    640 / 450;

  display: block;

  border: 0;

  overflow: visible;

  opacity: 0;

  pointer-events: none;
}


.companies-page-network__lines path {
  fill: none;

  stroke:
    url(#companiesNetworkGold);

  stroke-width: 1.35;

  stroke-linecap: round;

  stroke-linejoin: round;

  opacity: .9;
}


.companies-page-network__nodes circle {
  fill: #E0BB52;

  transform-box: fill-box;

  transform-origin: center;

  filter:
    drop-shadow(0 0 5px rgba(224, 187, 82, .45));
}

.companies-page-drawer__title-link {
  color: inherit;

  text-decoration: none;

  transition:
    opacity .3s ease;
}


.companies-page-drawer__title-link:hover {
  color: inherit;

  opacity: .72;
}


.companies-page-drawer__outcome {
  margin:
    13px 0 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  font-weight:
    500;

  line-height:
    1.6;

  color:
    #C99A24;
}


/* =====================================================
   DIRECTORY
===================================================== */

/* =====================================================
   COMPANIES PAGE - RESPONSIVE HERO FIX
===================================================== */

@media (max-width: 899px) {

  .companies-page-hero {
    min-height: auto;

    align-items:
      flex-start;
  }


  .companies-page-hero__grid {
    grid-template-columns:
      minmax(0, 1fr);

    gap:
      var(--ed-split-gap);
  }


  .companies-page-hero__content {
    width: 100%;

    max-width: 100%;

    min-width: 0;
  }


  .companies-page-hero__content h1 {
    width: 100%;

    max-width:
      13ch;
  }


  .companies-page-hero__content p {
    width: 100%;

    max-width:
      36rem;
  }


  .companies-page-network {
    width:
      min(430px,
        78vw);

    max-width: 100%;

    margin:
      0 auto;

    justify-self:
      center;
  }

}



@media (max-width: 640px) {

  .companies-page-hero__grid {
    gap:
      26px;
  }


  .companies-page-hero__content h1 {
    max-width:
      15ch;
  }


  .companies-page-hero__content p {
    max-width:
      32ch;
  }


  .companies-page-network {
    width:
      min(300px,
        86vw);
  }

}

.companies-page-directory {
  position: relative;

  padding:
    30px 0 25px;
 
}



/* =====================================================
   FILTER
===================================================== */

.companies-page-filter {
  display: flex;

  align-items: center;

  min-height: 68px;

  border-bottom:
    1px solid rgba(189, 146, 34, .5);
}


.companies-page-filter__select-wrap {
  position: relative;

  display: inline-flex;
}


.companies-page-filter select {
  min-width: 132px;

  height: 43px;

  padding:
    0 42px 0 18px;

  border:
    1px solid rgba(216, 177, 69, .65);

  border-radius: 999px;

  outline: none;

  background: #fff;

  appearance: none;

  -webkit-appearance: none;

  font-family:
    Inter,
    sans-serif;

  font-size: 11px;

  font-weight: 500;

  color: #C69A27;

  cursor: pointer;
}


.companies-page-filter__arrow {
  position: absolute;

  right: 18px;
  top: 50%;

  width: 7px;
  height: 7px;

  border-right:
    1.5px solid #C69A27;

  border-bottom:
    1.5px solid #C69A27;

  transform:
    translateY(-65%) rotate(45deg);

  pointer-events: none;
}



/* =====================================================
   COMPANY ROW
===================================================== */

.companies-page-list {
  width: 100%;
}


.companies-page-row {
  position: relative;

  width: 100%;

  min-height: 118px;

  display: flex;

  align-items: center;

  gap: 24px;

  padding:
    0;

  border: 0;

  border-bottom:
    1px solid rgba(189, 146, 34, .5);

  background: transparent;

  text-align: left;

  appearance: none;

  -webkit-appearance: none;

  cursor: pointer;

  transition:
    padding .4s ease,
    background .4s ease;
}


.companies-page-row:hover {
  padding-left: 14px;

  background:
    linear-gradient(90deg,
      rgba(224, 187, 82, .05),
      transparent 34%);
}


.companies-page-row__name {
  font-family:
    Jost,
    sans-serif;

  font-size:
    var(--ed-type-card-title);

  font-weight: 400;

  line-height: 1;

  color: #102B84;
}


.companies-page-row__type {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 35px;

  padding:
    0 20px;

  border-radius: 999px;

  background:
    linear-gradient(90deg,
      #F0C84B,
      #D5A511);

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-meta);

  font-weight: 500;

  color: #51441C;
}


.companies-page-row__arrow {
  margin-left: auto;

  padding-right: 10px;

  opacity: 0;

  transform:
    translateX(-8px);

  font-size: 17px;

  color: #C99B22;

  transition:
    opacity .3s ease,
    transform .3s ease;
}


.companies-page-row:hover .companies-page-row__arrow {
  opacity: 1;

  transform:
    translateX(0);
}



/* EMPTY */

.companies-page-empty {
  padding:
    60px 0;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-card-copy);

  color:
    rgba(23, 35, 67, .52);
}



/* =====================================================
   DRAWER
===================================================== */

.companies-page-drawer {
  position: fixed;

  inset: 0;

  z-index: 100000;

  opacity: 0;

  visibility: hidden;

  pointer-events: none;
}


.companies-page-drawer.is-open {
  visibility: visible;

  pointer-events: auto;
}



/* BACKDROP */

.companies-page-drawer__backdrop {
  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

  padding: 0;

  border: 0;

  background:
    rgba(4,
      11,
      31,
      .58);

  backdrop-filter:
    blur(3px);

  -webkit-backdrop-filter:
    blur(3px);

  cursor: pointer;
}



/* PANEL */

.companies-page-drawer__panel {
  position: absolute;

  right: 0;
  top: 0;

  z-index: 2;

  width:
    min(455px,
      92vw);

  height: 100%;

  overflow-y: auto;

  overscroll-behavior: contain;

  background:
    linear-gradient(145deg,
      #FBFBF8,
      #FFFFFF);

  box-shadow:
    -30px 0 80px rgba(0, 0, 0, .18);

  will-change: transform;

}



/* INNER */

.companies-page-drawer__inner {
  padding:
    30px 26px 38px;
}



/* CLOSE */

.companies-page-drawer__close {
  position: absolute;

  right: 18px;
  top: 17px;

  z-index: 5;

  width: 36px;
  height: 36px;

  padding: 0;

  border: 0;

  border-radius: 50%;

  background: transparent;

  cursor: pointer;

  transition:
    background .3s ease,
    transform .35s ease;
}


.companies-page-drawer__close:hover {
  transform:
    rotate(90deg);

  background:
    rgba(224, 187, 82, .12);
}


.companies-page-drawer__close span {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 15px;
  height: 1px;

  background: #C99A24;
}


.companies-page-drawer__close span:first-child {
  transform:
    translate(-50%, -50%) rotate(45deg);
}


.companies-page-drawer__close span:last-child {
  transform:
    translate(-50%, -50%) rotate(-45deg);
}



/* =====================================================
   DRAWER CONTENT
===================================================== */

.companies-page-drawer__type {
  display: inline-block;

  margin-bottom: 13px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-meta);

  font-weight: 600;

  letter-spacing: .25em;

  text-transform: uppercase;

  color: #C99A24;
}


.companies-page-drawer__inner h2 {
  margin:
    0 45px 13px 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(35px,
      4vw,
      48px);

  font-weight: 400;

  line-height: 1;

  color: #C99A24;
}


.companies-page-drawer__inner h3 {
  margin:
    0 0 16px;

  font-family:
    Inter,
    sans-serif;

  font-size: 12px;

  font-weight: 500;

  line-height: 1.5;

  color: #17224B;
}


.companies-page-drawer__description {
  margin: 0;

  font-family:
    Inter,
    sans-serif;

  font-size: 10px;

  font-weight: 300;

  line-height: 1.72;

  color:
    rgba(23, 35, 67, 0.891);
}


.companies-page-drawer__divider {
  width: 100%;

  height: 1px;

  margin:
    22px 0;

  background:
    linear-gradient(90deg,
      #D8B145,
      rgba(216, 177, 69, .12));
}



/* =====================================================
   DRAWER META
===================================================== */

.companies-page-drawer__meta {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 15px;

  margin-bottom: 25px;
}


.companies-page-drawer__meta>div {
  min-width: 0;
}


.companies-page-drawer__meta span {
  display: block;

  margin-bottom: 5px;

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-meta);

  color:
    rgba(23,
      35,
      67,
      .42);
}


.companies-page-drawer__meta strong {
  display: block;

  font-family:
    Inter,
    sans-serif;

  font-size: 9px;

  font-weight: 500;

  color: #17224B;
}


/* =====================================================
   COMPANIES DRAWER - MASONRY MEDIA
===================================================== */

.companies-page-drawer__media {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  grid-template-rows:
    repeat(12, minmax(0, 1fr));

  width: 100%;

  aspect-ratio: 1.04 / 1;

  gap: 10px;

  margin-top: 4px;
}


/* =====================================================
   COMMON IMAGE TILE
===================================================== */

.companies-page-drawer__media-item {
  position: relative;

  min-width: 0;

  overflow: hidden;

  border-radius: 7px;

  background: #F0E5B8;

  box-shadow:
    0 4px 14px rgba(7, 24, 79, .06);

  /*
   * IMPORTANT:
   * remove old aspect-ratio
   */
  aspect-ratio: auto;
}


.companies-page-drawer__media-item img {
  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  object-position: center;

  pointer-events: none;

  user-select: none;

  -webkit-user-drag: none;

  transition:
    transform .65s cubic-bezier(.2, .8, .2, 1);
}


.companies-page-drawer__media-item:hover img {
  transform: scale(1.035);
}



/* =====================================================
   EXACT MASONRY POSITIONS
===================================================== */
  
.companies-page-drawer__media-item:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 7;
}

.companies-page-drawer__media-item:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / span 5;
}

.companies-page-drawer__media-item:nth-child(3) {
  grid-column: 1;
  grid-row: 8 / span 5;
}

.companies-page-drawer__media-item:nth-child(4) {
  grid-column: 2;
  grid-row: 6 / span 7;
}


/* =====================================================
   IMAGE POSITION TUNING
===================================================== */

.companies-page-drawer__media-item:nth-child(1) img {
  object-position: center;
}


.companies-page-drawer__media-item:nth-child(2) img {
  object-position: center center;
}


.companies-page-drawer__media-item:nth-child(3) img {
  object-position: center center;
}


.companies-page-drawer__media-item:nth-child(4) img {
  object-position: center;
}



/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 640px) {

  .companies-page-drawer__media {
    gap: 7px;
  }


  .companies-page-drawer__media-item {
    border-radius: 6px;
  }

}

/* =====================================================
   COMPANIES PAGE - PHASE 2 POLISH
===================================================== */


/* =====================================================
   DIRECTORY ROW INTERACTION
===================================================== */

.companies-page-row {
  overflow: hidden;
}


.companies-page-row__name {
  transition:
    transform .4s cubic-bezier(.2, .8, .2, 1),
    color .3s ease;
}


.companies-page-row__type {
  transition:
    transform .4s cubic-bezier(.2, .8, .2, 1),
    box-shadow .35s ease;
}


.companies-page-row:hover .companies-page-row__name {
  transform: translateX(8px);
}


.companies-page-row:hover .companies-page-row__type {
  transform: translateX(8px);

  box-shadow:
    0 7px 20px rgba(201, 155, 34, .13);
}


/*
 * Divider remains visually fixed.
 * The row content moves, not the separator.
 */
.companies-page-row:hover {
  padding-left: 0;

  background:
    linear-gradient(90deg,
      rgba(224, 187, 82, .045),
      transparent 37%);
}



/* =====================================================
   FILTER
===================================================== */

.companies-page-filter select {
  transition:
    border-color .3s ease,
    box-shadow .3s ease,
    background .3s ease;
}


.companies-page-filter select:hover,
.companies-page-filter select:focus {
  border-color: #D8B145;

  box-shadow:
    0 8px 24px rgba(216, 177, 69, .08);
}



/* =====================================================
   DRAWER BACKDROP
===================================================== */

.companies-page-drawer__backdrop {
  background:
    rgba(3,
      9,
      28,
      .62);

  backdrop-filter:
    blur(7px);

  -webkit-backdrop-filter:
    blur(7px);
}



/* =====================================================
   DRAWER PANEL
===================================================== */

.companies-page-drawer__panel {
  width:
    min(475px,
      94vw);

  background:
    linear-gradient(145deg,
      #FAFAF7 0%,
      #FFFFFF 62%,
      #FCF9EF 100%);

  scrollbar-width: thin;

  scrollbar-color:
    rgba(201, 154, 36, .35) transparent;
}


.companies-page-drawer__panel::-webkit-scrollbar {
  width: 5px;
}


.companies-page-drawer__panel::-webkit-scrollbar-track {
  background: transparent;
}


.companies-page-drawer__panel::-webkit-scrollbar-thumb {
  border-radius: 999px;

  background:
    rgba(201,
      154,
      36,
      .35);
}


.companies-page-drawer__inner {
  padding:
    34  px 29px 42px;
}



/* =====================================================
   DRAWER TITLE
===================================================== */

.companies-page-drawer__inner h2 {
  font-size:
    var(--ed-type-section-title);

  letter-spacing: -.03em;
}


.companies-page-drawer__inner h3 {
  max-width: 370px;

  font-size:
    var(--ed-type-list);

  line-height: 1.55;
}


.companies-page-drawer__description {
  max-width: 395px;

  font-size:
    var(--ed-type-card-copy);

  line-height: 1.76;
}



/* =====================================================
   DRAWER META
===================================================== */

.companies-page-drawer__meta {
  padding-bottom: 4px;
}


.companies-page-drawer__meta span {
  margin-bottom: 6px;

  text-transform: uppercase;

  letter-spacing: .08em;
}


.companies-page-drawer__meta strong {
  font-size:
    var(--ed-type-card-copy);
}



/* =====================================================
   DRAWER MEDIA
===================================================== */

.companies-page-drawer__media {
  gap: 7px;
}


.companies-page-drawer__media-item {
  border-radius: 6px;

  box-shadow:
    0 6px 18px rgba(9, 25, 64, .055);
}


.companies-page-drawer__media-item img {
  transition:
    transform .7s cubic-bezier(.2, .8, .2, 1);
}


.companies-page-drawer__media-item:hover img {
  transform: scale(1.045);
}



/* =====================================================
   MOBILE DRAWER
===================================================== */

@media (max-width: 640px) {

  .companies-page-drawer__panel {
    width: 96vw;
  }


  .companies-page-drawer__inner {
    padding:
      29px 20px 34px;
  }




  .companies-page-drawer__meta {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));

    gap: 10px;
  }


  .companies-page-row:hover .companies-page-row__name,
  .companies-page-row:hover .companies-page-row__type {
    transform: none;
  }

}

/* =====================================================
   CTA SVG ARROWS
   Prevents iOS emoji-style Unicode arrows
===================================================== */

.consulting-hero__cta-icon svg,
.capital-hero__cta-icon svg,
.capital-gold-button__icon svg,
.about-page-hero__cta-icon svg {
  width: 11px;
  height: 11px;

  display: block;

  overflow: visible;

  pointer-events: none;
}


.consulting-hero__cta-icon svg path,
.capital-hero__cta-icon svg path,
.capital-gold-button__icon svg path,
.about-page-hero__cta-icon svg path {
  fill: none;

  stroke:
    currentColor;

  stroke-width:
    1.45;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;
}

/* =====================================================
   GOLD CTA - KEEP TEXT DARK ON HOVER
===================================================== */

/* CONSULTING - CTA */
.consulting-final-cta__button:hover,

/* CAPITAL - INVESTMENTS */
.capital-gold-button:hover,

/* CAPITAL - DEAL ADVISORY */
.capital-deal-button:hover,

/* CAPITAL - FINAL CTA */
.capital-structure-cta__button:hover,

/* ABOUT - FINAL CTA */
.about-final-cta__button:hover {
  color: #17224B;
}




/* =====================================================
   ED INNER PAGE DARK BACKGROUNDS
   BG1 = LANDING / HERO
   BG2 = INNER DARK SECTIONS

   IMPORTANT:
   Home / index.html is intentionally untouched.
===================================================== */


/* =====================================================
   BG1 — ALL INNER PAGE LANDING / HERO SECTIONS
===================================================== */

.consulting-hero,
.capital-hero,
.about-page-hero,
.companies-page-hero,
.contact-page-hero {
  background-color: #091958;

  background-image:
    url("../images/bg1.jpeg");

  background-repeat:
    no-repeat;

  background-position:
    center center;

  background-size:
    100% 100%;
}


/* =====================================================
   BG2 — ALL OTHER DARK SECTIONS
===================================================== */

.consulting-fit-section,
.capital-deal-section,
.about-lp2-section,
.about-leadership-section {
  background-color: #091958;

  background-image:
    url("../images/bg2.jpeg");

  background-repeat:
    no-repeat;

  background-position:
    center center;

  background-size:
    100% 100%;
}


/* =====================================================
   REMOVE OLD PAGE-SPECIFIC BACKGROUND ATMOSPHERE
   Keep actual hero artwork / SVG / network unchanged.
===================================================== */

.consulting-hero__glow,
.capital-hero__glow,
.about-page-hero__ambient {
  display:
    none;
}


/*
 * Capital had an additional grid/background texture.
 */
.capital-hero::before {
  display:
    none;
}

/* =====================================================
   CONSULTING VALUE CONSTELLATION — AUG 12 REDESIGN
   Open editorial composition; intentionally no cards/boxes.
===================================================== */

.consulting-value-map--editorial {
  position: relative;
  width: min(100%, 620px);
  max-width: 620px; 
  justify-self: end;
  isolation: isolate;
}

.consulting-value-map--editorial .consulting-value-map__lines {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.consulting-value-map--editorial .consulting-value-map__line {
  fill: none;
  stroke: #D8B145;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.consulting-value-map--editorial .consulting-value-map__line--solid {
  stroke-width: 1.6;
  opacity: .82;
}

.consulting-value-map--editorial .consulting-value-map__line--dashed {
  stroke-width: 1;
  stroke-dasharray: 3 9;
  opacity: .42;
}

.consulting-value-anchor {
  position: absolute;
  z-index: 3;
  width: min(340px, 60%);
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}

.consulting-value-anchor--one {
  top: 36px;
  left: 20px;
}

.consulting-value-anchor--two {
  right: 0;
  bottom: 14px;
  flex-direction: row-reverse;
  text-align: right;
}

.consulting-value-anchor__number {
  position: absolute;
  z-index: -1;
  top: -35px;
  left: 52px;
  font-family: Jost, sans-serif;
  font-size: clamp(58px, 6vw, 82px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.06em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(1, 45, 184, .11);
  opacity: .9;
  user-select: none;
}

.consulting-value-anchor--two .consulting-value-anchor__number {
  left: auto;
  right: 54px;
  top: -42px;
}

.consulting-value-anchor__icon {
  position: relative;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
}

.consulting-value-anchor__icon::before,
.consulting-value-anchor__icon::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.consulting-value-anchor__icon::before {
  inset: 2px;
  border: 1px solid rgba(216, 177, 69, .82);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 30px rgba(1, 45, 184, .05);
}

.consulting-value-anchor__icon::after {
  inset: -8px;
  border: 1px solid rgba(216, 177, 69, .18);
}

.consulting-value-anchor__icon-ring {
  position: absolute;
  inset: -15px;
  border: 1px dashed rgba(216, 177, 69, .2);
  border-radius: 50%;
  animation: consultingValueRing 18s linear infinite;
}

.consulting-value-anchor--two .consulting-value-anchor__icon-ring {
  animation-direction: reverse;
  animation-duration: 22s;
}

.consulting-value-anchor__icon img {
  position: relative;
  z-index: 2;
  display: block;
  width: 31px;
  height: 31px;
  object-fit: contain;
}

.consulting-value-anchor__copy {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}

.consulting-value-anchor__copy p {
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: clamp(18px, 1.08vw, 15px);
  font-weight: 400;
  line-height: 1.7;
  color: #012DB8;
  text-align: center;
}

.consulting-value-anchor__copy p strong {
  font-weight: 600;
  color: #012DB8;
}

.consulting-value-anchor__rule {
  display: block;
  width: 92px;
  height: 1px;
  margin-top: 11px;
  background: linear-gradient(90deg, #D8B145 0%, rgba(216, 177, 69, 0) 100%);
}

.consulting-value-anchor--two .consulting-value-anchor__rule {
  margin-left: auto;
  background: linear-gradient(270deg, #D8B145 0%, rgba(216, 177, 69, 0) 100%);
}

.consulting-value-map--editorial .consulting-value-map__node {
  position: absolute;
  z-index: 2;
  left: 55.5%;
  top: 47%;
  width: 8px;
  height: 8px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #D8B145;
  box-shadow: 0 0 0 5px rgba(216, 177, 69, .12), 0 0 18px rgba(216, 177, 69, .22);
}

.consulting-value-map__orbit {
  position: absolute;
  z-index: 1;
  border: 1px solid rgba(1, 45, 184, .07);
  border-radius: 50%;
  pointer-events: none;
}

.consulting-value-map__orbit--one {
  width: 142px;
  height: 142px;
  right: 58px;
  top: 14px;
}

.consulting-value-map__orbit--two {
  width: 94px;
  height: 94px;
  left: 132px;
  bottom: 6px;
  border-style: dashed;
}

.consulting-value-map--editorial .consulting-value-map__dots {
  z-index: 1;
  gap: 8px;
  opacity: .72;
}

.consulting-value-map--editorial .consulting-value-map__dots--top {
  right: 14%;
  top: 44px;
}

.consulting-value-map--editorial .consulting-value-map__dots--bottom {
  left: 18%;
  bottom: 38px;
}

@keyframes consultingValueRing {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1024px) {
  .consulting-value-map--editorial {
    justify-self: center;
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .consulting-value-map--editorial {
    width: 100%; 
    margin-top: 8px;
  }

  .consulting-value-anchor {
    width: min(82%, 330px);
    gap: 14px;
  }

  .consulting-value-anchor--one {
    top: 36px;
    left: 4px;
  }

  .consulting-value-anchor--two {
    right: 4px;
    bottom: 20px;
  }

  .consulting-value-anchor__icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }

  .consulting-value-anchor__icon img {
    width: 27px;
    height: 27px;
  }

  .consulting-value-anchor__copy p {
    font-size: 13px;
    line-height: 1.62;
  }

  .consulting-value-anchor__number {
    font-size: 60px;
    top: -30px;
    left: 46px;
  }

  .consulting-value-anchor--two .consulting-value-anchor__number {
    right: 47px;
    top: -32px;
  }

  .consulting-value-map__orbit--one {
    width: 108px;
    height: 108px;
    right: 22px;
  }

  .consulting-value-map__orbit--two {
    width: 72px;
    height: 72px;
    left: 85px;
    bottom: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .consulting-value-anchor__icon-ring {
    animation: none;
  }
}


/* =====================================================
   COMPANIES DIRECTORY - NEW LIST UI
===================================================== */

.companies-page-directory
.companies-page-list {

  width: 100%;

}


/* =====================================================
   ROW
===================================================== */

.companies-page-directory
.companies-page-row {

  position: relative;

  isolation: isolate;

  width: 100%;

  min-height: 96px;

  display: grid;

  grid-template-columns:
  minmax(0, 1fr)
  132px;

  align-items: center;

  gap: 18px;

  padding:
    15px 18px
    15px 8px;

  margin: 0;

  border: 0;

  border-bottom:
    1px solid
    rgba(190, 148, 40, .36);

  border-radius: 0;

  overflow: hidden;

  background:
    rgba(255, 255, 255, .05);

  text-align: left;

  appearance: none;

  -webkit-appearance: none;

  cursor: pointer;

  transition:
    border-color .45s ease,
    box-shadow .45s ease,
    transform .45s ease;
}


/*
 * GOLDEN GLOW LAYER
 */
.companies-page-directory
.companies-page-row::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: -1;

  opacity: 0;

  pointer-events: none;

  background:

    radial-gradient(
      420px 130px
      at 9% 50%,
      rgba(239, 193, 60, .22),
      transparent 68%
    ),

    linear-gradient(
      90deg,
      rgba(244, 213, 130, .20) 0%,
      rgba(249, 237, 202, .18) 42%,
      rgba(255, 255, 255, .03) 82%
    );

  transition:
    opacity .45s ease;
}


/* =====================================================
   NUMBER
===================================================== */

.companies-page-directory
.companies-page-row__number {

  position: relative;

  z-index: 1;

  display: block;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(
      30px,
      1.55vw,
      24px
    );

  font-weight: 400;

  line-height: 1;

  letter-spacing:
    -.02em;

  color:
    #CAA02D;

  transition:
    color .4s ease,
    transform .4s ease;
}


/* =====================================================
   TEXT
===================================================== */

.companies-page-directory
.companies-page-row__content {

  position: relative;

  z-index: 1;

  min-width: 0;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  justify-content: center;

  gap: 5px;
}


.companies-page-directory
.companies-page-row__name {

  display: block;

  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(
      30px,
      1.55vw,
      23px
    );

  font-weight: 400;

  line-height: 1.1;

  letter-spacing:
    -.02em;

  color:
    #102B84;

  transition:
    color .4s ease,
    transform .4s ease;
}


/*
 * OLD YELLOW CHIP DATA
 * is now a simple subtitle.
 */
.companies-page-directory
.companies-page-row__type {

  display: block;

  min-height: 0;

  padding: 0;

  border-radius: 0;

  background: none;

  font-family:
    Inter,
    sans-serif;

  font-size: 15px;

  font-weight: 400;

  line-height: 1.3;

  letter-spacing:
    .01em;

  color:
    rgba(11, 18, 38, .58);

  transition:
    color .4s ease;
}


/* =====================================================
   COMPANY LOGO
===================================================== */

.companies-page-directory
.companies-page-row__logo {

  position: relative;

  z-index: 1;

  width: 100%;

  min-width: 0;

  display: flex;

  align-items: center;

  justify-content: flex-end;

  padding-right: 2px;

  pointer-events: none;
}


.companies-page-directory
.companies-page-row__logo img {

  display: block;

  width: auto;

  max-width: 94px;

  height: auto;

  max-height: 52px;

  object-fit: contain;

  object-position: center right;

  transform:
    scale(.96);

  transform-origin:
    center right;

  transition:
    transform .45s
    cubic-bezier(.2, .8, .2, 1),
    filter .45s ease;
}


/* =====================================================
   DESKTOP HOVER ONLY
===================================================== */

@media
  (min-width: 768px)
  and (hover: hover)
  and (pointer: fine) {

  .companies-page-directory
  .companies-page-row:hover::before {

    opacity: 1;

  }


  .companies-page-directory
  .companies-page-row:hover {

    padding-left: 8px;

    border-bottom-color:
      rgba(195, 148, 30, .58);

    box-shadow:
      inset 0 1px 0
      rgba(255, 255, 255, .36);
  }


  .companies-page-directory
  .companies-page-row:hover
  .companies-page-row__number {

    color:
      #B78910;

    transform:
      translateX(5px);
  }


  .companies-page-directory
  .companies-page-row:hover
  .companies-page-row__name {

    color:
      #011DBC;

    transform:
      translateX(3px);
  }


  .companies-page-directory
  .companies-page-row:hover
  .companies-page-row__type {

    color:
      rgba(11, 18, 38, .76);
  }


  .companies-page-directory
  .companies-page-row:hover
  .companies-page-row__logo img {

    transform:
      scale(1.035);

  }

}


/* =====================================================
   MOBILE SCROLL GLOW
===================================================== */

@media (max-width: 767px) {

  .companies-page-directory
  .companies-page-row {

    min-height:
      88px;

    grid-template-columns:
    minmax(0, 1fr)
    74px; 

    gap:
      10px;

    padding:
      12px 8px
      12px 4px;

    transition:
      border-color .45s ease,
      box-shadow .45s ease,
      transform .45s ease;
  }


  .companies-page-directory
  .companies-page-row::before {

    background:

      radial-gradient(
        260px 110px
        at 18% 50%,
        rgba(229, 177, 38, .26),
        transparent 70%
      ),

      linear-gradient(
        90deg,
        rgba(247, 216, 132, .19),
        rgba(250, 238, 204, .13) 55%,
        transparent
      );

    transition:
      opacity .55s ease;
  }


  /*
   * JS adds this class to ONE
   * company row at a time.
   */
  .companies-page-directory
  .companies-page-row.is-scroll-active::before {

    opacity: 1;

  }


  .companies-page-directory
  .companies-page-row.is-scroll-active {

    border-bottom-color:
      rgba(196, 150, 32, .62);

    box-shadow:
      0 8px 30px
      rgba(188, 142, 31, .08);
  }


  .companies-page-directory
  .companies-page-row__number {

    font-size:
      17px;

    color:
      #C89A23;

    transition:
      color .45s ease,
      transform .45s ease;
  }


  .companies-page-directory
  .companies-page-row__name {

    font-size:
      17px;

    line-height:
      1.08;
  }


  .companies-page-directory
  .companies-page-row__type {

    margin-top:
      1px;

    font-size:
      9px;

    color:
      rgba(11, 18, 38, .56);
  }


  .companies-page-directory
  .companies-page-row__logo img {

    max-width:
      65px;

    max-height:
      42px;

    transform:
      scale(.94);

    transition:
      transform .5s
      cubic-bezier(.2, .8, .2, 1);
  }


  /*
   * Small supporting movement as
   * glow transfers between cards.
   */
  .companies-page-directory
  .companies-page-row.is-scroll-active
  .companies-page-row__number {

    color:
      #A87B05;

    transform:
      translateX(3px);
  }


  .companies-page-directory
  .companies-page-row.is-scroll-active
  .companies-page-row__logo img {

    transform:
      scale(1.025);
  }

}

/* =====================================================
   SHARED CALENDLY CTA
===================================================== */

.ed-calendly-button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 13px;

  width: fit-content;

  min-height: 43px;

  padding:
    9px 10px
    9px 18px;

  border-radius:
    999px;

  background:
    linear-gradient(
      90deg,
      #F0C94E,
      #D7A719
    );

  font-family:
    Inter,
    sans-serif;

  font-size:
    var(--ed-type-button);

  font-weight:
    500;

  line-height:
    1;

  text-decoration:
    none;

  color:
    #17224B;

  box-shadow:
    0 8px 22px
    rgba(218, 175, 55, .10);

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    background .35s ease;
}


.ed-calendly-button:hover {
  color:
    #17224B;

  transform:
    translateY(-2px);

  box-shadow:
    0 12px 28px
    rgba(218, 175, 55, .20);
}


/* ROUND ARROW */

.ed-calendly-button__icon {
  width: 25px;
  height: 25px;

  flex:
    0 0 25px;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid
    rgba(23, 34, 75, .28);

  border-radius:
    50%;
}


.ed-calendly-button__icon svg {
  width: 11px;
  height: 11px;

  display: block;
}


.ed-calendly-button__icon path {
  fill: none;

  stroke:
    currentColor;

  stroke-width:
    1.45;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;
}


/* =====================================================
   CONTACT PAGE POSITION
===================================================== */

.contact-page-social
.ed-calendly-button {
  margin-bottom:
    10px;
}

#leadership-team {
  scroll-margin-top: 160px;
}

@media (max-width: 640px) {

  .ed-footer-bottom {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .ed-footer-bottom > span {
    width: 100%;
    text-align: center !important;
  }

}

/* =====================================================
   CONSULTING INTRO - SINGLE CENTERED VALUE
===================================================== */

.consulting-intro-grid {
  grid-template-columns: 1fr;

  justify-items: center;
  align-items: start;

  gap: 34px;

  min-height: 0;

  padding:
    52px 0 46px;
}


.consulting-intro-copy--center {
  width: 100%;
 

  margin:
    0 auto;

  text-align: center;
}


.consulting-intro-copy--center
.consulting-intro-copy__line {
  margin-left: auto;
  margin-right: auto;
}


.consulting-intro-copy--center p {
  max-width: 600px;

  margin-left: auto;
  margin-right: auto;
}


/* VALUE */

.consulting-value-map--single {
  width:
    min(100%, 620px);

  max-width: 620px;

   

  margin:
    0 auto;

  display: grid;

  place-items: center;

  justify-self: center;
}


.consulting-value-map--single
.consulting-value-anchor--single {
  position: relative;

  inset: auto;

  width:
    min(500px, 84%);

  display: flex;

  align-items: center;

  gap: 22px;

  z-index: 3;

  text-align: left;
}


.consulting-value-map--single
.consulting-value-map__orbit--one {
  width: 135px;
  height: 135px;

  right: 8%;
  top: 10px;
}


.consulting-value-map--single
.consulting-value-map__orbit--two {
  width: 78px;
  height: 78px;

  left: 10%;
  bottom: 5px;
}


.consulting-value-map--single
.consulting-value-map__dots--top {
  right: 17%;
  top: 25px;
}


.consulting-value-map--single
.consulting-value-map__dots--bottom {
  left: 15%;
  bottom: 22px;
}


/* MOBILE */

@media (max-width: 640px) {

  .consulting-intro-grid {
    gap: 24px;

    padding:
      42px 0 35px;
  }

 

  .consulting-value-map--single
  .consulting-value-anchor--single {
    width:
      min(310px, 90%);

    flex-direction: column;

    justify-content: center;

    gap: 15px;

    text-align: center;
  }


  .consulting-value-map--single
  .consulting-value-anchor__rule {
    margin-left: auto;
    margin-right: auto;
  }


  .consulting-value-map--single
  .consulting-value-map__orbit--one {
    width: 105px;
    height: 105px;

    right: 0;
  }


  .consulting-value-map--single
  .consulting-value-map__orbit--two {
    width: 65px;
    height: 65px;

    left: 2%;
  }

}


/* =====================================================
   ABOUT STORY - CENTER SINGLE IMAGE ON MOBILE
===================================================== */

@media (max-width: 640px) {

  .about-story-image--main {
    left: 0;
    right: 0;

    margin-left: auto;
    margin-right: auto;

    width: 76%;
    height: 340px;
  }

}


.companies-page-drawer__work-label {
  display: block;

  margin-bottom: 5px;

  font-weight: 600;

  color: #C99A24;
}


/* =====================================================
   CONTACT - DETAILS ONLY
===================================================== */

.contact-page-card {
  display: block;

  width: 100%;

  max-width: 820px;

  margin:
    0 auto;

  border-radius: 19px;

  overflow: hidden;
}


.contact-page-info {
  width: 100%;

  padding:
    48px 54px;

  border-left: 0;
  border-top: 0;
}


/* Desktop information layout */

.contact-page-info__list {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    28px 42px;
}


.contact-page-info__item {
  min-width: 0;
}


/* Separate CTA / social area */

.contact-page-social {
  margin-top: 34px;

  padding-top: 26px;

  border-top:
    1px solid
    rgba(224, 187, 82, .22);
}


/* MOBILE */

@media (max-width: 640px) {

  .contact-page-card {
    max-width: 100%;

    border-radius: 13px;
  }


  .contact-page-info {
    padding:
      32px 22px;
  }


  .contact-page-info__list {
    grid-template-columns:
      1fr;

    gap:
      24px;
  }


  .contact-page-social {
    margin-top: 30px;
    padding-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  
}

@media (max-width: 898px) {
  .contact-page-social {
    margin-top: 30px;
    padding-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

}


/* =====================================================
   CONTACT - DESKTOP BOOK + SOCIAL SAME AXIS
   MOBILE UNTOUCHED
===================================================== */

@media (min-width: 900px) {

  .contact-page-social {
    display: flex;

    align-items: center;

    width: 100%;

    gap: 12px;
  }


  /* Book button stays left */
  .contact-page-social
  .ed-calendly-button {
    flex-shrink: 0;

    margin-right: auto;
    margin-bottom: 0;
  }


  /* SOCIAL MEDIA heading */
  .contact-page-social h3 {
    margin: 0;

    flex-shrink: 0;
  }


  /* Social icons */
  .contact-page-social__links {
    flex-shrink: 0;
  }

}


/* =====================================================
   CAPITAL - COMPOUNDING BLOCKS
===================================================== */

.capital-compounding {
  position: relative;

  width: 100%;
  min-height: 340px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  isolation: isolate;
}


/* =====================================================
   BLOCK STAGE
===================================================== */

.capital-compounding__blocks {
  position: absolute;

  inset: 25px 20px;

  pointer-events: none;
}


/* individual architectural slab */

.capital-compounding__block {
  position: absolute;

  display: block;

  width: 190px;
  height: 72px;

  border:
    1px solid
    rgba(1, 29, 188, .15);

  border-radius:
    4px;

  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .55),
      rgba(219, 227, 250, .22)
    );

  box-shadow:
    0 18px 45px
    rgba(1, 29, 188, .06);

  transform:
    skewY(-8deg);

  transform-origin:
    center;

  animation:
    capitalBlockFloat
    6s
    ease-in-out
    infinite;
}


/* gold top edge */

.capital-compounding__block::before {
  content: "";

  position: absolute;

  left: -1px;
  right: -1px;
  top: -1px;

  height: 2px;

  background:
    linear-gradient(
      90deg,
      transparent,
      #D8B145,
      #F4D77A,
      transparent
    );

  opacity: .8;
}


/* subtle blue internal glow */

.capital-compounding__block::after {
  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(1, 29, 188, .05)
    );

  pointer-events: none;
}


/* ascending stack */

.capital-compounding__block--1 {
  left: 5%;
  bottom: 16%;

  opacity: .36;

  animation-delay: 0s;
}


.capital-compounding__block--2 {
  left: 18%;
  bottom: 28%;

  opacity: .47;

  animation-delay: .25s;
}


.capital-compounding__block--3 {
  left: 33%;
  bottom: 40%;

  opacity: .6;

  animation-delay: .5s;
}


.capital-compounding__block--4 {
  left: 49%;
  bottom: 52%;

  opacity: .72;

  animation-delay: .75s;
}


.capital-compounding__block--5 {
  left: 65%;
  bottom: 64%;

  opacity: .88;

  animation-delay: 1s;
}


/* =====================================================
   CONTENT
===================================================== */

.capital-compounding__content {
  position: relative;

  z-index: 5;

  width:
    min(470px, 78%);

  padding:
    30px 20px;

  text-align: center;
}


.capital-compounding__spark {
  display: inline-block;

  margin-bottom: 13px;

  font-size: 18px;

  color:
    #D8B145;

  text-shadow:
    0 0 14px
    rgba(216, 177, 69, .3);

  animation:
    capitalSparkPulse
    2.4s
    ease-in-out
    infinite;
}


.capital-compounding__content p {
  margin: 0;

  font-family:
    Jost,
    sans-serif;

  font-size:
    clamp(
      27px,
      2.6vw,
      30px
    );

  font-weight: 400;

  line-height: 1.17;

  letter-spacing:
    -.025em;

  color:
    #092A8B;
}


.capital-compounding__content p span {
  display: block;

  margin-top: 8px;

  color:
    #B88B13;
}


/* =====================================================
   SMALL DOT DETAIL
===================================================== */

.capital-compounding__dots {
  position: absolute;

  right: 7%;
  top: 15%;

  display: flex;

  gap: 7px;

  transform:
    rotate(18deg);

  pointer-events: none;
}


.capital-compounding__dots i {
  width: 4px;
  height: 4px;

  display: block;

  border-radius: 50%;

  background:
    #D8B145;

  opacity: .6;
}


.capital-compounding__dots i:nth-child(2) {
  transform:
    translateY(5px);
}


.capital-compounding__dots i:nth-child(3) {
  transform:
    translateY(10px);
}


.capital-compounding__dots i:nth-child(4) {
  transform:
    translateY(15px);
}


/* =====================================================
   MOTION
===================================================== */

@keyframes capitalBlockFloat {

  0%,
  100% {
    transform:
      skewY(-8deg)
      translateY(0);
  }

  50% {
    transform:
      skewY(-8deg)
      translateY(-5px);
  }

}


@keyframes capitalSparkPulse {

  0%,
  100% {
    opacity: .45;

    transform:
      scale(.85);
  }

  50% {
    opacity: 1;

    transform:
      scale(1.15);
  }

}

@media (max-width: 640px) {

  .capital-compounding {
    min-height:
      285px;

    margin-top:
      12px;
  }


  .capital-compounding__content {
    width:
      min(330px, 90%);

    padding:
      25px 12px;
  }


  .capital-compounding__content p {
    font-size:
      clamp(
        24px,
        7vw,
        30px
      );
  }


  .capital-compounding__block {
    width:
      135px;

    height:
      58px;
  }


  .capital-compounding__block--1 {
    left: 0%;
  }


  .capital-compounding__block--2 {
    left: 15%;
  }


  .capital-compounding__block--3 {
    left: 31%;
  }


  .capital-compounding__block--4 {
    left: 47%;
  }


  .capital-compounding__block--5 {
    left: 63%;
  }

}


.about-support-note {
  width:
    min(760px, 100%);

  margin:
    58px auto 0;

  text-align: center;

  font-family:
    Inter,
    sans-serif;

  font-size: 18px;

  font-weight: 500;

  line-height: 1.7;

  color: #C99D26;
}

@media (max-width: 640px) {

  .about-support-note {
    margin-top: 42px;

    padding:
      0 8px;

    font-size:
      14px;

    line-height: 1.65;
  }

}

/* =====================================================
   HOME HERO DISK - MOBILE ALIGNMENT
===================================================== */

@media (max-width: 640px) {

  [data-hero2-typewrap="1"] {
    padding: 54px 0 !important;
  }

  [data-hero2-ring="1"] {
    width: min(82vw, 320px) !important;

    top: 50% !important;
    left: 50% !important;

    margin-top: 0 !important;

    transform:
      translate(-50%, -50%) !important;
  }

  [data-hero2-type="1"] {
    margin-top: 0 !important;
    width: 100% !important;
  }

  [data-hero2-type="1"] [data-hero2-row="1"] {
    justify-content: center !important;
    text-align: center !important;
  }

}
 

  /* @media (max-width: 640px) {

  [data-hero2="1"] {
    min-height: 90svh !important;
  }

  [data-hero2-stage="1"] {
    padding-bottom: 18px !important;
  }

} */


.companies-page-row__number {
  display: none !important;
}

@media (max-width: 640px) {

  .ed-footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .ed-footer-brand [data-footer-animated-logo] {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ed-footer-brand h3,
  .ed-footer-brand p,
  .ed-footer-brand span {
    text-align: center !important;
  }

}