


.site-header { border-bottom: 1px solid transparent; }
.site-header[data-theme="solid"] {
  color: var(--on-dark); background: rgba(10, 10, 15, 0.92); border-bottom-color: var(--line-dark);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.site-header[data-theme="light"] {
  background: rgba(250, 250, 247, 0.92); border-bottom-color: var(--line);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.site-header__bar { display: flex; align-items: center; gap: 40px; height: 80px; transition: height var(--d-ui) var(--ease-out); }
.site-header[data-theme="solid"] .site-header__bar,
.site-header[data-theme="light"] .site-header__bar { height: 64px; }
.site-nav { margin-left: auto; display: flex; gap: 36px; }
.site-nav a, .site-header__cta, .site-header__menu, .lang-switch a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-family: var(--font-display); font-weight: 500; font-size: 13.5px; letter-spacing: 0.01em;
}
.site-nav a { position: relative; opacity: .78; transition: opacity var(--d-hover) var(--ease-out); }
.site-nav a:hover, .site-nav a[aria-current="page"] { opacity: 1; }
.site-nav a[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 1px; background: var(--violet);
}
.lang-switch { display: flex; gap: 14px; }
.lang-switch a { font-size: 12px; letter-spacing: .14em; opacity: .6; }
.lang-switch a[aria-current="true"] { opacity: 1; }
.site-header__cta {
  padding: 0 20px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: var(--radius-control);
  transition: border-color var(--d-hover) var(--ease-out);
}
.site-header__cta:hover { border-color: currentColor; }
.site-header[data-theme="light"] .site-header__cta { border-color: var(--line-strong); }
.site-header[data-theme="light"] .site-header__cta:hover { border-color: var(--ink); }
.site-header__menu { display: none; }
@media (max-width: 899px) {
  .site-nav, .site-header__cta { display: none; }
  .site-header__menu { display: inline-flex; margin-left: auto; }
  .site-header__bar { height: 72px; }
}

.motion:not(.intro-done) [data-intro] { opacity: 0; transform: translateY(var(--shift)); }


.hero { position: sticky; top: 0; z-index: 0; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; }
.hero__inner { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.hero__grid {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap);
  align-items: end; padding-bottom: clamp(40px, 7vh, 72px);
}
.hero__title { grid-column: 1 / span 7; display: flex; flex-direction: column; }
.hero__aside {
  grid-column: 9 / span 4; display: grid; gap: 28px; justify-items: start;
  padding-left: 28px; border-left: 1px solid var(--line-dark-strong);
}
.hero__aside .t-lead { font-size: var(--fs-body); line-height: 1.6; }
.hero__band { border-top: 1px solid var(--line-dark); }
.hero__band-inner { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: 24px; }
.hero__band .t-eyebrow { color: var(--on-dark-mute); }
.hero__band .video-toggle { position: static; }
@media (max-width: 899px) {
  .hero__title, .hero__aside { grid-column: 1 / -1; }
  .hero__aside { margin-top: 32px; padding-left: 20px; }
}
@media (max-width: 599px) {
  .hero__band .t-eyebrow { font-size: 10px; letter-spacing: .12em; }
  .hero__band .video-toggle { min-width: 44px; justify-content: center; }
  .hero__band .video-toggle [data-label] {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .hero .video-bg::after {
    background: linear-gradient(180deg, rgba(5,5,7,.5) 0%, rgba(5,5,7,.2) 30%, rgba(5,5,7,.55) 50%, rgba(5,5,7,.88) 72%, rgba(5,5,7,.92) 100%);
  }
}


.sheet { position: relative; z-index: 1; background: var(--warm); }


.site-footer { position: relative; z-index: 1; background: var(--deep); padding-block: 96px 40px; font-size: var(--fs-small); }
.site-footer a { transition: color var(--d-hover) var(--ease-out); }
.site-footer a:hover { color: var(--on-dark); }
.site-footer__top {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); row-gap: 40px;
  padding-bottom: 64px; border-bottom: 1px solid var(--line-dark);
}
.site-footer__logo { grid-column: 1 / span 4; align-self: start; display: inline-flex; min-height: 44px; align-items: center; }
.site-footer__logo img { width: 150px; height: auto; }
.site-footer__contact {
  grid-column: 5 / span 4; font-style: normal; display: grid; gap: 6px; align-content: start; color: var(--on-dark-soft);
}
.site-footer__contact span { max-width: 26ch; margin-bottom: 10px; }
.site-footer__contact a { display: inline-flex; min-height: 32px; align-items: center; width: fit-content; }
.site-footer__nav { grid-column: 10 / span 3; display: grid; gap: 2px; align-content: start; }
.site-footer__nav a { display: inline-flex; min-height: 36px; align-items: center; width: fit-content; color: var(--on-dark-soft); }
.site-footer__legal { padding-top: 40px; display: grid; gap: 40px; }
.site-footer__disclaimer { display: grid; gap: 10px; max-width: 96ch; color: var(--on-dark-legal); font-size: 12.5px; line-height: 1.6; }
.site-footer__disclaimer-title { color: var(--on-dark-mute); font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.site-footer__bottom {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; color: var(--on-dark-legal); font-size: 12.5px;
}
.site-footer__bottom .t-eyebrow { color: var(--on-dark-mute); margin-right: auto; font-size: 11px; }
.site-footer__bottom a { display: inline-flex; min-height: 44px; align-items: center; color: var(--on-dark-mute); }
@media (max-width: 899px) {
  .site-footer__logo, .site-footer__contact, .site-footer__nav { grid-column: 1 / -1; }
  .site-footer__nav { grid-template-columns: 1fr 1fr; }
  .site-footer__bottom .t-eyebrow { width: 100%; margin-right: 0; }
}


.entry { position: relative; background: var(--warm); }
.motion .entry { height: 175vh; }




@media (max-width: 899px) { .motion .entry { height: auto; } }
.entry__stage { position: relative; height: 100vh; height: 100svh; min-height: 520px; overflow: hidden; isolation: isolate; clip-path: inset(0); }
.motion .entry__stage { position: sticky; top: 0; }

.entry__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.7) contrast(1.06); }
.motion .entry__video { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100svh; }
.entry__veil {
  position: absolute; inset: 0; background: #fff; color: #000; mix-blend-mode: screen;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  padding: 80px var(--gutter) clamp(150px, 22vh, 230px);
}

.entry__stage::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: var(--warm); mix-blend-mode: multiply; }
.entry__word {
  font-family: var(--font-display); font-weight: 600; white-space: nowrap;
  font-size: clamp(2.6rem, 0.4rem + 12.6vw, 15rem); line-height: .86; letter-spacing: -0.06em;
}
.entry__foot {
  position: absolute; z-index: 2; left: var(--gutter); right: var(--gutter); bottom: clamp(28px, 5vh, 48px);
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 40px;
  padding-top: 20px; border-top: 1px solid var(--line-strong);
}
.entry__lines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.entry__lines li { color: var(--ink-mute); font-size: var(--fs-small); line-height: 1.5; max-width: 34ch; }
@media (max-width: 899px) {
  .entry__foot { grid-template-columns: 1fr; gap: 14px; }
  .entry__lines { grid-template-columns: 1fr; gap: 6px; }
  .entry__lines li { font-size: 15px; color: var(--ink); }
  .entry__veil { padding-bottom: 210px; }
}



.figures { position: relative; z-index: 1; background: var(--deep); overflow: hidden; }
.figures__bg { position: absolute; inset: 0; }
.figures__bg video { opacity: .55; will-change: transform; }
.figures__bg::after { background: linear-gradient(90deg, rgba(5,5,7,.85) 0%, rgba(5,5,7,.45) 55%, rgba(5,5,7,.2) 100%); }
.figures__inner { position: relative; z-index: 1; padding-block: clamp(150px, 15vw, 220px); }
.figures__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--grid-gap); margin: 0; }
.figures__item { position: relative; padding-top: 28px; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 16px; }

@media (min-width: 900px) {
  .figures__item:nth-child(2) { margin-top: 36px; }
  .figures__item:nth-child(3) { margin-top: 72px; }
  .figures__item:nth-child(4) { margin-top: 108px; }
}
.figures__rule { position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--line-dark-strong); transform-origin: left center; }
.figures__item dt { color: var(--on-dark-mute); font-size: var(--fs-small); line-height: 1.5; max-width: 22ch; }
.figures__item dd {
  margin: 0; display: flex; align-items: baseline; gap: 2px;
  font-family: var(--font-display); font-weight: 200; color: #fff;
  font-size: clamp(3.5rem, 2rem + 5.4vw, 8rem); line-height: .95; letter-spacing: -0.05em;
  font-variant-numeric: tabular-nums lining-nums;
}

.figures__plus { color: var(--violet); font-size: .42em; font-weight: 300; align-self: flex-start; margin-top: .1em; letter-spacing: 0; }

.figures__unit--pre { margin: 0 12px 0 0; align-self: center; }
.figures__mag { letter-spacing: -0.03em; }
.figures__star { font-size: .8em; margin-left: 1px; }
.figures__note { margin: clamp(64px, 7vw, 120px) 0 0; color: var(--on-dark-legal); font-size: 12.5px; line-height: 1.6; }
.figures__unit { margin-left: 10px; white-space: nowrap; font-family: var(--font-display); font-weight: 600; font-size: 12px; letter-spacing: .16em; color: var(--violet-glow); }
@media (max-width: 899px) { .figures__grid { grid-template-columns: 1fr 1fr; row-gap: 56px; } }


.caps { position: relative; z-index: 3; background: var(--night); color: #fff;
  
  --r: clamp(28px, 4vw, 56px); border-radius: var(--r); margin-block: calc(-1 * var(--r));
  box-shadow: 0 -60px 100px -40px rgba(5,5,7,.6); }
.caps__rail { position: relative; }
.caps__intro { display: grid; gap: 22px; justify-items: start; align-content: center; padding: var(--section-y) var(--gutter) 48px; }
.caps__intro > * { max-width: 640px; }
.caps__title { font-size: clamp(2.5rem, 1.4rem + 4.2vw, 5.5rem); line-height: 1.02; letter-spacing: -0.045em; }
.caps__note { color: var(--violet-glow); font-size: var(--fs-small); }
.caps__track { display: grid; gap: 12px; padding: 0 var(--gutter) calc(var(--gutter) + var(--r)); }
.caps__panel { position: relative; overflow: hidden; min-height: 70vh; min-height: 70svh; border-radius: 16px; display: flex; align-items: flex-end; background: var(--deep); }
.caps__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.caps__panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,7,.9) 0%, rgba(5,5,7,.55) 50%, rgba(5,5,7,.05) 90%); }
.caps__copy { position: relative; z-index: 1; display: grid; gap: 14px; padding: 0 var(--gutter) clamp(72px, 12vh, 120px); max-width: 640px; }
.caps__num { font-family: var(--font-display); font-weight: 200; font-size: clamp(36px, 3vw, 48px); line-height: 1; letter-spacing: -0.04em; color: var(--violet); }
.caps__label { font-family: var(--font-display); font-weight: 600; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--violet-glow); }
.caps__name { font-family: var(--font-display); font-weight: 200; color: #fff; font-size: clamp(2.25rem, 1.3rem + 3.6vw, 4.5rem); line-height: 1.02; letter-spacing: -0.045em; }
.caps__text { color: var(--on-dark-soft); max-width: 40ch; }
.caps__count, .caps__progress { display: none; }


@media (min-width: 700px) {
  .motion .caps__rail { height: 100vh; height: 100svh; overflow: hidden; border-radius: inherit; }
  .motion .caps__slide { display: flex; height: 100%; width: max-content; }
  .motion .caps__intro { width: 46vw; padding-block: 0; }
  .motion .caps__viewport { display: contents; }
  .motion .caps__track { display: flex; gap: 0; padding: 0; height: 100%; }
  .motion .caps__panel { width: 78vw; height: 100%; min-height: 0; border-radius: 0; border-left: 1px solid var(--line-dark); }
  .motion .caps__progress { display: block; position: absolute; z-index: 2; left: var(--gutter); right: var(--gutter); bottom: calc(var(--r) + 8px); height: 1px; background: var(--line-dark); }
  .caps__progress span { position: absolute; inset: -0.5px auto auto 0; height: 2px; width: 100%; background: var(--violet); transform-origin: left center; transform: scaleX(0); }
}


@media (max-width: 699px) {
  .caps__panel::after { background: linear-gradient(0deg, rgba(5,5,7,.94) 0%, rgba(5,5,7,.6) 50%, rgba(5,5,7,.1) 100%); }
  .caps__copy { padding: 0 22px 28px; }
  .caps__name { font-size: 2.25rem; }
  .caps__text { font-size: 15px; }
  .caps__panel:nth-child(odd) .caps__img { object-position: 15% 50%; }
  .caps__panel:nth-child(even) .caps__img { object-position: 88% 50%; }
  .motion .caps__intro { padding-bottom: 32px; }
  
  .motion .caps__viewport { height: calc(100vh - 64px); height: calc(100svh - 64px); overflow: hidden; display: flex; flex-direction: column; gap: 12px; padding: 16px 0 calc(16px + var(--r)); }
  .motion .caps__count { display: flex; align-items: center; gap: 16px; padding-inline: var(--gutter); font-family: var(--font-display); font-size: 12px; letter-spacing: .22em; color: var(--on-dark-soft); }
  .caps__count b { font-weight: 600; color: #fff; }
  .caps__count i { position: relative; flex: 1; height: 1px; background: var(--line-dark); }
  .caps__count i span { position: absolute; inset: -0.5px auto auto 0; height: 2px; width: 100%; background: var(--violet); transform-origin: left center; transform: scaleX(.25); }
  .motion .caps__track { flex: 1; min-height: 0; display: flex; gap: 12px; padding: 0 var(--gutter); width: max-content; }
  .motion .caps__panel { width: calc(100vw - var(--gutter) - 52px); height: 100%; min-height: 0; border-radius: 20px; flex: 0 0 auto; }
}


.model { background: var(--soft); position: relative; }
.motion .model { height: 260vh; }
.model__stage { position: relative; padding-block: var(--section-y); }
.motion .model__stage { position: sticky; top: 0; height: 100vh; height: 100svh; padding-block: 104px 40px; display: flex; align-items: center; }
.model__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); align-items: center; width: 100%; }
.model__text { grid-column: 1 / span 5; display: grid; gap: 16px; align-content: center; justify-items: start; }
.model__lead { color: var(--ink-mute); max-width: 44ch; }
.model__list { margin-top: 12px; border-top: 1px solid var(--line-strong); width: 100%; }
.model__list li { padding: 11px 0; border-bottom: 1px solid var(--line); display: grid; gap: 6px; }
.model__list p { font-size: var(--fs-small); color: var(--ink-mute); max-width: 48ch; }
.motion .model__list li { opacity: .34; transition: opacity var(--d-ui) var(--ease-out); }
.motion .model__list li .t-h4 { transition: color var(--d-ui) var(--ease-out); }
.motion .model__list li.is-active { opacity: 1; }
.motion .model__list li.is-active .t-h4 { color: var(--violet-deep); }
.model__link { margin-top: 8px; }
.model__visual { grid-column: 6 / span 7; position: relative; aspect-ratio: 1100 / 689; }
.model__canvas, .model__static { position: absolute; inset: 0; width: 100%; height: 100%; }
.model__static { object-fit: contain; display: none; }
:root:not(.motion) .model__canvas { display: none; }
:root:not(.motion) .model__static { display: block; }
@media (max-width: 899px) {
  .model__grid { grid-template-columns: 1fr; row-gap: 12px; }
  .model__text, .model__visual { grid-column: 1; }
  .model__visual { order: -1; width: 100%; max-width: 520px; justify-self: center; }
  .motion .model { height: 220vh; }
  .motion .model__stage { padding-block: 80px 24px; }
  .motion .model__lead { display: none; }
  .motion .model__list { margin-top: 8px; position: relative; min-height: 150px; border-top: 0; }
  .motion .model__list li { position: absolute; inset: 0 0 auto 0; border: 0; opacity: 0; padding-top: 12px; border-top: 1px solid var(--line-strong); }
  .motion .model__list li.is-active { opacity: 1; }
}


.banks { background: var(--warm); padding-block: var(--section-y); overflow: hidden; }
.banks__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--grid-gap); row-gap: 40px; align-items: center; }
.banks__head { display: grid; gap: 18px; align-content: center; }
.banks__title { font-size: clamp(2.5rem, 1.4rem + 4.2vw, 5.5rem); line-height: 1.02; letter-spacing: -0.045em; }
.banks__lead { max-width: 46ch; }
.banks__note { color: var(--ink-mute); font-size: var(--fs-small); max-width: 46ch; margin-top: 10px; }

.orbit { position: relative; width: 100%; max-width: 640px; aspect-ratio: 1; justify-self: center; container-type: inline-size; }
.orbit__ring { position: absolute; inset: 11%; border-radius: 50%; border: 1px solid var(--line-strong); }
.orbit__ring--outer { inset: 1%; border: 1px dashed var(--line); }
.orbit__ring--inner { inset: 25%; border-color: var(--line); }
.orbit__center { position: absolute; inset: 30%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4%; }
.orbit__center img { width: 100%; height: auto; }
.orbit__center span { font-family: var(--font-display); font-weight: 600; font-size: clamp(9px, 1.9cqi, 12px); letter-spacing: .22em; text-transform: uppercase; color: var(--violet-deep); }
.orbit__spin { position: absolute; inset: 0; }
.orbit__logo {
  position: absolute; left: 50%; top: 50%; width: 21%; height: 10%; margin: -5% 0 0 -10.5%;
  display: flex; align-items: center; justify-content: center; padding: 0 3%;
  background: var(--paper); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 8px 24px -14px rgba(14,14,20,.25);
  transform: rotate(var(--a)) translate(var(--R, 200px)) rotate(calc(-1 * var(--a))) rotate(calc(-1 * var(--spin, 0deg)));
}

.orbit__logo img { width: auto; max-width: 100%; height: calc(var(--h) / 640 * 100cqi * .78); filter: grayscale(1); opacity: .85; }

.banks__points { margin-top: clamp(56px, 7vw, 96px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.banks__points li { position: relative; display: grid; gap: 10px; padding-top: 22px; }
.banks__points li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--line-strong); transform-origin: left center; transform: scaleX(var(--l, 1)); }
.banks__num { font-family: var(--font-display); font-weight: 200; font-size: 40px; line-height: 1; letter-spacing: -0.04em; color: var(--violet-deep); }
.banks__points p { color: var(--ink-mute); font-size: var(--fs-small); }

@media (max-width: 899px) {
  .banks__grid { grid-template-columns: 1fr; }
  .orbit { max-width: 520px; }
}

@media (max-width: 599px) {
  .orbit { width: calc(100% + 2 * var(--gutter)); max-width: none; margin-inline: calc(-1 * var(--gutter)); }
  .orbit__logo { width: 27%; height: 12.5%; margin: -6.25% 0 0 -13.5%; }
  .orbit__logo img { height: calc(var(--h) / 640 * 100cqi * 1.12); }
  .orbit__center { inset: 32%; }
  .banks__points { grid-template-columns: 1fr; gap: 28px; }
}


.team { position: relative; background: var(--warm); padding-bottom: clamp(56px, 6vw, 96px); }
.team__head { display: grid; gap: 28px; max-width: 1100px; padding: calc(var(--section-y) + 40px) var(--gutter) clamp(40px, 5vw, 72px); }
.team__label { color: var(--violet-deep); }
.team__lede { font-family: var(--font-display); font-weight: 200; font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3.6rem); line-height: 1.1; letter-spacing: -0.035em; color: var(--ink); }
.team__lede .accent { color: var(--violet-deep); font-weight: 400; }
.team__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px) clamp(14px, 1.6vw, 24px); padding: 0 var(--gutter); }
.team__card { display: grid; gap: 6px; align-content: start; color: inherit; }
.team__ph { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 16px; background: #000; margin-bottom: 8px; }
.team__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform 1s var(--ease-out); }
.team__name { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.02rem, .9rem + .35vw, 1.25rem); letter-spacing: -0.02em; color: var(--ink); transition: color .35s var(--ease-out); }
.team__role { font-family: var(--font-display); font-weight: 600; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; line-height: 1.5; color: var(--violet-deep); }
.team__more { display: grid; align-content: end; gap: 10px; aspect-ratio: 4 / 5; border-radius: 16px; border: 1px solid var(--line-strong); padding: 22px; color: var(--ink); transition: border-color .35s var(--ease-out); }
.team__more span { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); }
.team__more b { font-family: var(--font-display); font-weight: 200; font-size: clamp(1.5rem, 1rem + 1.2vw, 2.2rem); line-height: 1.05; letter-spacing: -0.04em; }
@media (hover: hover) {
  .team__card:hover .team__ph img { transform: scale(1.04); }
  .team__card:hover .team__name { color: var(--violet-deep); }
  .team__more:hover { border-color: var(--violet-deep); }
}
@media (max-width: 899px) {
  .team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  .team__more { padding: 16px; }
  .team__more b { font-size: 1.3rem; }
}
.team-sheet { position: fixed; z-index: 60; left: 50%; bottom: 12px; width: calc(100vw - 24px); max-width: 600px; transform: translate(-50%, calc(100% + 40px)); background: rgba(250,250,247,.96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 30px 80px -20px rgba(5,5,7,.35); padding: 14px; display: grid; grid-template-columns: 84px 1fr; gap: 14px; align-items: start; transition: transform .6s var(--ease-out); }
.team-sheet.is-open { transform: translate(-50%, 0); }
.team-sheet .team__ph { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 12px; }
.team-sheet__txt { display: grid; gap: 8px; padding: 4px 36px 4px 0; justify-items: start; }
.team-sheet .team__name { font-size: 1.25rem; color: var(--ink); }
.team-sheet .team__role { color: var(--violet-deep); }
.team-sheet p { color: var(--ink-mute); font-size: 13.5px; line-height: 1.55; }
.team-sheet button { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 26px; font-weight: 200; color: var(--ink); cursor: pointer; }



.research { background: var(--warm); padding-block: clamp(32px, 6vw, 96px) calc(var(--section-y) * .5); border-top: 1px solid var(--line); }
.research__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px 40px; margin-bottom: clamp(40px, 5vw, 72px); }
.research__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.4rem, 1.4rem + 3.6vw, 5rem); line-height: 1.02; letter-spacing: -0.045em; color: var(--ink); }
.research__lead { color: var(--ink-mute); max-width: 44ch; margin-top: 16px; }
.research__list { border-top: 1px solid var(--line-strong); }
.research__list li { border-bottom: 1px solid var(--line); }
.research__row { display: grid; grid-template-columns: 260px 1fr 140px 40px; gap: 32px; align-items: center; padding: 28px 0; color: inherit; }
.research__meta { display: flex; gap: 14px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--violet-deep); }
.research__meta time { color: var(--ink-faint); white-space: nowrap; }
.research__t { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.4rem, 1rem + 1.2vw, 2.1rem); line-height: 1.15; letter-spacing: -0.025em; max-width: 30ch; color: var(--ink); transition: color .35s var(--ease-out); }
.research__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: var(--night); opacity: 0; transform: scale(.92); transition: opacity .45s var(--ease-out), transform .6s var(--ease-out); }
.research__img img { width: 100%; height: 100%; object-fit: cover; }
.research__arrow { font-family: var(--font-display); font-weight: 200; font-size: 28px; color: var(--violet-deep); transition: transform .45s var(--ease-out); }
@media (hover: hover) {
  .research__row:hover .research__t, .research__row:focus-visible .research__t { color: var(--violet-deep); }
  .research__row:hover .research__img, .research__row:focus-visible .research__img { opacity: 1; transform: none; }
  .research__row:hover .research__arrow { transform: translateX(6px); }
}
@media (hover: none), (max-width: 899px) {
  .research__row { grid-template-columns: 1fr 96px; gap: 10px 16px; padding: 22px 0; }
  .research__meta { grid-column: 1 / -1; }
  .research__t { font-size: 1.2rem; grid-column: 1; }
  .research__img { opacity: 1; transform: none; grid-column: 2; grid-row: 2; }
  .research__arrow { display: none; }
}

.motion [data-rise] { opacity: 0; transform: translateY(24px); }


.article-card { display: grid; gap: 16px; align-content: start; }
.article-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--soft); }
.article-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out); }
.article-card:hover .article-card__media img { transform: scale(1.03); }
.article-card__meta { display: flex; gap: 14px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-mute); }
.article-card__meta span { color: var(--violet-deep); }
.article-card__title { font-size: clamp(1.25rem, 1.15rem + .35vw, 1.5rem); line-height: 1.25; transition: color var(--d-hover) var(--ease-out); }
.article-card:hover .article-card__title { color: var(--violet-deep); }


.closing { position: relative; z-index: 1; background: var(--warm); overflow: hidden; text-align: center;
  padding: calc(var(--section-y) * .5) var(--gutter) calc(var(--section-y) * .7 + clamp(28px, 4vw, 56px)); }
.closing__inf { position: absolute; left: 50%; top: 50%; width: min(1100px, 120vw); transform: translate(-50%, -50%); opacity: .16; pointer-events: none; }
.closing__inf img { width: 100%; height: auto; }
.closing__in { position: relative; display: grid; gap: 32px; justify-items: center; }
.closing__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(3rem, 1rem + 7vw, 8.5rem); line-height: 1; letter-spacing: -0.05em; max-width: 14ch; color: var(--ink); }
.closing__lead { font-size: var(--fs-lead, 1.25rem); line-height: 1.5; max-width: 40ch; color: var(--ink-mute); }
.closing__cta { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: center; }
.closing__mail { font-family: var(--font-display); font-size: 15px; color: var(--ink); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.site-footer { border-top: 1px solid var(--line-dark); }
.site-footer { z-index: 2; border-top: 0; --r: clamp(28px, 4vw, 56px); border-radius: var(--r) var(--r) 0 0; margin-top: calc(-1 * var(--r)); box-shadow: 0 -60px 100px -40px rgba(5,5,7,.5); }

@media (min-width: 900px) and (max-height: 820px) {
  .motion .model__lead { font-size: var(--fs-small); }
  .motion .model__list p { display: none; }
  .motion .model__list li.is-active p { display: block; }
}


.entry { z-index: 2; border-radius: 0 0 clamp(28px, 4vw, 56px) clamp(28px, 4vw, 56px); box-shadow: 0 60px 100px -40px rgba(5,5,7,.6); }
.entry__stage { clip-path: inset(0 round 0 0 clamp(28px, 4vw, 56px) clamp(28px, 4vw, 56px)); }
.banks { position: relative; z-index: 2; border-radius: clamp(28px, 4vw, 56px) clamp(28px, 4vw, 56px) 0 0; box-shadow: 0 -60px 100px -40px rgba(5,5,7,.6); margin-top: calc(-1 * clamp(28px, 4vw, 56px)); }
@media (max-width: 359px) { .orbit__logo { width: 24.5%; margin-left: -12.25%; } }


.section-title { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.2rem, 1.3rem + 3.4vw, 4.5rem); line-height: 1.04; letter-spacing: -0.045em; max-width: 18ch; }
.section-title .accent { color: var(--violet-deep); font-weight: 400; }
.on-dark .section-title .accent { color: var(--violet-glow); }


.page-hero { background: var(--warm); padding: calc(80px + clamp(72px, 10vw, 160px)) 0 clamp(72px, 8vw, 128px); }
.page-hero__in { display: grid; gap: 28px; }
.page-hero__eyebrow { color: var(--violet-deep); }
.page-hero__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.6rem, 1.2rem + 5vw, 6.4rem); line-height: 1.02; letter-spacing: -0.05em; color: var(--ink); max-width: 15ch; }
.page-hero__title .accent { color: var(--violet-deep); font-weight: 400; }
.page-hero__lead { font-size: var(--fs-lead, 1.25rem); line-height: 1.5; color: var(--ink-mute); max-width: 52ch; }


.pillars { position: relative; z-index: 2; background: var(--deep); color: #fff; padding-block: var(--section-y);
  --r: clamp(28px, 4vw, 56px); border-radius: var(--r); }
.pillars__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 4vw, 64px); }
.pillars__item { display: grid; gap: 18px; align-content: start; padding-top: 24px; border-top: 1px solid var(--line-dark); }
.pillars__title { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem); line-height: 1.1; letter-spacing: -0.03em; }
.pillars__text { color: var(--on-dark-soft); max-width: 40ch; }


.leaders { background: var(--warm); padding-block: var(--section-y) clamp(56px, 6vw, 96px); }
.leaders__label { color: var(--violet-deep); margin-bottom: 20px; }
.leaders .section-title { color: var(--ink); margin-bottom: clamp(40px, 5vw, 72px); }
.leaders__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px) clamp(14px, 1.6vw, 24px); padding: 0 var(--gutter); }
.person { display: grid; gap: 6px; align-content: start; text-align: left; background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.person__short { margin-top: 8px; font-size: 14px; line-height: 1.55; color: var(--ink-mute); }
.person__more { margin-top: 6px; font-family: var(--font-display); font-weight: 600; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--violet); }
@media (hover: hover) {
  .person:hover .team__ph img { transform: scale(1.04); }
  .person:hover .team__name { color: var(--violet-deep); }
}


.ops { position: relative; z-index: 2; background: var(--deep); color: #fff; padding-block: var(--section-y); --r: clamp(28px, 4vw, 56px); border-radius: var(--r); }
.ops__label { color: var(--violet-glow); margin-bottom: 20px; }
.ops__lead { color: var(--on-dark-soft); max-width: 60ch; margin-top: 24px; }
.ops__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px); margin-top: clamp(48px, 6vw, 88px); }
.ops__col { display: grid; gap: 14px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line-dark); }
.ops__cat { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.ops__title { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.3rem, 1rem + .8vw, 1.75rem); letter-spacing: -0.02em; margin-bottom: 8px; }
.ops__person { display: grid; gap: 4px; text-align: left; background: none; border: 0; padding: 0 0 18px; font: inherit; color: inherit; }
button.ops__person { cursor: pointer; }
.ops__name { font-weight: 500; }
.ops__role { font-style: italic; color: var(--violet-glow); font-size: 14px; }
.ops__short { color: var(--on-dark-soft); font-size: 14px; line-height: 1.55; margin-top: 4px; }
.ops .person__more { color: #fff; }
@media (hover: hover) { button.ops__person:hover .ops__name { color: var(--violet-glow); } }


.reg { background: var(--warm); padding-block: var(--section-y) calc(var(--section-y) * .5); }
.reg__label { color: var(--violet-deep); margin-bottom: 20px; }
.reg .section-title { color: var(--ink); margin-bottom: clamp(40px, 5vw, 72px); }
.reg__grid { display: grid; grid-template-columns: 7fr 4fr; gap: clamp(28px, 4vw, 64px); align-items: start; }
.reg__layers { position: relative; display: grid; gap: 14px; padding-left: 28px; }
.reg__layers::before { content: ""; position: absolute; left: 0; top: 30px; bottom: 30px; width: 1px; background: var(--violet); }
.reg__layer { position: relative; display: grid; grid-template-columns: 180px 1fr; gap: 20px; align-items: center; padding: 20px 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; }
.reg__layer::before { content: ""; position: absolute; left: -28px; top: 50%; width: 28px; height: 1px; background: var(--violet); }
.reg__layer b { font-family: var(--font-display); font-weight: 600; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.reg__layer span { color: var(--ink-mute); font-size: 15px; }
.reg__layer.is-own { background: rgba(155,135,234,.12); border-color: var(--violet-deep); }
.reg__layer.is-own b { color: var(--violet-deep); }
.reg__req { padding: 28px; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; }
.reg__req-label { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); margin-bottom: 12px; }
.reg__req li { position: relative; padding: 16px 0 16px 28px; border-bottom: 1px solid var(--line); color: var(--ink); }
.reg__req li:last-child { border-bottom: 0; }
.reg__req li::before { content: ""; position: absolute; left: 2px; top: 21px; width: 10px; height: 5px; border-left: 1.5px solid var(--violet-deep); border-bottom: 1.5px solid var(--violet-deep); transform: rotate(-45deg); }
.reg__note { margin-top: 28px; color: var(--violet-deep); }


.team-sheet__bio { display: grid; gap: 10px; color: var(--ink-mute); font-size: 13.5px; line-height: 1.55; max-height: 46vh; overflow: auto; }

@media (max-width: 899px) {
  .pillars__list, .ops__grid { grid-template-columns: 1fr; }
  .leaders__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
  .person__short { font-size: 13px; }
  .reg__grid { grid-template-columns: 1fr; }
  .reg__layer { grid-template-columns: 1fr; gap: 4px; padding: 16px 18px; }
}



.keyfigs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); margin-top: clamp(48px, 6vw, 96px); }
.keyfigs__item { display: grid; gap: 10px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.keyfigs__value { font-family: var(--font-display); font-weight: 200; font-size: clamp(3rem, 2rem + 3vw, 5rem); line-height: 1; letter-spacing: -0.05em; color: var(--violet-deep); }
.keyfigs__value sup { font-size: .45em; vertical-align: top; position: relative; top: .1em; margin-left: .04em; }
.keyfigs__label { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); }
.keyfigs__text { color: var(--ink-mute); font-size: 15px; line-height: 1.55; max-width: 40ch; }


.model .model__title { color: var(--ink); max-width: 14ch; }


.arch { position: relative; z-index: 2; background: var(--deep); color: #fff; padding-block: var(--section-y); --r: clamp(28px, 4vw, 56px); border-radius: var(--r); }
.arch__grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(40px, 6vw, 112px); align-items: start; }
.arch__lead { color: var(--on-dark-soft); margin-top: 24px; font-size: var(--fs-lead, 1.25rem); }
.arch__list { border-top: 1px solid var(--line-dark); }
.arch__item { display: grid; grid-template-columns: 48px 1fr auto; gap: 20px; align-items: baseline; padding: 26px 0; border-bottom: 1px solid var(--line-dark); }
.arch__num { font-family: var(--font-display); font-weight: 200; font-size: 28px; color: var(--violet); line-height: 1; }
.arch__item b { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.3rem, 1rem + .9vw, 1.9rem); letter-spacing: -0.02em; }
.arch__sub { color: var(--on-dark-soft); font-size: 14px; text-align: right; }


.cycle, .process { background: var(--warm); padding-block: var(--section-y) calc(var(--section-y) * .6); }
.cycle .section-title, .process .section-title { color: var(--ink); }
.cycle__lead { color: var(--ink-mute); max-width: 60ch; margin-top: 24px; font-size: var(--fs-lead, 1.25rem); }
.cycle__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); padding: 0 var(--gutter); margin-top: clamp(40px, 5vw, 72px); }
.cycle__card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.cycle__band { display: flex; gap: 24px; padding: 18px 22px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #fff; }
.cycle__band i { font-style: normal; margin-left: 4px; }
.cycle__card--1 .cycle__band { background: #B8B0D8; color: var(--ink); }
.cycle__card--2 .cycle__band { background: var(--violet-deep); }
.cycle__card--3 .cycle__band { background: #2E2A45; }
.cycle__card--4 .cycle__band { background: var(--deep); }
.cycle__body { display: flex; flex-direction: column; gap: 14px; padding: 24px 22px; flex: 1; }
.cycle__name { font-family: var(--font-display); font-weight: 400; font-size: 1.3rem; letter-spacing: -0.02em; color: var(--ink); }
.cycle__text { color: var(--ink-mute); font-size: 14.5px; line-height: 1.55; }
.cycle__assets-label { font-family: var(--font-display); font-weight: 600; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); margin-top: 6px; }
.cycle__assets { display: grid; gap: 8px; }
.cycle__assets li { position: relative; padding-left: 20px; font-size: 14.5px; color: var(--ink); }
.cycle__assets li::before { content: "↳"; position: absolute; left: 0; color: var(--violet); }
.cycle__take { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13.5px; line-height: 1.5; color: var(--ink-mute); }
.cycle__take b { color: var(--ink); font-weight: 600; }


.steps { display: grid; gap: clamp(28px, 3vw, 48px); margin-top: clamp(48px, 6vw, 88px); }
.steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(20px, 2vw, 32px); }
.steps__item { display: grid; gap: 12px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.on-dark .steps__item { border-top-color: var(--line-dark); }
.steps__num { font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1.6rem + 1vw, 2.75rem); line-height: 1; letter-spacing: -0.04em; color: var(--violet); }
.steps__cat { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.steps__title { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem); letter-spacing: -0.02em; line-height: 1.2; }
.process .steps__title { color: var(--ink); }
.steps__text { font-size: 14.5px; line-height: 1.6; color: var(--ink-mute); }
.on-dark .steps__text { color: var(--on-dark-soft); }

@media (max-width: 1099px) { .steps--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) {
  .keyfigs, .arch__grid, .steps--3 { grid-template-columns: 1fr; }
  .steps--5 { grid-template-columns: 1fr; }
  .arch__item { grid-template-columns: 36px 1fr; }
  .arch__sub { grid-column: 2; text-align: left; }
  
  .cycle__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; gap: 12px; }
  .cycle__list::-webkit-scrollbar { display: none; }
  .cycle__card { flex: 0 0 82vw; scroll-snap-align: start; }
  .cycle__list::after { content: ""; flex: 0 0 calc(var(--gutter) - 12px); }
}


.capnav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: clamp(40px, 5vw, 72px); }
.capnav__item { position: relative; display: grid; gap: 10px; padding: 22px; min-height: 150px; align-content: space-between; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; color: var(--ink); transition: border-color .35s var(--ease-out), transform .45s var(--ease-out); }
.capnav__num { font-family: var(--font-display); font-weight: 200; font-size: 2.25rem; line-height: 1; letter-spacing: -0.04em; color: var(--violet-deep); }
.capnav__label { font-family: var(--font-display); font-weight: 400; font-size: 1.15rem; letter-spacing: -0.01em; }
.capnav__arrow { position: absolute; top: 20px; right: 22px; color: var(--violet-deep); font-size: 18px; }
.capnav__note { margin-top: 28px; color: var(--violet-deep); }
@media (hover: hover) { .capnav__item:hover { border-color: var(--violet-deep); transform: translateY(-4px); } }

.mandates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); margin-top: clamp(40px, 5vw, 72px); }
.mandates__card { display: flex; flex-direction: column; gap: 16px; padding: clamp(24px, 2.4vw, 36px); border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.03); }
.mandates__name { font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1.4rem + 1.4vw, 2.8rem); letter-spacing: -0.04em; line-height: 1; }
.mandates__text { color: var(--on-dark-soft); }
.mandates__shared { margin-top: 32px; color: var(--violet-glow); }
.checks { display: grid; gap: 10px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line-dark); }
.checks li { position: relative; padding-left: 26px; font-size: 14.5px; }
.checks li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 10px; height: 5px; border-left: 1.5px solid var(--violet-glow); border-bottom: 1.5px solid var(--violet-glow); transform: rotate(-45deg); }

.cap { position: relative; background: var(--warm); padding-block: var(--section-y); scroll-margin-top: 40px; }
.cap--dark { z-index: 2; background: var(--deep); color: #fff; --r: clamp(28px, 4vw, 56px); border-radius: var(--r); }
.cap .section-title { color: var(--ink); max-width: 20ch; }
.cap--dark .section-title { color: #fff; }
.cap__kicker { display: flex; align-items: baseline; gap: 14px; margin-bottom: 20px; font-family: var(--font-display); font-weight: 600; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); }
.cap--dark .cap__kicker { color: var(--violet-glow); }
.cap__num { font-weight: 200; font-size: 2rem; letter-spacing: -0.04em; color: var(--violet); }
.cap__lead { margin-top: 24px; max-width: 58ch; font-size: var(--fs-lead, 1.25rem); color: var(--ink-mute); }
.cap--dark .cap__lead { color: var(--on-dark-soft); }
.cap__list-label { margin-top: clamp(48px, 6vw, 88px); font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-faint); }
.cap--dark .cap__list-label { color: rgba(255,255,255,.5); }
.cap .steps { margin-top: 24px; }
.cap .steps__title { color: var(--ink); }
.cap--dark .steps__title { color: #fff; }
.cap--dark .steps__item { border-top-color: var(--line-dark); }
.cap--dark .steps__text { color: var(--on-dark-soft); }
.steps--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
.steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cap__note { margin-top: 40px; max-width: 70ch; color: var(--on-dark-soft); padding-left: 20px; border-left: 2px solid var(--violet); }
.cap__link { margin-top: 48px; display: inline-flex; }
.keyfigs--criteria .keyfigs__value { font-size: clamp(2rem, 1.4rem + 1.8vw, 3.2rem); }
.cap__disclaimer { margin-top: 28px; max-width: 90ch; font-size: 12.5px; line-height: 1.6; color: var(--ink-faint); }

.network { display: grid; margin-top: clamp(40px, 5vw, 72px); border-top: 1px solid var(--line-dark); }
.network__row { display: grid; grid-template-columns: 80px 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--line-dark); }
.network__items { margin-top: 10px; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.15rem, .95rem + .7vw, 1.6rem); letter-spacing: -0.01em; }
.network__text { margin-top: 8px; color: var(--on-dark-soft); font-size: 15px; }
.consol { margin-top: clamp(72px, 9vw, 140px); }
.consol__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(1.9rem, 1.2rem + 2.2vw, 3.2rem); line-height: 1.08; letter-spacing: -0.04em; max-width: 22ch; }
.consol__title .accent { color: var(--violet-glow); font-weight: 400; }
.consol__q { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 12px; margin-top: 40px; }
.consol__q li { padding: 22px; min-height: 120px; display: flex; align-items: flex-end; border: 1px solid var(--line-dark); border-radius: 14px; font-family: var(--font-display); font-weight: 300; font-size: 1.15rem; line-height: 1.25; }
.consol__extra { margin-top: 28px; max-width: 70ch; color: var(--on-dark-soft); }


.feature { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(24px, 4vw, 64px); align-items: center; margin-top: clamp(48px, 6vw, 96px); color: var(--ink); }
.feature__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 18px; background: var(--night); }
.feature__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.feature__txt { display: grid; gap: 20px; justify-items: start; }
.feature__title { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.7rem, 1.1rem + 1.8vw, 2.8rem); line-height: 1.1; letter-spacing: -0.03em; }
@media (hover: hover) { .feature:hover .feature__img img { transform: scale(1.03); } .feature:hover .feature__title { color: var(--violet-deep); } }
.research--all { border-top: 0; padding-top: 0; }
.research__title--small { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.4rem); }
.research__title .accent { color: var(--violet-deep); font-weight: 400; }

.art-hero { background: var(--warm); padding: calc(80px + clamp(48px, 7vw, 112px)) 0 0; }
.art-hero__in { display: grid; gap: 22px; justify-items: start; }
.art-back { font-family: var(--font-display); font-size: 14px; color: var(--ink-mute); }
.art-back:hover { color: var(--violet-deep); }
.art-hero__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.2rem, 1.2rem + 3.4vw, 4.6rem); line-height: 1.05; letter-spacing: -0.045em; color: var(--ink); max-width: 22ch; }
.art-hero__img { margin: clamp(40px, 5vw, 72px) var(--gutter) 0; aspect-ratio: 21 / 9; overflow: hidden; border-radius: clamp(16px, 2vw, 28px); background: var(--night); }
.art-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.art { background: var(--warm); padding-block: clamp(56px, 7vw, 112px); }
.art__grid { display: grid; grid-template-columns: 3fr 8fr; gap: clamp(32px, 5vw, 96px); align-items: start; }
.art__toc { position: sticky; top: 104px; }
.art__toc-label { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); margin-bottom: 14px; }
.art__toc ol { display: grid; gap: 4px; border-left: 1px solid var(--line-strong); }
.art__toc a { display: block; padding: 6px 0 6px 16px; font-size: 14px; line-height: 1.4; color: var(--ink-mute); }
.art__toc a:hover { color: var(--violet-deep); }
.art__body { max-width: 720px; color: var(--ink-soft); font-size: 17.5px; line-height: 1.7; }
.art__body > * + * { margin-top: 1.2em; }
.art__body h2 { margin-top: 2.4em; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.6rem, 1.2rem + 1.1vw, 2.2rem); line-height: 1.15; letter-spacing: -0.03em; color: var(--ink); scroll-margin-top: 100px; }
.art__body h3 { margin-top: 1.8em; font-family: var(--font-display); font-weight: 500; font-size: 1.2rem; line-height: 1.35; color: var(--ink); }
.art__body .art__intro { font-size: 1.3rem; line-height: 1.55; color: var(--ink); }
.art__body ul { display: grid; gap: .5em; padding-left: 0; }
.art__body ul li { position: relative; padding-left: 22px; }
.art__body ul li::before { content: ""; position: absolute; left: 2px; top: .75em; width: 8px; height: 1px; background: var(--violet-deep); }
.art__note { font-size: 13px; line-height: 1.55; color: var(--ink-faint); }
.art__fig { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; margin-block: 2em !important; }
.art__card { display: grid; gap: 6px; align-content: start; padding: 20px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; }
.art__card-num { font-family: var(--font-display); font-weight: 200; font-size: clamp(1.8rem, 1.4rem + 1vw, 2.4rem); line-height: 1.05; letter-spacing: -0.04em; color: var(--violet-deep); }
.art__card-title { font-family: var(--font-display); font-weight: 500; font-size: 15px; line-height: 1.35; color: var(--ink); }
.art__card-text { font-size: 13.5px; line-height: 1.5; color: var(--ink-mute); }
.art__table-wrap { overflow-x: auto; margin-block: 2em !important; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.art__table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.art__table th { text-align: left; padding: 14px 16px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--violet-deep); border-bottom: 1px solid var(--line-strong); }
.art__table td { padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--ink-soft); vertical-align: top; }
.art__table tr:last-child td { border-bottom: 0; }
.research--related { border-top: 1px solid var(--line); }


.contact { position: relative; overflow: hidden; min-height: 92vh; min-height: 92svh; padding-bottom: calc(var(--section-y) + clamp(28px, 4vw, 56px)); }
.contact__inf { position: absolute; right: -12vw; top: 18%; width: min(900px, 80vw); opacity: .14; pointer-events: none; }
.contact__inf img { width: 100%; height: auto; }
.contact__in { position: relative; }
.contact__mail { margin-top: 16px; font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1rem + 4vw, 4.6rem); letter-spacing: -0.04em; line-height: 1.05; color: var(--violet-deep); border-bottom: 1px solid currentColor; padding-bottom: 6px; justify-self: start; word-break: break-word; }
.contact__mail:hover { color: var(--ink); }
.contact__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); margin-top: clamp(56px, 7vw, 112px); }
.contact__grid li { display: grid; gap: 10px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.contact__k { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); }
.contact__grid a { font-size: 1.1rem; color: var(--ink); }
.contact__grid a:hover { color: var(--violet-deep); }

@media (max-width: 899px) {
  .capnav, .mandates, .steps--2, .steps--4, .feature, .contact__grid, .art__grid { grid-template-columns: 1fr; }
  .capnav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capnav__item { min-height: 120px; padding: 18px; }
  .network__row { grid-template-columns: 52px 1fr; }
  .art__toc { position: static; }
  .art-hero__img { aspect-ratio: 16 / 10; }
  .art__body { font-size: 16.5px; }
}


:not(.on-dark) > .container .steps__cat, .cap:not(.cap--dark) .steps__cat { color: var(--violet-deep); }
.art__table td small { color: var(--ink-faint); font-size: 12px; }
.art__table tr:not(.is-group) td { border-top-color: transparent; }
.art__table td:first-child { font-weight: 500; color: var(--ink); }

.art__grid > * { min-width: 0; }
.art__table { min-width: 560px; }


.inv-hd { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.2rem, 1.3rem + 3.4vw, 4.5rem); line-height: 1.04; letter-spacing: -0.045em; color: var(--ink); }
.inv-hd .accent { color: var(--violet-deep); font-weight: 400; }
.inv-lead { color: var(--ink-mute); font-size: var(--fs-lead, 1.25rem); max-width: 56ch; }
.inv-model { background: var(--warm); padding: clamp(40px, 5vw, 80px) 0 calc(var(--section-y) + clamp(28px, 4vw, 56px)); }
.inv-model .section-title { color: var(--ink); }
.inv-model .steps__title { color: var(--ink); }
.inv-research { margin-top: calc(-1 * clamp(28px, 4vw, 56px)); }

.inv-open { position: relative; background: var(--warm); }
.motion .inv-open { height: 165vh; }
.inv-open__stage { position: relative; display: grid; grid-template-columns: 5fr 7fr; align-items: center; gap: 24px; padding: 96px var(--gutter) 40px; }
.motion .inv-open__stage { position: sticky; top: 0; height: 100vh; height: 100svh; }
.inv-open__txt { display: grid; gap: 24px; align-content: center; position: relative; z-index: 2; }
.inv-open__eyebrow { color: var(--violet-deep); }
.inv-open .inv-hd { font-size: clamp(2.6rem, 1.2rem + 5vw, 6.4rem); line-height: 1.02; }
.inv-open .inv-lead { font-size: clamp(1rem, .9rem + .3vw, 1.15rem); }
.motion .inv-open__stage { padding-bottom: 220px; }
.inv-open__visual { position: relative; aspect-ratio: 1100 / 689; }
.inv-open__visual canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.inv-open__caption { position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-faint); white-space: nowrap; }
.inv-open__caption b { color: var(--violet-deep); font-weight: 600; }
.inv-open__figs { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 48px); }
.inv-open__fig { display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid var(--line-strong); }
.inv-open__fig b { font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1.4rem + 1.8vw, 3.2rem); line-height: 1; letter-spacing: -0.05em; color: var(--violet-deep); }
.inv-open__fig b sup { font-size: .45em; vertical-align: top; }
.inv-open__fig span { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); }
.inv-open__fig p { font-size: 13.5px; line-height: 1.5; color: var(--ink-mute); }
html:not(.motion) .inv-open__figs { position: static; margin: 32px var(--gutter) 64px; }
@media (max-width: 899px) {
.inv-open__stage { grid-template-columns: 1fr; align-content: start; padding-top: 84px; gap: 8px; }
.inv-open__visual { width: 100%; max-height: 32svh; aspect-ratio: 1100 / 689; justify-self: center; }
.inv-open .inv-hd { font-size: clamp(2.3rem, 1.2rem + 5vw, 3.2rem); }
.inv-open .inv-lead { font-size: 15.5px; }
.inv-open__figs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; bottom: 20px; }
.inv-open__fig p { display: none; }
.motion .inv-open__stage { padding-bottom: 110px; }
.inv-open__fig span { font-size: 9.5px; letter-spacing: .12em; }
}


.inv-donut { position: relative; z-index: 2; background: var(--deep); color: #fff; --r: clamp(28px, 4vw, 56px); border-radius: var(--r); }
.motion .inv-donut { height: 240vh; }
.inv-donut__stage { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(32px, 5vw, 96px); align-items: center; padding: 96px var(--gutter) 48px; }
.motion .inv-donut__stage { position: sticky; top: 0; height: 100vh; height: 100svh; }
.inv-donut .inv-hd { color: #fff; }
.inv-donut .inv-hd .accent { color: var(--violet-glow); }
.inv-donut .inv-lead { color: var(--on-dark-soft); margin-top: 20px; }
.inv-donut__legend { margin-top: 36px; display: grid; gap: 4px; }
.inv-donut__legend li { display: grid; grid-template-columns: 14px 1fr; gap: 14px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--line-dark); opacity: var(--o, 1); transition: opacity .4s; }
.inv-donut__legend i { width: 12px; height: 12px; border-radius: 3px; transform: translateY(1px); }
.inv-donut__legend b { font-family: var(--font-display); font-weight: 400; font-size: 1.1rem; }
.inv-donut__legend span { display: block; color: var(--on-dark-soft); font-size: 13.5px; }
.inv-donut__chart { position: relative; width: min(100%, 520px); justify-self: center; aspect-ratio: 1; }
.inv-donut__chart svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.inv-donut__center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.inv-donut__center b { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.6rem, 1.6rem + 3vw, 4.4rem); letter-spacing: -0.05em; line-height: 1; }
.inv-donut__center b sup { font-size: .4em; vertical-align: top; color: var(--violet-glow); }
.inv-donut__center span { margin-top: 10px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--violet-glow); }
.inv-donut__state { position: relative; display: grid; }
.inv-donut__state > * { grid-area: 1 / 1; transition: opacity .5s; }
@media (max-width: 899px) {
.inv-donut__stage { grid-template-columns: 1fr; padding-top: 80px; gap: 16px; align-content: start; }
.inv-donut__chart { order: -1; width: min(70vw, 300px); }
.inv-donut .inv-hd { font-size: 2rem; }
.inv-donut .inv-lead { font-size: 15px; margin-top: 10px; }
.inv-donut__legend { margin-top: 12px; }
.inv-donut__legend li { padding: 6px 0; }
.inv-donut__legend span { display: none; }
.inv-donut__legend b { font-size: 1rem; }
}


.inv-cycle { background: var(--warm); margin-top: calc(-1 * clamp(28px, 4vw, 56px)); padding-top: clamp(28px, 4vw, 56px); }
.motion .inv-cycle { height: 320vh; }
.inv-cycle .inv-hd { font-size: clamp(2rem, 1.2rem + 2.4vw, 3.6rem); }
.inv-cycle__stage { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(32px, 5vw, 80px); align-items: center; padding: 96px var(--gutter) 40px; }
.motion .inv-cycle__stage { position: sticky; top: 0; height: 100vh; height: 100svh; }
.inv-cycle__map { position: relative; display: grid; grid-template-columns: 28px 1fr 1fr; grid-template-rows: 1fr 1fr 28px; gap: 10px; width: min(100%, 520px, calc((100svh - 420px) * 1.35)); aspect-ratio: 1.35; }
.inv-cycle__ax { font-family: var(--font-display); font-weight: 600; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-faint); display: flex; align-items: center; justify-content: center; }
.inv-cycle__ax--y { writing-mode: vertical-rl; transform: rotate(180deg); }
.inv-cycle__q { position: relative; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); padding: 18px; display: grid; align-content: space-between; cursor: pointer; text-align: left; font: inherit; color: var(--ink); transition: background .5s var(--ease-out), color .5s, border-color .5s, transform .5s var(--ease-out); }
.inv-cycle__q small { font-family: var(--font-display); font-weight: 600; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-faint); transition: color .5s; }
.inv-cycle__q b { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.2rem, .9rem + 1vw, 1.8rem); letter-spacing: -0.02em; }
.inv-cycle__q.is-on { background: var(--violet-deep); border-color: var(--violet-deep); color: #fff; transform: scale(1.02); }
.inv-cycle__q.is-on small { color: rgba(255,255,255,.75); }
.inv-cycle__arrow { position: absolute; inset: 0; pointer-events: none; display: grid; place-items: center; }
.inv-cycle__arrow svg { width: 15%; height: auto; color: var(--violet); opacity: .9; background: var(--warm); border-radius: 50%; padding: 6px; box-sizing: content-box; }
.inv-cycle__panel { position: relative; min-height: 360px; }
.inv-cycle__phase { position: absolute; inset: 0; display: grid; gap: 14px; align-content: start; opacity: 0; transform: translateY(14px); transition: opacity .5s, transform .6s var(--ease-out); pointer-events: none; }
.inv-cycle__phase.is-on { opacity: 1; transform: none; pointer-events: auto; }
.inv-cycle__phase h3 { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.7rem, 1.2rem + 1.4vw, 2.6rem); letter-spacing: -0.03em; }
.inv-cycle__phase .t { color: var(--ink-mute); }
.inv-cycle__phase .lbl { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep); margin-top: 6px; }
.inv-cycle__phase ul { display: grid; gap: 8px; }
.inv-cycle__phase li { position: relative; padding-left: 22px; }
.inv-cycle__phase li::before { content: "↳"; position: absolute; left: 0; color: var(--violet); }
.inv-cycle__phase .take { padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink-mute); font-size: 15px; }
.inv-cycle__phase .take b { color: var(--ink); }
.inv-cycle__dots { display: flex; gap: 8px; margin-top: 20px; }
@media (max-width: 899px) {
.inv-cycle__stage { grid-template-columns: 1fr; padding-top: 76px; gap: 14px; align-content: start; }
.inv-cycle__intro .inv-lead { display: none; }
.inv-cycle .inv-hd { font-size: 1.9rem; }
.inv-cycle__map { width: 100%; }
.inv-cycle__arrow svg { width: 9%; padding: 4px; }
.inv-cycle__map { width: 100%; aspect-ratio: 1.5; gap: 6px; grid-template-columns: 20px 1fr 1fr; grid-template-rows: 1fr 1fr 20px; }
.inv-cycle__q { padding: 10px 12px; border-radius: 12px; }
.inv-cycle__q b { font-size: 1.05rem; }
.inv-cycle__q small { font-size: 8.5px; letter-spacing: .1em; }
.inv-cycle__panel { min-height: 300px; }
.inv-cycle__phase h3 { display: none; }
.inv-cycle__phase .t, .inv-cycle__phase li, .inv-cycle__phase .take { font-size: 14px; }
}


.inv-process { background: var(--warm); padding: var(--section-y) var(--gutter); display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 6vw, 112px); align-items: start; border-top: 1px solid var(--line); }
.inv-process__head { position: sticky; top: 120px; display: grid; gap: 20px; }
.inv-process__line { position: relative; display: grid; gap: clamp(40px, 5vw, 72px); padding-left: 56px; }
.inv-process__track, .inv-process__fill { position: absolute; left: 15px; top: 8px; bottom: 8px; width: 2px; background: var(--line-strong); }
.inv-process__fill { background: var(--violet-deep); transform-origin: top; transform: scaleY(0); }
.inv-process__step { position: relative; display: grid; gap: 10px; opacity: .35; transition: opacity .5s; }
.inv-process__step.is-on { opacity: 1; }
.inv-process__dot { position: absolute; left: -56px; top: 0; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--line-strong); background: var(--warm); display: grid; place-items: center; font-family: var(--font-display); font-size: 12px; color: var(--ink-mute); transition: background .5s, color .5s, border-color .5s; }
.inv-process__step.is-on .inv-process__dot { background: var(--violet-deep); color: #fff; border-color: var(--violet-deep); }
.inv-process__step h3 { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.3rem, 1rem + .9vw, 1.9rem); letter-spacing: -0.02em; color: var(--ink); }
.inv-process__step p { color: var(--ink-mute); max-width: 56ch; }
html:not(.motion) .inv-process__step { opacity: 1; }
html:not(.motion) .inv-process__fill { transform: none; }
@media (max-width: 899px) { .inv-process { grid-template-columns: 1fr; } .inv-process__head { position: static; } }

.inv-open__static { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: none; }
:root:not(.motion) .inv-open [data-seq] { display: none; }
:root:not(.motion) .inv-open__static { display: block; }
.inv-cycle__map { font: inherit; }


.inv-open__lead-after { display: none; }
@media (max-width: 899px) {
  .motion .inv-open .inv-open__txt .inv-lead { display: none; }
  .motion .inv-open__lead-after { display: block; padding: 0 var(--gutter) 24px; background: var(--warm); }
  .inv-open .inv-hd { font-size: clamp(2.4rem, 1.2rem + 6vw, 3.4rem); }
}

@media (max-width: 899px) {
  .motion .inv-open__stage { padding-bottom: 16px; gap: 4px; }
  .inv-open__figs, .motion .inv-open__figs { position: static; grid-template-columns: 1fr; gap: 0; margin-top: 4px; }
  .inv-open__fig { grid-template-columns: 78px 1fr; column-gap: 12px; row-gap: 2px; align-items: baseline; padding: 10px 0; }
  .inv-open__fig b { grid-row: 1 / 3; font-size: 1.9rem; }
  .inv-open__fig span { font-size: 10px; letter-spacing: .14em; }
  .inv-open__fig p { display: block; font-size: 12.5px; line-height: 1.4; }
  .inv-open__visual { max-height: 26svh; }
}
@media (max-width: 899px) and (max-height: 760px) {
  .inv-open__fig p { display: none; }
  .inv-open__visual { max-height: 22svh; }
  .inv-open .inv-hd { font-size: 2.2rem; }
}

@media (min-width: 700px) {
  :root:not(.motion) .caps__track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  :root:not(.motion) .caps__panel { min-height: 0; aspect-ratio: 4 / 3; border-radius: 20px; }
  :root:not(.motion) .caps__panel::after { background: linear-gradient(0deg, rgba(5,5,7,.92) 0%, rgba(5,5,7,.55) 55%, rgba(5,5,7,.1) 100%); }
  :root:not(.motion) .caps__copy { padding: 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px); gap: 10px; }
  :root:not(.motion) .caps__name { font-size: clamp(1.8rem, 1.2rem + 1.6vw, 3rem); }
}

.reg__seal { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--line); }
.reg__seal img { width: clamp(150px, 14vw, 200px); height: auto; }
.reg__seal .reg__note { margin-top: 0; padding-left: 40px; border-left: 1px solid var(--line-strong); }
@media (max-width: 599px) { .reg__seal .reg__note { padding-left: 0; border-left: 0; } }

.inv-hero { background: var(--warm); padding: calc(80px + clamp(56px, 8vw, 128px)) 0 clamp(56px, 6vw, 96px); overflow: hidden; }
.inv-hero__grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
.inv-hero__txt { display: grid; gap: 24px; }
.inv-hero__title { font-size: clamp(2.8rem, 1.2rem + 5.4vw, 6.8rem); line-height: 1; }
.inv-hero__visual { margin-right: calc(-1 * var(--gutter)); }
.inv-hero__visual img { width: 100%; height: auto; }
.inv-hero__figs { margin-top: clamp(48px, 6vw, 96px); }
@media (max-width: 899px) {
  .inv-hero__grid { grid-template-columns: 1fr; }
  .inv-hero__visual { margin: 0 calc(-1 * var(--gutter)); }
  .inv-hero__visual img { width: 100%; }
}

.motion .inv-cycle { height: auto; }
.motion .inv-cycle__stage { position: relative; height: auto; padding-block: calc(var(--section-y) + 20px) var(--section-y); }
.inv-cycle__hint { margin-top: 28px; font-family: var(--font-display); font-weight: 600; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--violet-deep); }
.inv-cycle__hint span { display: inline-block; margin-right: 6px; }
.inv-cycle__map { margin-top: 16px; }
.inv-cycle__plus { position: absolute; top: 14px; right: 14px; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line-strong); transition: background .3s, border-color .3s, transform .4s var(--ease-out); }
.inv-cycle__plus::before, .inv-cycle__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; background: var(--violet-deep); transform: translate(-50%, -50%); transition: transform .4s var(--ease-out); }
.inv-cycle__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.inv-cycle__q.is-on .inv-cycle__plus { opacity: 0; }
.inv-cycle__q:focus-visible { outline: 2px solid var(--violet-deep); outline-offset: 3px; }
@media (hover: hover) {
  .inv-cycle__q:not(.is-on):hover { border-color: var(--violet-deep); transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(110,89,199,.45); }
  .inv-cycle__q:not(.is-on):hover .inv-cycle__plus { background: var(--violet-deep); border-color: var(--violet-deep); transform: rotate(-45deg); }
  .inv-cycle__q:not(.is-on):hover .inv-cycle__plus::before, .inv-cycle__q:not(.is-on):hover .inv-cycle__plus::after { background: #fff; }
}
@media (max-width: 899px) {
  .motion .inv-cycle__stage { padding-top: var(--section-y); }
  .inv-cycle__intro .inv-lead { display: block !important; font-size: 15px; }
  .inv-cycle__plus { top: 8px; right: 8px; width: 22px; height: 22px; }
  .inv-cycle__plus::before, .inv-cycle__plus::after { width: 8px; }
  .inv-cycle__panel { min-height: 0; }
  .inv-cycle__phase { position: relative; inset: auto; display: none; }
  .inv-cycle__phase.is-on { display: grid; }
}

.inv-cycle__plus { top: auto; bottom: 16px; right: 16px; }
@media (hover: hover) { .inv-cycle__q:not(.is-on):hover .inv-cycle__plus { transform: none; } }
@media (max-width: 899px) { .inv-cycle__plus { bottom: 10px; right: 10px; top: auto; } .inv-cycle__q b { padding-right: 26px; } }


.capwrap { position: relative; }
.capidx { position: sticky; top: 64px; z-index: 20; background: rgba(250,250,247,.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.capidx ol { display: flex; justify-content: center; gap: clamp(8px, 2vw, 40px); padding: 0 var(--gutter); overflow-x: auto; scrollbar-width: none; }
.capidx ol::-webkit-scrollbar { display: none; }
.capidx a { display: flex; align-items: baseline; gap: 10px; padding: 18px 6px; white-space: nowrap; font-family: var(--font-display); font-size: 14.5px; color: var(--ink-faint); transition: color .35s; }
.capidx a b { font-weight: 300; font-size: 13px; }
.capidx a:hover { color: var(--ink); }
.capidx a.is-on { color: var(--ink); }
.capidx a.is-on b { color: var(--violet-deep); }
.capidx__bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; }
.capidx__bar i { position: absolute; inset: 0 auto 0 0; width: 100%; background: var(--violet-deep); transform-origin: left; transform: scaleX(0); }
.capwrap .cap { scroll-margin-top: 120px; }
@media (max-width: 899px) { .capidx ol { justify-content: flex-start; gap: 4px; } .capidx a { padding: 15px 10px; font-size: 13.5px; } }


.art-progress { position: fixed; z-index: 45; left: 0; right: 0; top: 64px; height: 2px; pointer-events: none; }
.art-progress i { position: absolute; inset: 0; background: var(--violet-deep); transform-origin: left; transform: scaleX(0); }
.art-hero__title { max-width: 20ch; font-size: clamp(2.2rem, 1.1rem + 3.6vw, 4.8rem); line-height: 1.04; }
.art-hero__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: var(--font-display); font-weight: 600; font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-mute); }
.art-hero__meta span:first-child { color: var(--violet-deep); }
.art-hero__meta > * + *::before { content: "·"; margin-right: 18px; color: var(--ink-faint); }
.art-hero__img { margin: clamp(40px, 5vw, 64px) 0 0; aspect-ratio: 16 / 7; overflow: hidden; border-radius: clamp(16px, 2vw, 24px); background: var(--night); }
.art-hero__img img { width: 100%; height: 100%; object-fit: cover; }

.art { padding-block: clamp(56px, 7vw, 104px) clamp(72px, 8vw, 128px); }
.art__grid { grid-template-columns: minmax(200px, 3fr) minmax(0, 8fr); }
.art__body { max-width: 68ch; font-size: clamp(17px, 16px + .25vw, 19px); line-height: 1.75; color: var(--ink-soft); }
.art__body > * + * { margin-top: 1.15em; }
.art__body .art__intro { font-size: 1.28em; line-height: 1.55; color: var(--ink); letter-spacing: -0.01em; }
.art__body h2 { position: relative; margin-top: 2.6em; padding-top: 1.1em; border-top: 1px solid var(--line); font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); }
.art__num { display: block; margin-bottom: 10px; font-weight: 300; font-size: 14px; letter-spacing: .04em; color: var(--violet-deep); }
.art__body h3 { margin-top: 2em; font-size: 1.15em; line-height: 1.4; }
.art__body h3 + p { margin-top: .6em; }
.art__body strong, .art__body b { color: var(--ink); }
.art__fig { margin-block: 2.2em !important; }
.art__card { padding: 22px; border-radius: 16px; }
.art__table-wrap { margin-block: 2.2em !important; }
.art__note { margin-top: .6em !important; }
.art__end { margin-top: 3em !important; width: 48px; height: 2px; background: var(--violet-deep); }

.art__toc { top: 112px; }
.art__toc-box summary { list-style: none; cursor: default; display: flex; gap: 8px; align-items: baseline; }
.art__toc-box summary::-webkit-details-marker { display: none; }
.art__toc-box summary span { color: var(--ink-faint); font-weight: 400; }
.art__toc ol { gap: 0; }
.art__toc a { display: grid; grid-template-columns: 26px 1fr; gap: 6px; padding: 8px 0 8px 14px; margin-left: -1px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; transition: color .3s, border-color .3s; }
.art__toc a b { font-weight: 300; color: var(--ink-faint); }
.art__toc a.is-on { color: var(--ink); border-left-color: var(--violet-deep); }
.art__toc a.is-on b { color: var(--violet-deep); }

@media (max-width: 899px) {
  .art-progress { top: 64px; }
  .art-hero__img { aspect-ratio: 16 / 10; margin-top: 32px; }
  .art__grid { gap: 28px; }
  .art__toc { position: static; }
  .art__toc-box { border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
  .art__toc-box summary { cursor: pointer; padding: 16px 18px; margin: 0; justify-content: space-between; }
  .art__toc-box summary::after { content: "+"; font-family: var(--font-display); font-weight: 200; font-size: 22px; line-height: 1; color: var(--violet-deep); }
  .art__toc-box[open] summary::after { content: "–"; }
  .art__toc-box ol { padding: 0 18px 14px; border-left: 0; }
  .art__toc-box a { padding-left: 0; border-left: 0; }
}
@media (max-width: 899px) { .art__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 899px) { .art__toc-box summary { justify-content: flex-start; } .art__toc-box summary::after { margin-left: auto; } }


.art-hero { padding-top: calc(80px + clamp(40px, 6vw, 96px)); }
.art-back { display: inline-flex; gap: 8px; align-items: center; margin-bottom: clamp(28px, 3vw, 44px); padding: 8px 14px 8px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: 13.5px; color: var(--ink-mute); transition: border-color .3s, color .3s; }
.art-back:hover { border-color: var(--violet-deep); color: var(--violet-deep); }
.art-hero__title { max-width: 21ch; text-wrap: balance; font-size: clamp(2.2rem, 1.1rem + 3.6vw, 4.6rem); line-height: 1.04; }
.art-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 28px; font-family: var(--font-display); font-size: 14px; color: var(--ink-mute); letter-spacing: 0; text-transform: none; font-weight: 400; }
.art-hero__meta > li { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); }
.art-hero__meta > * + *::before { content: none; }
.art-hero__meta .art-tag { border-color: transparent; background: var(--violet-deep); color: #fff; font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.art-hero__img { margin-top: clamp(36px, 4vw, 56px); aspect-ratio: 21 / 9; }


.art__body { font-size: clamp(17px, 16px + .3vw, 19px); }
.art__body .art__intro { font-size: 1.3em; padding-left: 24px; border-left: 3px solid var(--violet-deep); }
.art__body h2 { margin-top: 2.8em; padding-top: 1.2em; }
.art__num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0 0 16px; border-radius: 50%; background: rgba(155,135,234,.14); color: var(--violet-deep); font-size: 14px; font-weight: 500; }
.art__body ul { margin-left: 0; }
.art__body ul li { padding-left: 28px; }
.art__body ul li::before { left: 4px; top: .55em; width: 9px; height: 5px; background: none; border-left: 1.5px solid var(--violet-deep); border-bottom: 1.5px solid var(--violet-deep); transform: rotate(-45deg); }


.art__point { margin-block: 1.6em !important; padding: clamp(22px, 2.4vw, 32px); background: var(--paper); border: 1px solid var(--line); border-left: 3px solid var(--violet-deep); border-radius: 4px 16px 16px 4px; }
.art__point h3 { margin-top: 0 !important; font-size: 1.08em; color: var(--ink); }
.art__point > * + * { margin-top: .7em; }
.art__point p { font-size: .95em; }


.art__fig--stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 1px; padding: 0; overflow: hidden; border-radius: 20px; background: var(--line-dark); border: 0; }
.art__fig--stats .art__card { padding: 26px 22px; border: 0; border-radius: 0; background: var(--deep); }
.art__fig--stats .art__card-num { font-size: clamp(2.2rem, 1.6rem + 1.4vw, 3rem); color: var(--violet-glow); }
.art__fig--stats .art__card-title { color: #fff; font-size: 15px; margin-top: 6px; }
.art__fig--stats .art__card-text { color: var(--on-dark-soft); }
.art__fig--stats .art__card-text:last-child:not(:nth-child(3)) { margin-top: 8px; font-size: 12px; color: rgba(255,255,255,.5); }

.art__fig--cards .art__card { background: var(--paper); border: 1px solid var(--line); }
.art__fig--cards .art__card-title { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--violet-deep); }
.art__fig--cards .art__card-text { font-size: 14.5px; color: var(--ink-soft); }

.art__table thead th { background: rgba(155,135,234,.1); }
.art__table tbody tr:nth-child(even) td { background: rgba(14,14,20,.018); }


.art__toc-label { margin-bottom: 18px; }
.art__toc a { position: relative; grid-template-columns: 30px 1fr; padding: 10px 0 12px 16px; }
.art__toc a i { position: absolute; left: -2px; top: 0; bottom: 0; width: 2px; background: var(--line); }
.art__toc a i em { position: absolute; inset: 0; background: var(--violet-deep); transform-origin: top; transform: scaleY(var(--p, 0)); }
.art__toc a.is-on, .art__toc a { border-left: 0; }
.art__toc ol { border-left: 0; }
.art__top { display: inline-flex; gap: 6px; margin-top: 22px; padding-left: 16px; font-size: 13px; color: var(--ink-faint); }
.art__top:hover { color: var(--violet-deep); }


.art-nav { position: fixed; z-index: 46; left: 12px; right: 12px; bottom: 12px; transform: translateY(140%); transition: transform .45s var(--ease-out); }
.art-nav.is-shown { transform: none; }
.art-nav__pill { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: 999px; background: rgba(250,250,247,.95); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 18px 40px -18px rgba(5,5,7,.35); font: inherit; font-size: 14px; color: var(--ink); text-align: left; cursor: pointer; }
.art-nav__pill b { font-family: var(--font-display); font-weight: 500; color: var(--violet-deep); }
.art-nav__pill span { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.art-nav__pill i { width: 9px; height: 9px; border-left: 1.5px solid var(--ink); border-top: 1.5px solid var(--ink); transform: rotate(45deg) translate(2px, 2px); transition: transform .3s; }
.art-nav__pill[aria-expanded="true"] i { transform: rotate(225deg); }
.art-nav__list { position: absolute; left: 0; right: 0; bottom: calc(100% + 8px); max-height: 60vh; overflow: auto; padding: 8px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: 0 24px 60px -24px rgba(5,5,7,.4); }
.art-nav__list a { display: grid; grid-template-columns: 30px 1fr; gap: 6px; padding: 12px 10px; border-radius: 12px; font-size: 14.5px; color: var(--ink); }
.art-nav__list a b { font-weight: 400; color: var(--violet-deep); }
.art-nav__list a.is-on { background: rgba(155,135,234,.12); }
@media (min-width: 900px) { .art-nav { display: none; } }
@media (max-width: 899px) {
  .art__toc { display: none; }
  .art-hero__img { aspect-ratio: 16 / 10; }
  .art-hero__meta { gap: 8px; } .art-hero__meta > li { height: 30px; padding: 0 12px; font-size: 13px; }
  .art__body .art__intro { padding-left: 16px; }
  .art__fig--stats { border-radius: 16px; }
  .site-footer { padding-bottom: 96px; }
}
.art__num { display: flex; }
.art__toc a.art__top { display: inline-flex; grid-template-columns: none; padding: 0 0 0 16px; margin-top: 24px; }


.art-form { margin-top: 2em !important; padding: clamp(24px, 3vw, 40px); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); font-size: 16px; }
.art-form form { display: grid; gap: 16px; }
.art-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.art-form__field { display: grid; gap: 8px; }
.art-form__field span { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-mute); }
.art-form__field em { font-style: normal; font-weight: 400; letter-spacing: .05em; text-transform: none; color: var(--ink-faint); }
.art-form__field input { height: 52px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--warm); font: inherit; color: var(--ink); transition: border-color .25s, box-shadow .25s; }
.art-form__field input:focus { outline: none; border-color: var(--violet-deep); box-shadow: 0 0 0 4px rgba(155,135,234,.2); }
.art-form__check { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; font-size: 14px; line-height: 1.5; color: var(--ink-mute); }
.art-form__check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--violet-deep); }
.art-form__check a { color: var(--violet-deep); text-decoration: underline; text-underline-offset: 3px; }
.art-form__submit { justify-self: start; margin-top: 6px; }
.art-form__submit[disabled] { opacity: .6; }
.art-form__error { color: #B42318; font-size: 14px; }
.art-form__hp { position: absolute; left: -9999px; }
.art-form__done { display: grid; gap: 12px; justify-items: start; }
.art-form__done-title { font-family: var(--font-display); font-weight: 300; font-size: 1.6rem; letter-spacing: -0.02em; color: var(--ink); }
@media (max-width: 599px) { .art-form__row { grid-template-columns: 1fr; } }
.art__grid--solo { grid-template-columns: minmax(0, 1fr); }
.art__grid--solo .art__body { margin-inline: auto; width: 100%; }

.site-footer__social { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-top: 4px; border: 1px solid var(--line-dark); border-radius: 10px; color: var(--on-dark-soft); transition: color .3s, border-color .3s, background .3s; }
.site-footer__social:hover { color: #fff; border-color: var(--violet); background: rgba(155,135,234,.15); }

.cap__edge { margin-top: clamp(40px, 5vw, 64px); max-width: 860px; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--line-dark); border-left: 3px solid var(--violet); border-radius: 4px 18px 18px 4px; background: rgba(255,255,255,.03); }
.cap__edge-title { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); margin-bottom: 12px; }
.cap__edge p:last-child { color: var(--on-dark-soft); font-size: 1.1rem; line-height: 1.6; }
.consol .steps--3 { margin-top: 32px; }
.inv-donut__note { margin-top: 16px; max-width: 52ch; color: var(--on-dark-soft); font-size: 15px; line-height: 1.6; }
.reg__lead { margin: -24px 0 clamp(40px, 5vw, 64px); max-width: 60ch; color: var(--ink-mute); font-size: var(--fs-lead, 1.2rem); }
@media (max-width: 899px) { .inv-donut__note { display: none; } }

.art__chart { margin: 2.2em 0 !important; padding: clamp(18px, 2.4vw, 32px); background: var(--paper); border: 1px solid var(--line); border-radius: 18px; font-size: 15px; line-height: 1.5; color: var(--ink-soft); overflow: hidden; }
.art__chart canvas { max-width: 100%; }
.art__chart [class$="__caption"], .art__chart [class*="__caption "], .art__chart [class$="__note"] { color: var(--ink-faint); }
.art__chart > div { margin-top: 0 !important; }
.art__chart--embed { padding: 0; border: 0; background: none; border-radius: 0; overflow: visible; }

.inv-donut { overflow: clip; }
@media (max-width: 899px) {
  .motion .inv-donut { height: auto; }
  .motion .inv-donut__stage { position: relative; height: auto; padding-bottom: 64px; }
  .inv-donut__note { display: block; }
}

.inv-donut__viz { display: grid; justify-items: center; gap: 28px; align-content: center; }
.inv-donut__chart { width: min(100%, 420px, calc(100svh - 420px)); min-width: 220px; }
.inv-donut__legend { margin-top: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; width: 100%; max-width: 520px; }
.inv-donut__legend li { padding: 8px 0; }
.inv-donut__legend b { font-size: 1rem; }
.inv-donut__legend span { font-size: 12.5px; }
.inv-donut__stage { align-items: center; }
@media (max-width: 899px) {
  .inv-donut__viz { order: 2; gap: 20px; }
  .inv-donut__chart { order: 0; width: min(78vw, 320px); min-width: 0; }
  .inv-donut__legend { column-gap: 16px; }
  .inv-donut__legend span { display: none; }
}


    
.sol-cards__cards { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: clamp(40px,5vw,72px); }
.sol-cards__card { position: relative; aspect-ratio: 3/4; border-radius: 18px; overflow: hidden; color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; background: var(--deep); isolation: isolate; }
.sol-cards__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--ease-out); }
.sol-cards__card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5,5,7,.9), rgba(5,5,7,.2) 60%); }
.sol-cards__card b { font-family: var(--font-display); font-weight: 200; font-size: 2.2rem; color: var(--violet-glow); letter-spacing: -0.04em; }
.sol-cards__card small { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.sol-cards__card strong { display: block; margin-top: 8px; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.25rem, 1rem + .8vw, 1.8rem); line-height: 1.1; letter-spacing: -0.02em; }
@media (hover: hover) { .sol-cards__card:hover img { transform: scale(1.06); } }
@media (max-width: 899px) { .sol-cards__cards { grid-template-columns: repeat(2, minmax(0,1fr)); } .sol-cards__card { aspect-ratio: 4/5; padding: 16px; } .sol-cards__card small { font-size: 9.5px; letter-spacing: .14em; } .sol-cards__card strong { font-size: 1.05rem; } }


.sol-band { position: relative; height: clamp(220px, 34vw, 480px); margin: 0 var(--gutter) clamp(40px,5vw,72px); border-radius: 24px; overflow: hidden; background: var(--deep); }
.sol-band img { width: 100%; height: 100%; object-fit: cover; }
.motion .sol-band { clip-path: inset(0 12% 0 12% round 24px); }


.sol-mand__tabs { display: inline-flex; gap: 4px; padding: 4px; margin-top: 40px; border: 1px solid var(--line-dark); border-radius: 999px; }
.sol-mand__tabs button { min-height: 44px; padding: 0 22px; border-radius: 999px; border: 0; background: transparent; color: var(--on-dark-soft); font: inherit; font-family: var(--font-display); font-size: 15px; cursor: pointer; transition: background .35s, color .35s; }
.sol-mand__tabs button[aria-selected="true"] { background: #fff; color: var(--ink); }
.sol-mand__body { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(32px,5vw,96px); margin-top: 48px; align-items: start; }
.sol-mand__lab { display: flex; justify-content: space-between; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.sol-mand__bar { position: relative; height: 10px; border-radius: 10px; background: rgba(255,255,255,.1); margin-top: 14px; }
.sol-mand__fill { position: absolute; inset: 0 auto 0 0; border-radius: 10px; background: linear-gradient(90deg, var(--violet-deep), var(--violet-glow)); transition: width .8s var(--ease-out); }
.sol-mand__knob { position: absolute; top: 50%; width: 22px; height: 22px; border-radius: 50%; background: #fff; transform: translate(-50%,-50%); box-shadow: 0 0 0 6px rgba(155,135,234,.3); transition: left .8s var(--ease-out); }
.sol-mand__who { font-family: var(--font-display); font-weight: 200; font-size: clamp(1.9rem, 1.3rem + 1.8vw, 3rem); letter-spacing: -0.04em; line-height: 1.05; margin-top: 28px; }
.sol-mand__panel { padding: clamp(24px,2.4vw,36px); border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.03); }
.sol-mand__panel p { color: var(--on-dark-soft); font-size: 1.1rem; }
.sol-mand__panel .checks { margin-top: 20px; }
.sol-mand__shared { margin-top: 32px; color: var(--violet-glow); }
@media (max-width: 899px) { .sol-mand__tabs { display: flex; } .sol-mand__tabs button { flex: 1; padding: 0 6px; font-size: 14px; } .sol-mand__body { grid-template-columns: 1fr; } }


.sol-tabs__edge { margin-top: 40px; max-width: 820px; padding: 28px 32px; border-left: 3px solid var(--violet); background: rgba(255,255,255,.03); border-radius: 4px 18px 18px 4px; color: var(--on-dark-soft); font-size: 1.1rem; line-height: 1.6; }
.sol-tabs__edge b { display: block; margin-bottom: 10px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.sol-tabs__wrap { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(24px,4vw,64px); margin-top: 56px; align-items: start; }
.sol-tabs__list { display: grid; border-top: 1px solid var(--line-dark); }
.sol-tabs__list button { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 22px 4px; border: 0; border-bottom: 1px solid var(--line-dark); background: none; color: rgba(255,255,255,.55); font: inherit; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.3rem, 1rem + .9vw, 1.9rem); letter-spacing: -0.02em; text-align: left; cursor: pointer; transition: color .3s; }
.sol-tabs__list button::after { content: "→"; font-size: 1.2rem; opacity: 0; transform: translateX(-8px); transition: opacity .3s, transform .3s; color: var(--violet-glow); }
.sol-tabs__list button[aria-selected="true"] { color: #fff; }
.sol-tabs__list button[aria-selected="true"]::after { opacity: 1; transform: none; }
@media (hover: hover) { .sol-tabs__list button:hover { color: #fff; } }
.sol-tabs__panel { position: relative; min-height: 260px; padding: clamp(28px,3vw,44px); border-radius: 20px; overflow: hidden; background: #0c0b12; }
.sol-tabs__panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.sol-tabs__panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,7,.92), rgba(5,5,7,.5)); }
.sol-tabs__txt { position: relative; z-index: 1; display: grid; gap: 14px; max-width: 46ch; }
.sol-tabs__txt h3 { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.6rem,1.2rem + 1vw,2.2rem); letter-spacing: -0.03em; }
.sol-tabs__txt p { color: var(--on-dark-soft); font-size: 1.05rem; line-height: 1.6; }
.sol-tabs__note { margin-top: 40px; max-width: 70ch; color: var(--on-dark-soft); }
@media (max-width: 899px) { .sol-tabs__wrap { grid-template-columns: 1fr; } .sol-tabs__list { display: flex; overflow-x: auto; border: 0; gap: 8px; scrollbar-width: none; } .sol-tabs__list button { flex: 0 0 auto; padding: 10px 16px; border: 1px solid var(--line-dark); border-radius: 999px; font-size: 15px; } .sol-tabs__list button::after { display: none; } .sol-tabs__list button[aria-selected="true"] { background: #fff; color: var(--ink); } }


.sol-fin__offers { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 48px; }
.sol-fin__offer { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.sol-fin__offer h3, .sol-fin__card h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.3rem; letter-spacing: -0.02em; color: var(--ink); }
.sol-fin__offer p { margin-top: 10px; color: var(--ink-mute); font-size: 15px; line-height: 1.6; }
.sol-fin__lab { margin-top: 56px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-faint); }
.sol-fin__rail { display: flex; gap: 12px; margin: 18px calc(-1 * var(--gutter)) 0; padding: 0 var(--gutter) 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
.sol-fin__rail::-webkit-scrollbar { display: none; }
.sol-fin__card { flex: 0 0 min(320px, 78vw); scroll-snap-align: start; display: grid; align-content: start; gap: 12px; padding: 26px; border-radius: 18px; background: var(--deep); color: #fff; min-height: 240px; }
.sol-fin__card small { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.sol-fin__card h3 { color: #fff; }
.sol-fin__card p { color: var(--on-dark-soft); font-size: 14.5px; line-height: 1.55; }
.sol-fin__ctrl { display: flex; gap: 8px; margin-top: 12px; }
.sol-fin__ctrl button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-strong); background: var(--paper); font-size: 18px; cursor: pointer; color: var(--ink); }
.sol-fin__ctrl button:hover { border-color: var(--violet-deep); color: var(--violet-deep); }
.sol-fin__figs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(20px,3vw,48px); margin-top: 56px; }
.sol-fin__figs div { padding-top: 20px; border-top: 1px solid var(--line-strong); }
.sol-fin__figs b { display: block; font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem,1.4rem + 1.8vw,3.2rem); letter-spacing: -0.04em; color: var(--violet-deep); }
.sol-fin__figs span { color: var(--ink-mute); }
.sol-fin__disc { margin-top: 24px; max-width: 90ch; font-size: 12.5px; color: var(--ink-faint); }
@media (max-width: 899px) { .sol-fin__offers, .sol-fin__figs { grid-template-columns: 1fr; } .sol-fin__ctrl { display: none; } }


.sol-net__grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px,5vw,96px); align-items: center; margin-top: 48px; }
.sol-net__map { position: relative; aspect-ratio: 1; width: min(100%, 480px); justify-self: center; container-type: inline-size; }
.sol-net__ring { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); left: 50%; top: 50%; transform: translate(-50%,-50%); }
.sol-net__you { position: absolute; left: 50%; top: 50%; width: 22cqi; height: 22cqi; transform: translate(-50%,-50%); display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--violet-glow); background: rgba(155,135,234,.12); font-family: var(--font-display); font-weight: 600; font-size: clamp(10px,2.6cqi,13px); letter-spacing: .2em; text-transform: uppercase; }
.sol-net__node { position: absolute; transform: translate(-50%,-50%); padding: 2.2cqi 3.6cqi; border-radius: 999px; border: 1px solid var(--line-dark); background: var(--deep); font-family: var(--font-display); font-weight: 600; font-size: clamp(9.5px,2.5cqi,12.5px); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; transition: border-color .4s, background .4s; }
.sol-net__node.is-on { border-color: var(--violet-glow); background: rgba(155,135,234,.2); }
.sol-net__dot { position: absolute; width: 1.6cqi; height: 1.6cqi; border-radius: 50%; background: var(--violet); transform: translate(-50%,-50%); }
.sol-net__axes li { padding: 22px 0; border-bottom: 1px solid var(--line-dark); cursor: default; }
.sol-net__axes li:first-child { border-top: 1px solid var(--line-dark); }
.sol-net__axes .c { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.sol-net__axes .i { margin-top: 8px; font-family: var(--font-display); font-weight: 300; font-size: 1.15rem; }
.sol-net__axes .t { margin-top: 6px; color: var(--on-dark-soft); font-size: 14.5px; }
.sol-net__svc { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 32px; }
.sol-net__svc div { padding: 26px; border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.03); }
.sol-net__svc h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.2rem; }
.sol-net__svc p { margin-top: 10px; color: var(--on-dark-soft); font-size: 14.5px; line-height: 1.55; }
.sol-net__sub { margin-top: clamp(64px,8vw,120px); }
.sol-net__sub h3 { font-family: var(--font-display); font-weight: 200; font-size: clamp(1.8rem,1.2rem + 2vw,3rem); letter-spacing: -0.04em; line-height: 1.08; max-width: 22ch; }
.sol-net__sub h3 .accent { color: var(--violet-glow); font-weight: 400; }
.sol-net__q { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.sol-net__q li { padding: 10px 16px; border: 1px solid var(--line-dark); border-radius: 999px; font-size: 14px; color: #fff; }
@media (max-width: 899px) { .sol-net__grid, .sol-net__svc { grid-template-columns: 1fr; } .sol-net__node { white-space: normal; width: 30cqi; text-align: center; line-height: 1.4; padding: 2.4cqi 2cqi; } }

.sol-cards { margin-top: clamp(40px, 5vw, 72px); }
.sol-uni { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; max-width: 980px; }
.sol-uni div { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.sol-uni h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.3rem; letter-spacing: -0.02em; color: var(--ink); }
.sol-uni p { margin-top: 10px; color: var(--ink-mute); font-size: 15px; line-height: 1.6; }
.cap .sol-band { margin: clamp(40px, 5vw, 64px) 0 0; height: clamp(200px, 26vw, 380px); }
.cap .sol-fin__rail { margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); }
.cap--dark .sol-net__sub .lead, .cap--dark .sol-net__sub p.lead { color: var(--on-dark-soft); }
.sol-net__sub .lead { margin-top: 18px; font-size: var(--fs-lead, 1.2rem); max-width: 60ch; }
@media (max-width: 899px) { .sol-uni { grid-template-columns: 1fr; } }

.sol-axes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(48px, 6vw, 80px); border-top: 1px solid var(--line-dark); }
.sol-axes__col { padding: 32px clamp(20px, 2.4vw, 40px) 8px; border-left: 1px solid var(--line-dark); }
.sol-axes__col:first-child { padding-left: 0; border-left: 0; }
.sol-axes__label { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.5rem, 1.1rem + 1vw, 2.1rem); letter-spacing: -0.03em; color: #fff; }
.sol-axes__text { margin-top: 10px; color: var(--on-dark-soft); font-size: 15px; line-height: 1.55; max-width: 32ch; }
.sol-axes__items { margin-top: 24px; }
.sol-axes__items li { padding: 13px 0; border-top: 1px solid var(--line-dark); font-size: 15px; color: rgba(255,255,255,.9); }
@media (max-width: 899px) {
  .sol-axes { grid-template-columns: 1fr; border-top: 0; }
  .sol-axes__col, .sol-axes__col:first-child { padding: 28px 0 8px; border-left: 0; border-top: 1px solid var(--line-dark); }
}
@media (min-width: 900px) { .sol-axes__text { min-height: 3.1em; } }

@media (max-width: 699px) {
  .motion .caps__track { gap: calc(var(--gutter) * 2); }
  .motion .caps__panel { width: calc(100vw - 2 * var(--gutter)); }
  .motion .caps__count { justify-content: space-between; }
  .caps__hint { display: inline-flex; align-items: center; gap: 8px; font-style: normal; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); transition: opacity .4s; }
  .caps__hint svg { animation: capsHint 1.6s var(--ease-out) infinite; }
  .caps__hint.is-done { opacity: 0; }
}
@keyframes capsHint { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
@media (prefers-reduced-motion: reduce) { :root:not(.force-motion) .caps__hint svg { animation: none; } }



div.page-hero__lead { display: grid; gap: 1em; }

.pillars__label { margin-bottom: clamp(28px, 3vw, 44px); }
@media (min-width: 900px) { .pillars__title { white-space: nowrap; font-size: clamp(1.4rem, .9rem + 1.1vw, 2.1rem); } }

.leaders__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1320px; margin-inline: auto; }
@media (max-width: 899px) { .leaders__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.leaders__label { margin-bottom: 20px; }
.person--static { cursor: default; }
.team__ph--empty { background: var(--soft, #F5F5F2); border: 1px solid var(--line); display: grid; place-items: center; }
.team__ph--empty span { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); letter-spacing: -0.04em; color: var(--violet-deep); opacity: .55; }

.ops__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) { .ops__grid { grid-template-columns: 1fr; } }

.reg__parts { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); counter-reset: none; }
.reg__parts::before { content: ""; position: absolute; left: 8%; right: 8%; top: 50%; height: 1px; background: var(--violet); z-index: 0; }
.reg__part { position: relative; z-index: 1; display: grid; gap: 10px; align-content: start; padding: clamp(22px, 2.4vw, 32px); background: var(--paper); border: 1px solid var(--line); border-radius: 14px; }
.reg__part-label { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-faint); }
.reg__part b { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.35rem, 1rem + 1vw, 1.9rem); letter-spacing: -0.02em; color: var(--ink); line-height: 1.15; }
.reg__part-text { color: var(--ink-mute); font-size: 15px; line-height: 1.55; }
.reg__part.is-own { background: rgba(155,135,234,.12); border-color: var(--violet-deep); }
.reg__part.is-own .reg__part-label, .reg__part.is-own b { color: var(--violet-deep); }
@media (max-width: 899px) {
  .reg__parts { grid-template-columns: 1fr; padding-left: 28px; }
  .reg__parts::before { left: 0; right: auto; top: 30px; bottom: 30px; width: 1px; height: auto; }
  .reg__part::before { content: ""; position: absolute; left: -28px; top: 50%; width: 28px; height: 1px; background: var(--violet); }
}

.inv-donut__legends { display: grid; width: 100%; max-width: 520px; }
.inv-donut__leg { grid-area: 1 / 1; display: grid; gap: 14px; align-content: start; opacity: 0; visibility: hidden; transition: opacity .5s, visibility .5s; }
.inv-donut__leg.is-on { opacity: 1; visibility: visible; }
.inv-donut__legend--legacy { grid-template-columns: 1fr; }
.inv-donut__foot { color: var(--on-dark-mute); font-size: 12.5px; line-height: 1.55; }
@media (max-width: 899px) { .inv-donut__legend--legacy { grid-template-columns: 1fr; } }

.sol-mand__cap { margin-top: 18px; font-size: 13px; color: var(--on-dark-mute); letter-spacing: .02em; }
.sol-mand__title { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.35rem, 1rem + 1vw, 1.9rem); line-height: 1.15; letter-spacing: -0.02em; color: #fff; margin-bottom: 12px; }
.sol-mand__note { margin-bottom: 20px; padding: 12px 16px; border-left: 2px solid var(--violet); background: rgba(155,135,234,.08); border-radius: 2px 10px 10px 2px; font-size: 14px !important; line-height: 1.55; }
.sol-mand__note b { color: #fff; font-weight: 500; }

.sol-uni__kick { display: flex; gap: 12px; align-items: baseline; margin: 0 0 14px !important; font-family: var(--font-display); font-weight: 600; font-size: 11px !important; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-deep) !important; }
.sol-uni__kick span { color: var(--ink-faint); }

.sol-tabs__edge-title { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.3rem, 1rem + .9vw, 1.8rem); line-height: 1.2; letter-spacing: -0.02em; color: #fff; margin: 0 0 12px; }

#financing .sol-uni { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
@media (max-width: 899px) { #financing .sol-uni { grid-template-columns: 1fr; } }
.cap__sub { margin-top: 14px; font-family: var(--font-display); font-weight: 200; font-size: clamp(1.8rem, 1.2rem + 2vw, 3rem); letter-spacing: -0.04em; line-height: 1.08; color: var(--ink); }
.cap--dark .cap__sub { color: #fff; }
.cap .cap__list-label + .sol-fin__rail, .cap__sub + .sol-fin__rail { margin-top: 28px; }

.cap-cta { margin-top: clamp(64px, 8vw, 120px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--line); display: grid; gap: 18px; justify-items: start; max-width: 760px; }
.cap-cta--dark { border-top-color: var(--line-dark); }
.cap-cta__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1.3rem + 2.4vw, 3.4rem); letter-spacing: -0.04em; line-height: 1.05; color: var(--ink); }
.cap-cta--dark .cap-cta__title { color: #fff; }
.cap-cta__text { color: var(--ink-mute); font-size: var(--fs-lead, 1.2rem); line-height: 1.5; max-width: 56ch; }
.cap-cta--dark .cap-cta__text { color: var(--on-dark-soft); }
.cap-cta .btn { margin-top: 8px; }
.cap-cta__disc { font-size: 12.5px; line-height: 1.6; color: var(--ink-faint); max-width: 80ch; }

.sol-axes__num { font-family: var(--font-display); font-weight: 200; font-size: 1.6rem; letter-spacing: -0.03em; color: var(--violet-glow); margin-bottom: 10px; }
.sol-net__label { margin-top: 0; margin-bottom: 16px; }
.sol-qa { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(20px, 3vw, 48px); margin-top: 20px; align-items: start; }
.sol-qa__chips { display: flex; flex-wrap: wrap; gap: 8px; align-content: start; }
.sol-qa__chips button { padding: 11px 18px; border: 1px solid var(--line-dark); border-radius: 999px; background: none; color: #fff; font: inherit; font-size: 14.5px; cursor: pointer; text-align: left; transition: border-color .3s, background .3s; }
.sol-qa__chips button[aria-selected="true"] { border-color: var(--violet-glow); background: rgba(155,135,234,.18); }
@media (hover: hover) { .sol-qa__chips button:hover { border-color: var(--violet-glow); } }
.sol-qa__panel { padding: clamp(24px, 2.4vw, 36px); border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.03); min-height: 200px; }
.sol-qa__label { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.sol-qa__q { margin-top: 16px; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.3rem, 1rem + .9vw, 1.8rem); line-height: 1.2; letter-spacing: -0.02em; color: #fff; }
.sol-qa__a { margin-top: 12px; color: var(--on-dark-soft); font-size: 1.05rem; line-height: 1.6; }
@media (max-width: 899px) { .sol-qa { grid-template-columns: 1fr; } }

.rfilter { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding-bottom: 24px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.rfilter__label { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-faint); }
.rfilter__btns { display: flex; flex-wrap: wrap; gap: 6px; }
.rfilter__btns button { padding: 9px 18px; border: 1px solid var(--line); border-radius: 999px; background: none; font: inherit; font-size: 14px; color: var(--ink); cursor: pointer; transition: border-color .3s, background .3s, color .3s; }
.rfilter__btns button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
@media (hover: hover) { .rfilter__btns button:hover { border-color: var(--violet-deep); } }
[data-feature][hidden] { display: none !important; }
.research__list li[hidden] { display: none !important; }

.figures__item dd { font-size: clamp(3rem, 1.4rem + 4.2vw, 6.2rem); }
.figures__mag { font-size: .62em; margin-left: .04em; }
@media (max-width: 899px) { .figures__item dd { font-size: clamp(2.6rem, 1.2rem + 6vw, 4rem); } }

.reg__part.is-own { background: #EEEBFB; }
.sol-net__sub .sol-net__svc h3 { font-size: 1.2rem; font-weight: 400; letter-spacing: -0.01em; line-height: 1.25; max-width: none; }


.btable { margin-top: clamp(48px, 6vw, 88px); display: grid; grid-template-columns: 5fr 2px 6fr; align-items: stretch; }
.btable__tag { font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-faint); }
.btable__mine-side { display: grid; gap: 14px; align-content: start; padding: clamp(24px, 3vw, 40px); border-radius: 32px 0 0 32px; background: linear-gradient(180deg, #EEEBFB, #F4F2FB); box-shadow: inset 0 0 0 1px rgba(110,89,199,.25); }
.btable__duo { display: grid; gap: 4px; }
.btable__duo b { font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1.4rem + 1.6vw, 3rem); letter-spacing: -0.04em; color: var(--ink); line-height: 1.05; }
.btable__duo b span { color: var(--violet-deep); font-weight: 300; }
.btable__duo small { font-size: 13.5px; color: var(--ink-mute); }
.btable__tag--set { margin-top: 10px; }
.btable__mine { display: grid; gap: 10px; min-height: 212px; align-content: start; }
.btable__illus { font-size: 12px; color: var(--ink-faint); }
.btable__line { position: relative; background: var(--violet); }
.btable__line span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); white-space: nowrap; background: var(--violet); color: #fff; padding: 6px 14px; border-radius: 999px; }
.btable__banks { padding: clamp(24px, 3vw, 40px); display: grid; gap: 18px; align-content: start; }
.btable__banks .banks__note { margin-top: 0; max-width: 60ch; }
.btable__pool { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-content: start; min-height: 360px; }
.btable__pill { display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 999px; box-shadow: 0 10px 30px -14px rgba(14,14,20,.25), 0 0 0 1px rgba(14,14,20,.06); height: 64px; }
.btable__pill img { height: calc(var(--h) * 1px * var(--k, 1)); max-width: 78%; width: auto; display: block; }
.btable__mine .btable__pill { box-shadow: 0 0 0 1.5px var(--violet), 0 18px 40px -18px rgba(110,89,199,.5); }
@media (max-width: 899px) {
  .btable { grid-template-columns: 1fr; }
  .btable__mine-side { border-radius: 28px 28px 0 0; }
  .btable__line { height: 2px; margin-block: 20px; }
  .btable__line span { transform: translate(-50%, -50%); }
  .btable__banks { padding-inline: 0; }
  .btable__mine, .btable__pool { min-height: 0; }
  .btable__pill { height: 56px; --k: .8; }
}




.missing { display: block; margin: 14px 0 0; padding: 12px 14px; border: 1px dashed var(--violet-deep); border-radius: 8px;
  background: rgba(155, 135, 234, .08); color: var(--violet-deep); font-family: var(--font-text); font-size: 13.5px; line-height: 1.45; max-width: 62ch; }
.missing b { display: block; font-family: var(--font-display); font-weight: 600; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 3px; }
.missing--note { border-style: solid; border-color: rgba(110, 89, 199, .35); background: rgba(155, 135, 234, .05); }
.on-dark .missing { color: var(--violet-glow); border-color: var(--violet-glow); background: rgba(196, 181, 253, .08); }

.join-sec { padding: clamp(80px, 10vw, 160px) 0; background: var(--warm); }
.join-sec--soft { background: var(--soft); }
.join-sec--dark { background: var(--deep); }
.join-sec .section-title { margin: 0; }
.join-lead { font-size: var(--fs-lead); line-height: 1.5; color: var(--ink-mute); max-width: 56ch; margin: 24px 0 0; }


.join-hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; background: var(--deep); }
.join-hero__media { position: absolute; inset: 0; }
.join-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.join-hero__media::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(5,5,7,.86) 0%, rgba(5,5,7,.70) 38%, rgba(5,5,7,.28) 70%, rgba(5,5,7,.12) 100%),
              linear-gradient(180deg, rgba(5,5,7,.35) 0%, rgba(5,5,7,0) 30%, rgba(5,5,7,.55) 100%); }
.join-hero__title, .join-hero__lead { text-shadow: 0 1px 24px rgba(5,5,7,.35); }
.join-hero .missing { background: rgba(5,5,7,.55); }
@media (max-width: 899px) {
  .join-hero__media::after { background: linear-gradient(180deg, rgba(5,5,7,.40) 0%, rgba(5,5,7,.72) 32%, rgba(5,5,7,.84) 60%, rgba(5,5,7,.92) 100%); }
}
.join-hero__in { position: relative; padding-top: 140px; padding-bottom: clamp(48px, 7vw, 96px); display: grid; gap: 22px; }
.join-hero__title { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.6rem, 1.2rem + 5vw, 6rem); line-height: 1.02; letter-spacing: -0.05em; color: var(--on-dark); max-width: 14ch; }
.join-hero__lead { font-size: var(--fs-lead); line-height: 1.5; color: var(--on-dark-soft); max-width: 50ch; }
.join-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }


.join-glance { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 96px); margin-top: clamp(40px, 5vw, 72px); align-items: start; }
.join-glance__text p { font-size: var(--fs-lead); line-height: 1.55; color: var(--ink-soft); margin: 0 0 18px; max-width: 52ch; }
.join-figures { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(20px, 3vw, 40px); margin: 0; }
.join-figures__item { border-top: 1px solid var(--line-strong); padding: 18px 0 26px; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; }
.join-figures dt { font-size: var(--fs-small); color: var(--ink-mute); }
.join-figures dd { margin: 0; font-family: var(--font-display); font-weight: 200; font-size: clamp(2.4rem, 1.6rem + 2.4vw, 3.6rem); line-height: 1; letter-spacing: -0.045em; color: var(--ink); }
.join-figures dd .missing { margin: 0; font-size: 12.5px; letter-spacing: 0; line-height: 1.4; }


.join-values { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); }
.join-value__ph { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 14px; background: #ddd; }
.join-value__ph img { width: 100%; height: 100%; object-fit: cover; }
.join-value__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h4); letter-spacing: -0.01em; color: var(--ink); margin: 20px 0 6px; }
.join-value__text { color: var(--ink-mute); line-height: 1.5; margin: 0; }
.join-quote { margin: 16px 0 0; padding-left: 14px; border-left: 1px solid var(--violet); }
.join-quote p { font-family: var(--font-display); font-weight: 300; font-size: 1.02rem; line-height: 1.45; color: var(--ink); margin: 0 0 6px; }
.join-quote cite { font-style: normal; font-size: 12.5px; color: var(--ink-mute); }


.join-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.join-chip { min-height: 40px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: 999px; font-family: var(--font-display); font-size: 13px; font-weight: 500; color: var(--ink-soft); background: transparent; cursor: pointer; transition: background-color var(--d-hover) var(--ease-out), color var(--d-hover) var(--ease-out); }
.join-chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.join-team { list-style: none; margin: clamp(32px, 4vw, 56px) auto 0; padding: 0 var(--gutter); max-width: calc(var(--container) + 2 * var(--gutter)); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px) clamp(14px, 1.6vw, 24px); }
.join-card[hidden] { display: none; }
.join-card__btn { all: unset; display: block; width: 100%; cursor: pointer; }
.join-card__btn:focus-visible { outline: 2px solid var(--violet-deep); outline-offset: 6px; border-radius: 16px; }
.join-card__ph { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 16px; background: #000; }
.join-card__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: opacity var(--d-ui) var(--ease-out); }
.join-card__btn:hover .join-card__ph img { opacity: .82; }
.join-card__empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 14px; background: var(--soft); }
.join-card__play { position: absolute; left: 12px; bottom: 12px; padding: 7px 12px; border-radius: 999px; background: rgba(5,5,7,.62); color: #fff; font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.join-card__name { display: block; margin-top: 14px; font-family: var(--font-display); font-weight: 400; font-size: 1.15rem; color: var(--ink); }
.join-card__role { display: block; margin-top: 4px; font-size: var(--fs-small); color: var(--ink-mute); }

.join-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 20px; background: rgba(5,5,7,.78); }
.join-modal[hidden] { display: none; }
.join-modal__box { position: relative; width: min(960px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: var(--warm); border-radius: 16px; }
.join-modal__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(5,5,7,.6); color: #fff; font-size: 24px; cursor: pointer; }
.join-modal__video { aspect-ratio: 16 / 9; background: #000; }
.join-modal__video:empty { display: none; }
.join-modal__video iframe { width: 100%; height: 100%; border: 0; display: block; }
.join-modal__txt { padding: 24px clamp(20px, 3vw, 36px) 32px; }
.join-modal__name { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-h3); color: var(--ink); margin: 0; }
.join-modal__role { color: var(--ink-mute); margin: 4px 0 0; }


.join-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: clamp(32px, 4vw, 56px); padding: 0 10px; }
.join-gallery__it { margin: 0; overflow: hidden; border-radius: 10px; aspect-ratio: 3 / 2; }
.join-gallery__it--1, .join-gallery__it--6 { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.join-gallery__it img { width: 100%; height: 100%; object-fit: cover; display: block; }


.join-ways { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 48px); }
.join-ways li { border-top: 1px solid var(--line-strong); padding: 22px 0 34px; }
.join-ways__n { font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: .18em; color: var(--violet-deep); }
.join-ways h3 { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h4); color: var(--ink); margin: 10px 0 6px; }
.join-ways p { color: var(--ink-mute); line-height: 1.5; margin: 0; max-width: 34ch; }


.join-benefits { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(32px, 6vw, 96px); }
.join-benefits li { border-top: 1px solid var(--line); padding: 20px 0 22px; }
.join-benefits h3 { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h4); color: var(--ink); margin: 0 0 4px; }
.join-benefits p { color: var(--ink-mute); margin: 0; line-height: 1.5; }
.join-commit { margin: 36px 0 0; color: var(--ink-mute); font-size: var(--fs-small); }


.join-traits { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.join-traits li { padding: 9px 16px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: var(--fs-small); color: var(--ink-soft); }
.join-families { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 48px); margin-top: clamp(40px, 5vw, 64px); }
.join-family { border-top: 1px solid var(--line-strong); padding: 22px 0 34px; }
.join-family h3 { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h4); color: var(--ink); margin: 0 0 6px; }
.join-family__roles { color: var(--violet-deep); font-size: var(--fs-small); margin: 0 0 10px; }
.join-family p { color: var(--ink-mute); line-height: 1.5; margin: 0; }


.join-jobs { list-style: none; margin: clamp(32px, 4vw, 56px) 0 28px; padding: 0; border-top: 1px solid var(--line-dark-strong); }
.join-job { display: grid; grid-template-columns: 1fr auto; gap: 6px 24px; padding: 24px 0; border-bottom: 1px solid var(--line-dark-strong); color: var(--on-dark); }
.join-job__title { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-h3); }
.join-job__meta { grid-column: 1; color: var(--on-dark-mute); font-size: var(--fs-small); }
.join-job__go { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--violet-glow); }
.join-job:hover .join-job__title { color: var(--violet-glow); }


.join-process { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: start; }
.join-form { display: grid; gap: 16px; padding: clamp(24px, 3vw, 40px); background: var(--paper); border: 1px solid var(--line); border-radius: 16px; }
.join-form__title { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-h3); color: var(--ink); margin: 0 0 4px; }
.join-field { display: grid; gap: 6px; font-size: var(--fs-small); color: var(--ink-soft); }
.join-field input, .join-field select, .join-field textarea { font: inherit; font-size: 15px; color: var(--ink); padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--warm); width: 100%; box-sizing: border-box; }
.join-field input:focus, .join-field select:focus, .join-field textarea:focus { outline: 2px solid var(--violet-deep); outline-offset: 1px; }
.join-consent { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-small); color: var(--ink-soft); line-height: 1.45; }
.join-form .btn[disabled] { opacity: .45; cursor: not-allowed; }


.job-hero { background: var(--warm); padding: calc(80px + clamp(48px, 7vw, 112px)) 0 clamp(48px, 6vw, 80px); }
.job-hero .container { display: grid; gap: 20px; }
.job-back { justify-self: start; }
.job-facts { display: grid; grid-template-columns: repeat(4, minmax(0, max-content)); gap: 12px 40px; margin: 8px 0 0; }
.job-facts dt { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-faint); }
.job-facts dd { margin: 4px 0 0; color: var(--ink); }
.job-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.btn.is-disabled { opacity: .45; cursor: not-allowed; }
.job-body { background: var(--warm); padding: 0 0 clamp(80px, 9vw, 140px); }
.job-body__in { max-width: 820px; }
.job-block { border-top: 1px solid var(--line-strong); padding: 32px 0 36px; }
.job-block__title { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-h3); color: var(--ink); margin: 0 0 12px; }
.job-block__intro { color: var(--ink-soft); line-height: 1.55; margin: 0 0 12px; }
.job-block ul { margin: 0; padding-left: 1.1em; color: var(--ink-soft); line-height: 1.6; }
.job-block li { margin: 4px 0; }

@media (max-width: 1100px) {
  .join-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .join-ways, .join-families { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .join-glance, .join-process, .join-benefits { grid-template-columns: 1fr; }
  .join-ways, .join-families { grid-template-columns: 1fr; }
  .join-gallery { grid-template-columns: 1fr 1fr; }
  .join-gallery__it--1, .join-gallery__it--6 { grid-column: span 2; grid-row: auto; aspect-ratio: 3 / 2; }
  
  .join-team { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 8px; scrollbar-width: none; }
  .join-team::-webkit-scrollbar { display: none; }
  .join-card { flex: 0 0 68%; scroll-snap-align: start; }
  .job-facts { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .join-values { grid-template-columns: 1fr; }
  .join-hero__ctas .btn { width: 100%; }
}


.figures__item dd { font-variant-numeric: proportional-nums lining-nums; }
.figures__unit--pre { align-self: flex-start; margin: .55em 6px 0 0; line-height: 1; }
.figures__item dt { max-width: 26ch; text-wrap: balance; }
.figures__note { margin-top: clamp(40px, 4vw, 64px); color: rgba(255, 255, 255, .64); }

.sol-cards__card > span { display: block; min-height: var(--sol-txt-h, 0px); }

.join-form__status { margin: 0; font-size: var(--fs-small); color: #9b2c2c; }
.join-form--sent p { margin: 0; color: var(--ink-soft); }
.join-hp { display: none !important; }
.join-card__initial { font-family: var(--font-display); font-weight: 200; font-size: 3rem; color: var(--ink-mute); }

@media (max-width: 899px) { .join-team { scroll-padding-inline: var(--gutter); } }



.nav-badge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 6px; padding: 0 5px; border-radius: 9px; background: var(--violet); color: #fff; font-size: 11px; font-weight: 600; line-height: 1; vertical-align: 2px; }

.join-hiring { background: var(--ink); color: #fff; }
.join-hiring__in { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-block: 18px; }
.join-hiring__tag { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--violet-glow); }
.join-hiring__tag i { width: 8px; height: 8px; border-radius: 50%; background: var(--violet-glow); box-shadow: 0 0 0 0 rgba(155,135,245,.6); animation: join-ping 2s infinite; }
@keyframes join-ping { 0% { box-shadow: 0 0 0 0 rgba(155,135,245,.55); } 70%, 100% { box-shadow: 0 0 0 10px rgba(155,135,245,0); } }
@media (prefers-reduced-motion: reduce) { .join-hiring__tag i { animation: none; } }
.join-hiring__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; flex: 1; }
.join-hiring__list a { display: inline-flex; align-items: baseline; gap: 12px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; transition: border-color var(--d-ui), background var(--d-ui); }
.join-hiring__list a:hover { border-color: var(--violet-glow); background: rgba(155,135,245,.12); }
.join-hiring__list b { font-weight: 500; }
.join-hiring__list span { color: var(--on-dark-mute); font-size: var(--fs-small); }
.join-hiring__list em { font-style: normal; color: var(--violet-glow); font-size: var(--fs-small); }
.join-hiring__list em::after { content: " →"; }

.join-card__play { display: inline-flex; align-items: center; gap: 9px; left: 12px; bottom: 12px; padding: 9px 15px 9px 10px; background: var(--violet); font-size: 12px; box-shadow: 0 6px 20px rgba(5,5,7,.35); }
.join-card__play i { width: 22px; height: 22px; border-radius: 50%; background: #fff; position: relative; flex: none; }
.join-card__play i::after { content: ""; position: absolute; left: 8px; top: 6px; border-left: 8px solid var(--violet); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.join-card__play--soon { background: rgba(5,5,7,.55); box-shadow: none; padding: 7px 12px; }
.join-card__btn:hover .join-card__play:not(.join-card__play--soon) { background: var(--violet-deep); }
.join-card__bio { margin: 8px 0 0; font-size: var(--fs-small); line-height: 1.5; color: var(--ink-soft); }
.join-card > .missing { margin-top: 10px; }

.join-gallery__it--6 { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 21 / 8; }
@media (max-width: 899px) { .join-gallery__it--6 { aspect-ratio: 3 / 2; } }


.job-photo { margin: 0 auto; max-width: calc(var(--container) + 2 * var(--gutter)); padding: 0 var(--gutter); background: var(--warm); }
.job-photo img { display: block; width: 100%; aspect-ratio: 21 / 8; object-fit: cover; border-radius: 18px; }
.job-body { padding-top: clamp(40px, 5vw, 72px); }
.job-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 80px); align-items: start; }
.job-main { min-width: 0; }
.job-block { border-top: 1px solid var(--line-strong); padding: 30px 0 34px; }
.job-block:first-child { border-top: 0; padding-top: 0; }
.job-block__title { display: flex; align-items: baseline; gap: 14px; }
.job-block__n { font-family: var(--font-display); font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--violet-deep); }
.job-list { list-style: none; padding: 0 !important; display: grid; gap: 10px; }
.job-list li { position: relative; padding-left: 26px; margin: 0; }
.job-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 12px; height: 2px; border-radius: 2px; background: var(--violet); }
.job-block__outro { margin-top: 16px; color: var(--ink); font-weight: 500; }
.job-inline-photo { margin: 6px 0 30px; }
.job-inline-photo img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; }
.job-aside { position: sticky; top: 104px; }
.job-perks { background: #EEEBFB; border-radius: 18px; padding: 28px 26px; display: grid; gap: 18px; }
.job-perks__title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: 1.35rem; color: var(--ink); letter-spacing: -0.01em; }
.job-perks dl { margin: 0; display: grid; gap: 14px; }
.job-perks dl > div { padding-top: 14px; border-top: 1px solid rgba(75,42,140,.16); }
.job-perks dt { font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--violet-deep); }
.job-perks dd { margin: 4px 0 0; color: var(--ink); line-height: 1.45; }
.job-perks__btn { justify-self: stretch; text-align: center; }
@media (max-width: 899px) {
  .job-layout { grid-template-columns: 1fr; }
  .job-aside { position: static; }
  .job-photo img { aspect-ratio: 3 / 2; }
}

.join-anchors { position: sticky; top: 64px; z-index: 5; background: rgba(250,250,247,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.join-anchors__in { display: flex; gap: 6px; overflow-x: auto; padding-block: 10px; scrollbar-width: none; }
.join-anchors__in::-webkit-scrollbar { display: none; }
.join-anchors a { flex: none; padding: 7px 14px; border-radius: 999px; font-size: 13.5px; color: var(--ink-soft); white-space: nowrap; transition: background var(--d-ui), color var(--d-ui); }
.join-anchors a:hover { background: #EEEBFB; color: var(--violet-deep); }
.join-fit { background: #EEEBFB; }
.join-fit__list { list-style: none; margin: clamp(28px, 4vw, 48px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.join-fit__list li { padding: 24px 22px 26px; background: var(--paper); border: 1px solid rgba(75,42,140,.14); border-radius: 16px; display: grid; gap: 18px; align-content: start; transition: border-color var(--d-ui), transform var(--d-ui), box-shadow var(--d-ui); }
.join-fit__list li:hover { border-color: var(--violet); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(75,42,140,.10); }
.join-fit__n { font-family: var(--font-display); font-weight: 200; font-size: 2.4rem; letter-spacing: -0.04em; color: var(--violet-deep); line-height: 1; }
.join-fit__list p { margin: 0; font-size: 1.08rem; line-height: 1.45; color: var(--ink); }
.join-fit__outro { margin: 28px 0 0; color: var(--violet-deep); font-family: var(--font-display); font-size: 1.15rem; }
.join-steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 0; counter-reset: s; }
.join-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); }
.join-steps__n { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #EEEBFB; color: var(--violet-deep); font-family: var(--font-display); font-weight: 600; font-size: 14px; }
.join-steps h3 { margin: 6px 0 4px; font-family: var(--font-display); font-weight: 400; font-size: 1.15rem; color: var(--ink); }
.join-steps p { margin: 0; color: var(--ink-soft); line-height: 1.5; font-size: 15px; }
.join-contact { margin-top: 24px; display: flex; gap: 16px; align-items: center; padding: 16px; border-radius: 16px; background: var(--paper); border: 1px solid var(--line); }
.join-contact img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; flex: none; }
.join-contact__name { margin: 0; font-family: var(--font-display); font-size: 1.1rem; color: var(--ink); }
.join-contact__role { margin: 2px 0 0; font-size: var(--fs-small); color: var(--ink-mute); }
.join-contact .missing { margin-top: 8px; }
.join-faq { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 80px); align-items: start; }
.join-faq__list { display: grid; gap: 10px; }
.join-faq__it { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 0 22px; transition: border-color var(--d-ui); }
.join-faq__it[open] { border-color: rgba(75,42,140,.35); }
.join-faq__it summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-family: var(--font-display); font-size: 1.08rem; color: var(--ink); }
.join-faq__it summary::-webkit-details-marker { display: none; }
.join-faq__it summary i { position: relative; width: 14px; height: 14px; flex: none; }
.join-faq__it summary i::before, .join-faq__it summary i::after { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; border-radius: 2px; background: var(--violet-deep); transition: transform var(--d-ui); }
.join-faq__it summary i::after { transform: rotate(90deg); }
.join-faq__it[open] summary i::after { transform: rotate(0deg); }
.join-faq__it p { margin: 0 0 20px; color: var(--ink-soft); line-height: 1.6; }
@media (max-width: 899px) {
  .join-anchors { top: 56px; }
  .join-fit__list { grid-template-columns: 1fr 1fr; }
  .join-faq { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .join-fit__list { grid-template-columns: 1fr; } }
@media (max-width: 599px) {
  .join-hiring__list { flex: 1 1 100%; }
  .join-hiring__list li { width: 100%; }
  .join-hiring__list a { display: grid; gap: 2px; width: 100%; border-radius: 14px; padding: 12px 16px; }
}


:root { interpolate-size: allow-keywords; }
.join-sec { padding: clamp(72px, 8vw, 128px) 0; }

.motion .join-hero__media img { animation: join-settle 2.2s var(--ease-out) both; }
@keyframes join-settle { from { transform: scale(1.08); } to { transform: scale(1); } }
.motion .join-hero__in > * { animation: join-up 1s var(--ease-out) both; }
.motion .join-hero__in > :nth-child(2) { animation-delay: .12s; }
.motion .join-hero__in > :nth-child(3) { animation-delay: .24s; }
@keyframes join-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

.join-anchors__in { justify-content: center; }
.join-anchors a.is-on { background: var(--ink); color: #fff; }
.join-anchors__bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; }
.join-anchors__bar i { display: block; height: 100%; background: var(--violet); transform-origin: left; transform: scaleX(0); }
@media (max-width: 899px) { .join-anchors__in { justify-content: flex-start; } }

.motion .join-sec .section-title { opacity: 0; transform: translateY(30px); }
.motion .join-sec .section-title.is-in { opacity: 1; transform: none; transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }

.join-figures { gap: 12px; }
.join-figures__item { border: 0; padding: 22px 22px 24px; border-radius: 18px; background: var(--soft); }

.join-value__ph { border-radius: 20px; }
.join-value__ph img { transition: transform 1.2s var(--ease-out); }
.join-value:hover .join-value__ph img { transform: scale(1.05); }

.join-chip { transition: background-color var(--d-hover) var(--ease-out), color var(--d-hover) var(--ease-out), border-color var(--d-hover) var(--ease-out); }
.join-chip:hover { border-color: var(--ink); }
.join-card__ph { border-radius: 20px; }
.join-card__ph img { transition: transform 1s var(--ease-out); }
.join-card__btn:hover .join-card__ph img { opacity: 1; transform: scale(1.045); }
.join-card.is-pop { animation: join-pop .55s var(--ease-out) both; }
@keyframes join-pop { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }

.join-sec--dark { margin-inline: clamp(8px, 1vw, 14px); border-radius: clamp(20px, 2.4vw, 32px); }
.join-gallery-sec { padding: 10px 0; }
.join-gallery-sec .container:has(.missing) { padding-block: 40px 30px; }
.join-gallery { padding: 0; margin: 0 10px; }
.join-gallery__it { border-radius: clamp(14px, 1.6vw, 22px); }
.join-gallery__it img { transition: transform 1.4s var(--ease-out); }
.join-gallery__it:hover img { transform: scale(1.04); }
.motion .join-gallery__it[data-rise] { opacity: 1; transform: none; clip-path: inset(12% 6% 12% 6% round 22px); }
.motion .join-gallery__it.is-in { clip-path: inset(0 0 0 0 round 22px); transition: clip-path 1.3s var(--ease-out); }

.join-ways { gap: 14px; }
.join-ways li { border: 1px solid var(--line); border-radius: 20px; background: var(--paper); padding: 26px 26px 30px; transition: border-color var(--d-ui), transform var(--d-ui) var(--ease-out), box-shadow var(--d-ui); }
.join-ways li:hover { border-color: rgba(110,89,199,.45); transform: translateY(-4px); box-shadow: 0 16px 36px rgba(20,20,28,.07); }
.join-ways__n { display: block; font-weight: 200; font-size: 2.2rem; letter-spacing: -0.04em; line-height: 1; margin-bottom: 26px; }
.join-ways h3 { margin-top: 0; }

.join-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.join-benefits li { border: 0; border-radius: 20px; background: var(--paper); padding: 26px 26px 28px; transition: transform var(--d-ui) var(--ease-out), box-shadow var(--d-ui); }
.join-benefits li:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(20,20,28,.07); }
.join-benefits h3 { margin-bottom: 8px; }
.join-benefits h3::before { content: ""; display: block; width: 28px; height: 2px; background: var(--violet); margin-bottom: 22px; }

.join-jobs { border-top: 0; display: grid; gap: 10px; }
.join-job { border: 1px solid var(--line-dark-strong); border-radius: 20px; padding: 28px clamp(20px, 3vw, 36px); transition: background var(--d-ui), border-color var(--d-ui); }
.join-job:hover { background: rgba(155,135,245,.08); border-color: rgba(155,135,245,.5); }
.join-job__go { display: inline-flex; align-items: center; gap: 14px; }
.join-job__go i { position: relative; width: 48px; height: 48px; border-radius: 50%; background: var(--violet); transition: transform var(--d-ui) var(--ease-out), background var(--d-ui); }
.join-job__go i::after { content: "→"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 18px; letter-spacing: 0; font-style: normal; }
.join-job:hover .join-job__go i { transform: translateX(6px); background: var(--violet-glow); }

.join-steps { position: relative; }
.join-steps li { border-top: 0; padding: 14px 0 22px; position: relative; }
.join-steps li:not(:last-child)::before { content: ""; position: absolute; left: 17px; top: 54px; bottom: -6px; width: 2px; background: #E6E2F6; }
.join-steps li:not(:last-child)::after { content: ""; position: absolute; left: 17px; top: 54px; bottom: -6px; width: 2px; background: var(--violet); transform-origin: top; transform: scaleY(var(--fill, 1)); }
.join-steps__n { position: relative; z-index: 1; transition: background var(--d-ui), color var(--d-ui); }
.join-steps li.is-on .join-steps__n { background: var(--violet-deep); color: #fff; }
.join-contact { border-radius: 20px; }

.join-form { border-radius: 24px; border: 0; box-shadow: 0 1px 0 var(--line), 0 24px 60px rgba(20,20,28,.06); }
.join-field input, .join-field select, .join-field textarea { border-color: transparent; background: var(--soft); border-radius: 12px; transition: border-color var(--d-ui), background var(--d-ui), box-shadow var(--d-ui); }
.join-field input:hover, .join-field select:hover, .join-field textarea:hover { border-color: var(--line-strong); }
.join-field input:focus, .join-field select:focus, .join-field textarea:focus { outline: 0; border-color: var(--violet-deep); background: var(--paper); box-shadow: 0 0 0 4px rgba(155,135,234,.22); }
.join-field input[type="file"] { padding: 10px; cursor: pointer; }
.join-field input[type="file"]::file-selector-button { margin-right: 14px; padding: 9px 16px; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font: inherit; font-size: 13px; cursor: pointer; }
.join-form .btn--primary { width: 100%; justify-content: center; }

.join-faq__it { transition: border-color var(--d-ui), box-shadow var(--d-ui); }
.join-faq__it:hover { border-color: rgba(110,89,199,.35); }
.join-faq__it[open] { box-shadow: 0 12px 30px rgba(20,20,28,.05); }
.join-faq__it::details-content { block-size: 0; overflow: hidden; transition: block-size .45s var(--ease-out), content-visibility .45s allow-discrete; }
.join-faq__it[open]::details-content { block-size: auto; }
@media (max-width: 1099px) { .join-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px) {
  .join-ways { grid-template-columns: 1fr 1fr; }
  .join-benefits { grid-template-columns: 1fr; gap: 10px; }
  .join-figures { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 599px) {
  .join-ways { grid-template-columns: 1fr; gap: 10px; }
  .join-ways__n { margin-bottom: 14px; }
  .join-job { padding: 22px 20px; }
  .join-job__go { font-size: 0; gap: 0; }
  .join-job__go i { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  :root:not(.force-motion) .join-card.is-pop { animation: none; }
}
@media (max-width: 599px) {
  .join-benefits li, .join-ways li { padding: 20px 20px 22px; }
  .join-benefits h3::before { margin-bottom: 14px; }
  .join-sec--dark { margin-inline: 8px; border-radius: 20px; }
}


.job-hero { position: relative; overflow: hidden; }
.job-hero__glow { position: absolute; right: -12vw; top: -18vw; width: 52vw; height: 52vw; border-radius: 50%; background: radial-gradient(circle, rgba(155,135,234,.28) 0%, rgba(155,135,234,0) 66%); pointer-events: none; }
.job-hero .container { position: relative; }
.job-eyebrow { margin: 18px 0 0; display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--violet-deep); }
.job-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: var(--violet); animation: join-ping 2s infinite; }
.job-title { font-size: clamp(2.8rem, 1.2rem + 5.4vw, 6.4rem); max-width: 12ch; }
.job-facts { grid-template-columns: none; display: flex; flex-wrap: wrap; gap: 8px; }
.job-facts > div { padding: 10px 18px 11px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); }
.job-facts dt { font-size: 10.5px; }
.job-facts dd { margin-top: 2px; font-size: 15px; }
.motion .job-hero .container > * { animation: join-up .9s var(--ease-out) both; }
.motion .job-hero .container > :nth-child(3) { animation-delay: .08s; }
.motion .job-hero .container > :nth-child(4) { animation-delay: .16s; }
.motion .job-hero .container > :nth-child(5) { animation-delay: .24s; }
.job-photo img { border-radius: clamp(18px, 2vw, 28px); }
.motion .job-photo img { animation: join-settle 1.8s var(--ease-out) both; }
.job-photo { overflow: hidden; }

.job-block { border-top: 0; padding: clamp(40px, 5vw, 64px) 0 0; }
.job-block__title { font-size: clamp(1.9rem, 1.2rem + 1.8vw, 2.7rem); font-weight: 200; letter-spacing: -0.035em; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.job-block__n { display: inline-flex; padding: 6px 12px; border-radius: 999px; background: #EEEBFB; }
.job-block__intro { font-size: 1.12rem; color: var(--ink-soft); max-width: 58ch; margin-bottom: 22px; }
.job-block__outro { margin: 26px 0 0; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.4rem, 1rem + 1.2vw, 1.9rem); line-height: 1.25; letter-spacing: -0.02em; color: var(--ink); max-width: 30ch; }
.job-block__outro::before { content: ""; display: block; width: 40px; height: 2px; background: var(--violet); margin-bottom: 18px; }


.job-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.job-tiles li { padding: 18px 20px 20px; border-radius: 16px; background: var(--paper); border: 1px solid var(--line); line-height: 1.45; color: var(--ink); transition: border-color var(--d-ui), transform var(--d-ui) var(--ease-out); }
.job-tiles li:hover { border-color: rgba(110,89,199,.45); transform: translateY(-3px); }
.job-tiles span { display: block; margin-bottom: 10px; font-family: var(--font-display); font-weight: 200; font-size: 1.6rem; letter-spacing: -0.04em; line-height: 1; color: var(--violet-deep); }


.job-checks { list-style: none; margin: 0; padding: clamp(22px, 3vw, 34px); display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; border-radius: 22px; background: var(--soft); }
.job-checks li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; line-height: 1.45; color: var(--ink); }
.job-checks i { width: 24px; height: 24px; border-radius: 50%; background: var(--violet-deep); position: relative; margin-top: -1px; }
.job-checks i::after { content: ""; position: absolute; left: 8px; top: 5px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }


.job-block--dark { margin-top: clamp(40px, 5vw, 64px); padding: clamp(30px, 4vw, 52px); border-radius: 26px; background: var(--deep); color: var(--on-dark); }
.job-block--dark .job-block__title { color: #fff; }
.job-block--dark .job-block__n { background: rgba(155,135,245,.18); color: var(--violet-glow); }
.job-block--dark .job-block__intro { color: var(--on-dark-soft); }
.job-statements { list-style: none; margin: 0; padding: 0; display: grid; }
.job-statements li { padding: 16px 0; border-top: 1px solid var(--line-dark-strong); font-family: var(--font-display); font-weight: 300; font-size: clamp(1.15rem, .95rem + .6vw, 1.45rem); line-height: 1.3; letter-spacing: -0.015em; transition: color var(--d-ui), padding var(--d-ui) var(--ease-out); }
.job-statements li:hover { color: var(--violet-glow); padding-left: 10px; }


.job-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; position: relative; }
.job-flow::before { content: ""; position: absolute; left: 22px; right: 22px; top: 22px; height: 2px; background: linear-gradient(90deg, var(--violet-deep), #E6E2F6); }
.job-flow li { position: relative; }
.job-flow__n { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--violet-deep); color: #fff; font-family: var(--font-display); font-weight: 600; box-shadow: 0 0 0 6px var(--warm); }
.job-flow p { margin: 18px 0 0; line-height: 1.5; color: var(--ink); padding-right: 10px; }


.job-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.job-cards li { padding: 22px 20px 24px; border-radius: 18px; background: #EEEBFB; color: var(--ink); line-height: 1.45; transition: background var(--d-ui), transform var(--d-ui) var(--ease-out); }
.job-cards li::before { content: "✦"; display: block; margin-bottom: 14px; color: var(--violet-deep); font-size: 15px; }
.job-cards li:hover { background: #E4DEFA; transform: translateY(-3px); }

.job-inline-photo { margin: clamp(40px, 5vw, 64px) 0 0; overflow: hidden; border-radius: 22px; }
.job-inline-photo img { border-radius: 0; transition: transform 1.4s var(--ease-out); }
.job-inline-photo:hover img { transform: scale(1.03); }
.job-main > .job-ctas { margin-top: 40px; }
.job-perks { border-radius: 24px; box-shadow: 0 24px 60px rgba(75,42,140,.10); }


.job-mbar { display: none; }
@media (max-width: 899px) {
  .job-mbar { position: fixed; z-index: 40; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 18px; background: rgba(5,5,7,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; transform: translateY(140%); transition: transform .5s var(--ease-out); }
  .job-mbar.is-on { transform: none; }
  .job-mbar span { display: grid; font-size: 12.5px; color: var(--on-dark-mute); line-height: 1.3; }
  .job-mbar b { color: #fff; font-weight: 500; font-size: 14.5px; }
  .job-mbar .btn { flex: none; }
  .job-tiles, .job-cards { grid-template-columns: 1fr 1fr; }
  .job-body { padding-bottom: 110px; }
}
@media (max-width: 599px) {
  .job-tiles, .job-checks, .job-cards { grid-template-columns: 1fr; }
  .job-checks { gap: 14px; }
  .job-flow { grid-template-columns: 1fr; gap: 0; }
  .job-flow::before { left: 21px; right: auto; top: 22px; bottom: 22px; width: 2px; height: auto; background: linear-gradient(180deg, var(--violet-deep), #E6E2F6); }
  .job-flow li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding-bottom: 20px; }
  .job-flow p { margin: 10px 0 0; }
  .job-block--dark { margin-inline: calc(-1 * var(--gutter) + 8px); border-radius: 20px; padding: 28px 22px; }
}
.job-block .job-statements, .job-block .job-cards, .job-block .job-tiles, .job-block .job-flow { padding: 0; }
.job-block .job-statements { color: #fff; }
.job-statements li { color: rgba(255,255,255,.92); margin: 0; }
.job-block .job-checks { padding: clamp(22px, 3vw, 34px); }
.job-checks li, .job-cards li, .job-tiles li { margin: 0; }
@media (max-width: 599px) {
  .job-tiles { gap: 8px; }
  .job-tiles li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: baseline; padding: 14px 16px; }
  .job-tiles span { margin: 0; font-size: 1.25rem; }
  .job-cards li { padding: 16px 18px; display: grid; grid-template-columns: 22px 1fr; gap: 8px; }
  .job-cards li::before { margin: 0; }
}

.job-block .job-bullets { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; }
.job-bullets li { position: relative; margin: 0; padding: 14px 0 14px 30px; border-bottom: 1px solid var(--line); line-height: 1.45; color: var(--ink); transition: padding var(--d-ui) var(--ease-out); }
.job-bullets li::before { content: ""; position: absolute; left: 2px; top: 21px; width: 10px; height: 10px; border-radius: 3px; background: var(--violet); transform: rotate(45deg); transition: background var(--d-ui), transform var(--d-ui) var(--ease-out); }
.job-bullets li:hover { padding-left: 36px; }
.job-bullets li:hover::before { background: var(--violet-deep); transform: rotate(135deg); }
@media (max-width: 599px) { .job-block .job-bullets { grid-template-columns: 1fr; } }

.job-photo img { aspect-ratio: 16 / 7; object-position: 50% 12%; }
@media (max-width: 899px) { .job-photo img { aspect-ratio: 4 / 3; object-position: 50% 20%; } }

.motion section:target .section-title, .motion section:has(:target) .section-title,
.motion section:target [data-rise], .motion section:has(:target) [data-rise] { opacity: 1 !important; transform: none !important; transition: none !important; }

.join-sec, .join-sec .section-title { scroll-margin-top: 124px; }
@media (max-width: 899px) { .join-sec, .join-sec .section-title { scroll-margin-top: 112px; } }

.join-mbar b { display: inline-flex; align-items: center; gap: 8px; }
.join-mbar b i { width: 7px; height: 7px; border-radius: 50%; background: var(--violet-glow); animation: join-ping 2s infinite; }
@media (max-width: 899px) { .join-mbar .btn { padding-inline: 16px; } }

.job-mbar .btn--primary { background: var(--violet); border-color: var(--violet); color: #fff; }
.job-mbar .btn--primary:hover { background: var(--violet-deep); border-color: var(--violet-deep); }

@media (min-width: 900px) {
  .join-mbar { position: fixed; z-index: 40; right: 28px; bottom: 28px; display: flex; align-items: center; gap: 22px; padding: 10px 10px 10px 22px; border-radius: 999px; background: rgba(5,5,7,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; box-shadow: 0 18px 50px rgba(5,5,7,.25); transform: translateY(160%); opacity: 0; transition: transform .5s var(--ease-out), opacity .35s; }
  .join-mbar.is-on { transform: none; opacity: 1; }
  .join-mbar span { display: grid; font-size: 12.5px; color: var(--on-dark-mute); line-height: 1.35; }
  .join-mbar b { color: #fff; font-weight: 500; font-size: 14px; }
  .join-mbar .btn { border-radius: 999px; }
}

body:has(.join-anchors) .site-header[data-theme="light"] { background: rgba(250,250,247,.97); border-bottom-color: transparent; }
.join-anchors { background: rgba(250,250,247,.97); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }

[tabindex="-1"]:focus, [tabindex="-1"]:focus-visible { outline: none; }


.entry__word--long { white-space: normal; font-size: clamp(2.3rem, 0.2rem + 8.4vw, 10rem); line-height: .9; max-width: 11ch; }

html[lang="fr"] .inv-cycle__q b { padding-right: 34px; font-size: .9em; hyphens: auto; }


.site-nav a { white-space: nowrap; }
@media (min-width: 900px) and (max-width: 1199px) {
  html[lang="fr"] .site-nav { gap: 22px; }
  html[lang="fr"] .site-header__bar { gap: 28px; }
}
html[lang="fr"] .inv-cycle__q small > span { display: block; }
html[lang="fr"] .inv-cycle__q small .inv-cycle__sep { display: none; }
@media (max-width: 899px) {
  html[lang="fr"] .inv-cycle__ax { letter-spacing: .08em; font-size: 9.5px; }
  html[lang="fr"] .inv-cycle__q { padding: 10px; }
  html[lang="fr"] .inv-cycle__q b { font-size: .95rem; padding-right: 24px; hyphens: manual; }
}
html[lang="fr"] .hero__band .t-eyebrow, html[lang="fr"] .site-footer__bottom .t-eyebrow { text-wrap: balance; }
@media (max-width: 899px) {
  html[lang="fr"] .inv-cycle__plus { top: 10px; bottom: auto; }
  html[lang="fr"] .inv-cycle__q b { padding-right: 0; }
  html[lang="fr"] .inv-cycle__q small { padding-right: 26px; }
}


.sol-mand { margin-top: clamp(48px, 6vw, 88px); padding: clamp(28px, 4vw, 64px); background: var(--deep); color: #fff; border-radius: clamp(20px, 2.4vw, 32px); }
.sol-mand__head { font-family: var(--font-display); font-weight: 200; font-size: clamp(2rem, 1.3rem + 2.4vw, 3.4rem); line-height: 1.05; letter-spacing: -0.04em; color: #fff; }
.sol-mand .ops__lead { margin-top: 18px; }
.sol-mand .sol-mand__tabs { margin-top: 32px; }
.sol-mand .sol-mand__body { margin-top: 40px; }
.sol-mand + .cap__link { margin-top: 40px; }
@media (max-width: 599px) { .sol-mand { padding: 28px 20px; } }
