
.section.ibanner {
  padding-block: 0 clamp(56px, 6vw, 96px);
}
.ibar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  padding-block: var(--sp-4);
  border-bottom: 1px solid var(--rule-track);
  font-size: var(--fs-xs);
}
.ibar__crumb {
  display: flex;
  gap: var(--sp-2);
  margin: 0;
  color: var(--text-secondary);
  white-space: nowrap;
}
.ibar__list :is(a, span) {
  display: inline-flex;
  align-items: center;
}
.ibar a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--dur-hover) var(--ease);
}
.ibar a:hover,
.ibar a:focus-visible {
  color: var(--text-primary);
}
.ibar__list {
  display: flex;
  align-items: center;
  gap: var(--sp-5);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ibar__list [aria-current="page"] {
  color: var(--text-primary);
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
}
.ibar__list span[aria-current="page"]::before {
  content: "";
  width: var(--dot-sm);
  height: var(--dot-sm);
  border-radius: var(--radius-circle);
  background: var(--text-accent-on-inverse);
}
.ihead {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: var(--sp-7) var(--sp-8);
  align-items: end;
  padding-top: clamp(56px, 7vw, 112px);
}
.ihead__title {
  margin: var(--sp-4) 0 0;
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: var(--lh-display);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
  animation: ihead-focus 1s var(--ease-out) backwards;
}
.ihead__side {
  display: grid;
  gap: var(--sp-5);
  animation: ihead-rise 0.9s var(--ease-out) 0.12s backwards;
}
.ihead__lede {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--fs-lede);
  line-height: var(--lh-body);
}
.ihead__side .cta-row {
  margin: 0;
}
.ireel {
  position: relative;
  margin-top: clamp(48px, 6vw, 88px);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--c-neutral-900);
  animation: ihead-rise 1.1s var(--ease-out) 0.25s backwards;
}
.ireel__screen {
  position: relative;
  aspect-ratio: 21 / 9;
}
.ireel__film {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  scale: var(--zoom-media);
  transition:
    opacity 0.9s var(--ease-out),
    scale 2.4s var(--ease-out);
}
.ireel__film.is-on {
  opacity: 1;
  scale: 1;
}
.ireel__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    color-mix(in srgb, var(--c-neutral-900) 88%, transparent) 0%,
    color-mix(in srgb, var(--c-neutral-900) 40%, transparent) 38%,
    transparent 62%
  );
  pointer-events: none;
}
.ireel__cap {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: var(--sp-4);
  padding: var(--sp-6) var(--sp-7) var(--sp-7);
}
.ireel__label {
  margin: 0;
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  color: var(--text-secondary);
}
.ireel__tabs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: var(--sp-5);
}
.ireel__tab {
  position: relative;
  display: grid;
  gap: var(--sp-1);
  padding-top: var(--sp-4);
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--dur-hover) var(--ease);
}
.ireel__tab.is-on,
.ireel__tab:hover,
.ireel__tab:focus-visible {
  color: var(--text-primary);
}
.ireel__name {
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: var(--lh-title);
}
.ireel__sub {
  overflow: hidden;
  font-size: var(--fs-2xs);
  color: var(--text-secondary);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ireel__line {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  overflow: hidden;
  background: var(--rule-track);
}
.ireel__line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--text-primary);
  transform-origin: left;
  scale: 0 1;
}
.ireel__tab.is-on .ireel__line::after {
  scale: 1 1;
}
.ireel.is-running .ireel__tab.is-on .ireel__line::after {
  animation: ireel-line var(--reel-dwell, 6.5s) linear both;
}
@keyframes ireel-line {
  from {
    scale: 0 1;
  }
}
@keyframes ihead-focus {
  from {
    opacity: 0;
    filter: blur(8px);
    translate: 0 16px;
  }
}
@keyframes ihead-rise {
  from {
    opacity: 0;
    translate: 0 24px;
  }
}
@media (max-width: 860px) {
  .ibar__crumb {
    display: none;
  }
  .ibar__list {
    gap: var(--sp-4);
    overflow-x: auto;
    scrollbar-width: none;
    mask-image: linear-gradient(
      to right,
      var(--c-neutral-900) calc(100% - var(--chips-fade)),
      transparent
    );
    animation: chips-fade linear both;
    animation-timeline: scroll(self inline);
  }
  .ibar__list li {
    flex: none;
  }
  .ihead {
    grid-template-columns: minmax(0, 1fr);
  }
  .ireel__screen {
    aspect-ratio: 4 / 3;
  }
  .ireel__scrim {
    display: none;
  }
  .ireel__cap {
    position: static;
    padding: var(--sp-5) var(--sp-5) var(--sp-6);
  }
  .ireel__tabs {
    grid-auto-columns: minmax(150px, 1fr);
    overflow-x: auto;
    scrollbar-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ihead__title,
  .ihead__side,
  .ireel {
    animation: none;
  }
  .ireel__film {
    transition: none;
    scale: 1;
  }
}
#s-units .iunits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
}
#s-units .iunits--n2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#s-units .iunits--n1 {
  grid-template-columns: minmax(0, 1fr);
}
#s-units .iunit {
  --pad: clamp(28px, 2.6vw, 40px);
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--sp-6);
  padding: var(--pad);
  border-radius: var(--radius-lg);
  background: var(--bg-inverse);
  color: var(--text-on-inverse);
  text-decoration: none;
  transition:
    opacity 0.6s var(--ease-out) var(--d, 0s),
    translate 0.8s var(--ease-out) var(--d, 0s),
    transform var(--dur-content) var(--ease-out),
    box-shadow var(--dur-content) var(--ease);
}
#s-units .iunit:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}
#s-units .iunit:focus-visible {
  outline: 2px solid var(--text-primary);
  outline-offset: 3px;
}
#s-units .iunit__head {
  display: grid;
  gap: var(--sp-3);
  align-content: start;
}
#s-units .iunit__top {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  padding-right: var(--sp-7);
  margin-bottom: var(--sp-2);
}
#s-units .iunit__n {
  font-size: var(--fs-label);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: var(--tracking-label);
  font-variant-numeric: tabular-nums;
  color: var(--text-on-inverse);
}
#s-units .iunit__kick {
  font-size: var(--fs-label);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: var(--tracking-label);
  color: var(--text-on-inverse-muted);
}
#s-units .iunit__go {
  position: absolute;
  top: var(--pad);
  right: var(--pad);
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--text-on-inverse-muted);
  transition:
    color var(--dur-hover) var(--ease),
    translate var(--dur-hover) var(--ease);
}
#s-units .iunit:hover .iunit__go {
  color: var(--text-on-inverse);
  translate: 4px 0;
}
#s-units .iunit__title {
  margin: 0;
  font-size: var(--fs-h3-lg);
  font-weight: 700;
  line-height: var(--lh-heading);
  letter-spacing: var(--tracking-snug);
  color: var(--text-on-inverse);
}
#s-units .iunit__lead {
  margin: 0;
  max-width: 34ch;
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--text-on-inverse-muted);
}
#s-units .iunit__foot {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--sp-5);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--border-inverse);
}
#s-units .iunit__scope {
  display: grid;
  gap: var(--sp-1);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--text-on-inverse-muted);
}
#s-units .iunit__scope li {
  position: relative;
  padding-left: var(--sp-5);
}
#s-units .iunit__scope li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 10px;
  height: 1px;
  background: var(--text-on-inverse-muted);
}
#s-units .iunit__mark {
  flex: none;
  width: 64px;
  height: 64px;
  margin-left: auto;
  color: color-mix(in srgb, var(--text-on-inverse) 45%, transparent);
  transition:
    color var(--dur-content) var(--ease),
    scale var(--dur-content) var(--ease);
}
#s-units .iunit__mark svg {
  display: block;
  width: 100%;
  height: 100%;
}
#s-units .iunit__mark svg .acc {
  stroke: var(--c-brand-dot);
}
#s-units .iunit__mark svg > * {
  stroke-dasharray: 1;
}
#s-units .iunits.is-in .iunit__mark svg > * {
  animation: sol-draw 0.9s var(--ease) both;
  animation-delay: calc(min(var(--i, 0), 5) * var(--reveal-step) + 200ms);
}
#s-units .iunit:hover .iunit__mark {
  color: color-mix(in srgb, var(--text-on-inverse) 90%, transparent);
  scale: var(--zoom-mark);
}
#s-units .iunit:hover .iunit__mark svg > * {
  animation: sol-redraw 0.7s var(--ease) both;
  animation-delay: 0s;
}
@media (min-width: 640px) {
  #s-units .iunits--n1 .iunit {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto;
    gap: clamp(32px, 4vw, 64px);
  }
  #s-units .iunits--n1 .iunit__foot {
    padding-top: 0;
    padding-left: clamp(32px, 4vw, 64px);
    border-top: 0;
    border-left: 1px solid var(--border-inverse);
  }
}
@media (min-width: 640px) and (max-width: 1080px) {
  #s-units .iunits--n3 {
    grid-template-columns: minmax(0, 1fr);
  }
  #s-units .iunits--n3 .iunit {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto;
    gap: var(--sp-6);
  }
  #s-units .iunits--n3 .iunit__foot {
    padding-top: 0;
    padding-left: var(--sp-6);
    border-top: 0;
    border-left: 1px solid var(--border-inverse);
  }
}
@media (min-width: 640px) and (max-width: 860px) {
  #s-units .iunits--n2 {
    grid-template-columns: minmax(0, 1fr);
  }
  #s-units .iunits--n2 .iunit {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto;
    gap: var(--sp-6);
  }
  #s-units .iunits--n2 .iunit__foot {
    padding-top: 0;
    padding-left: var(--sp-6);
    border-top: 0;
    border-left: 1px solid var(--border-inverse);
  }
}
@media (max-width: 640px) {
  #s-units .iunits,
  #s-units .iunits--n2 {
    grid-template-columns: minmax(0, 1fr);
  }
  #s-units .iunit {
    --pad: var(--sp-5);
    gap: var(--sp-5);
  }
  #s-units .iunit__mark {
    width: 48px;
    height: 48px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #s-units .iunit:hover {
    transform: none;
  }
  #s-units .iunits.is-in .iunit__mark svg > *,
  #s-units .iunit:hover .iunit__mark svg > * {
    animation: none;
  }
  #s-units .iunit:hover .iunit__mark {
    scale: 1;
  }
}
#s-reads .ireads {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
}
#s-reads .ireads--n2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#s-reads .ireads--n1 {
  grid-template-columns: minmax(0, 1fr);
}
#s-reads .iread {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: var(--sp-4);
  padding: clamp(24px, 2.4vw, 36px);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  color: var(--text-primary);
  text-decoration: none;
  transition:
    opacity 0.6s var(--ease-out) var(--d, 0s),
    translate 0.8s var(--ease-out) var(--d, 0s),
    transform var(--dur-hover) var(--ease),
    box-shadow var(--dur-hover) var(--ease);
}
#s-reads .iread:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}
#s-reads .iread:focus-visible {
  outline: 2px solid var(--text-primary);
  outline-offset: 3px;
}
#s-reads .iread__tag {
  justify-self: start;
}
#s-reads .iread__title {
  margin: 0;
  font-size: var(--fs-h3-sm);
  font-weight: 700;
  line-height: var(--lh-title);
  letter-spacing: var(--tracking-snug);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
#s-reads .iread:hover .iread__title {
  text-decoration-line: underline;
}
#s-reads .iread__desc {
  margin: 0;
  max-width: 52ch;
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}
#s-reads .iread__more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--sp-2);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border-control);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--text-primary);
}
#s-reads .iread__arrow {
  transition: translate var(--dur-hover) var(--ease);
}
#s-reads .iread:hover .iread__arrow {
  translate: 4px 0;
}
@media (min-width: 860px) {
  #s-reads .ireads--n1 .iread {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "tag desc"
      "title desc"
      "title more";
    column-gap: clamp(32px, 4vw, 64px);
  }
  #s-reads .ireads--n1 .iread__tag {
    grid-area: tag;
  }
  #s-reads .ireads--n1 .iread__title {
    grid-area: title;
    align-self: start;
  }
  #s-reads .ireads--n1 .iread__desc {
    grid-area: desc;
  }
  #s-reads .ireads--n1 .iread__more {
    grid-area: more;
  }
}
@media (max-width: 1080px) {
  #s-reads .ireads {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #s-reads .ireads--n1 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 640px) {
  #s-reads .ireads,
  #s-reads .ireads--n2 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  #s-reads .iread:hover {
    transform: none;
  }
}
#s-work .iwork {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-5);
}
#s-work .iwork--n1 {
  grid-template-columns: minmax(0, 1fr);
}
#s-work .iwork--n2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#s-work .iwork--n4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
}
#s-work .iwork--n4 .iwork__title {
  font-size: var(--fs-h3-sm);
  line-height: var(--lh-title);
}
#s-work .iwork--n4 .iwork__text {
  padding: var(--sp-5);
}
#s-work .iwork__card {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
  height: clamp(460px, 36vw, 520px);
  border-radius: var(--radius-xl);
  background: var(--c-neutral-900);
  color: var(--c-white);
  text-decoration: none;
}
#s-work .iwork--n1 .iwork__card {
  height: clamp(420px, 33vw, 480px);
}
#s-work .iwork__shot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 1.6s var(--ease-out);
}
#s-work a.iwork__card:hover .iwork__shot,
#s-work a.iwork__card:focus-visible .iwork__shot {
  scale: var(--zoom-media);
}
#s-work .iwork__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--c-neutral-900) 92%, transparent) 0%,
    color-mix(in srgb, var(--c-neutral-900) 78%, transparent) 34%,
    color-mix(in srgb, var(--c-neutral-900) 30%, transparent) 60%,
    transparent 80%
  );
  pointer-events: none;
}
#s-work .iwork--n1 .iwork__veil {
  background:
    linear-gradient(
      to bottom,
      color-mix(in srgb, var(--c-neutral-900) 80%, transparent) 0%,
      color-mix(in srgb, var(--c-neutral-900) 50%, transparent) 14%,
      transparent 30%
    ),
    linear-gradient(
      to right,
      color-mix(in srgb, var(--c-neutral-900) 92%, transparent) 0%,
      color-mix(in srgb, var(--c-neutral-900) 80%, transparent) 30%,
      color-mix(in srgb, var(--c-neutral-900) 30%, transparent) 56%,
      transparent 76%
    );
}
#s-work .iwork__card--plain .iwork__veil {
  display: none;
}
#s-work .iwork__text {
  position: relative;
  display: grid;
  gap: var(--sp-3);
  padding: var(--sp-6);
}
#s-work .iwork__top {
  display: flex;
  align-items: baseline;
  gap: var(--sp-4);
}
#s-work .iwork__eyebrow {
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  color: color-mix(in srgb, var(--c-white) 72%, transparent);
}
#s-work .iwork__go {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: var(--sp-1);
  margin-left: auto;
  font-size: var(--fs-label);
  font-weight: 600;
  color: color-mix(in srgb, var(--c-white) 80%, transparent);
  transition: color var(--dur-hover) var(--ease);
}
#s-work .iwork__go svg {
  width: 14px;
  height: 14px;
  transition: translate var(--dur-hover) var(--ease);
}
#s-work a.iwork__card:hover .iwork__go,
#s-work a.iwork__card:focus-visible .iwork__go {
  color: var(--c-white);
}
#s-work a.iwork__card:hover .iwork__go svg,
#s-work a.iwork__card:focus-visible .iwork__go svg {
  translate: 3px 0;
}
#s-work .iwork__title {
  margin: 0;
  max-width: 17em;
  font-size: var(--fs-h3-lg);
  font-weight: 700;
  line-height: var(--lh-heading);
  letter-spacing: var(--tracking-snug);
  color: var(--c-white);
  text-wrap: balance;
}
#s-work .iwork__desc {
  max-width: 30em;
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: color-mix(in srgb, var(--c-white) 76%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  #s-work .iwork__shot,
  #s-work .iwork__go svg {
    transition: none;
  }
  #s-work a.iwork__card:hover .iwork__shot,
  #s-work a.iwork__card:focus-visible .iwork__shot {
    scale: 1;
  }
}
@media (max-width: 1080px) {
  #s-work :is(.iwork--n3, .iwork--n4) {
    display: flex;
    gap: var(--sp-4);
    margin-inline: calc(var(--sp-6) * -1);
    padding-inline: var(--sp-6);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--sp-6);
    scrollbar-width: none;
  }
  #s-work :is(.iwork--n3, .iwork--n4)::-webkit-scrollbar {
    display: none;
  }
  #s-work :is(.iwork--n3, .iwork--n4) .iwork__card {
    flex: 0 0 min(78vw, 400px);
    scroll-snap-align: start;
  }
  #s-work .iwork__card {
    height: clamp(420px, 48vw, 480px);
  }
  #s-work .iwork--n1 .iwork__card {
    height: clamp(400px, 44vw, 440px);
  }
}
@media (max-width: 860px) {
  #s-work .iwork--n2 {
    display: flex;
    gap: var(--sp-4);
    margin-inline: calc(var(--sp-6) * -1);
    padding-inline: var(--sp-6);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--sp-6);
    scrollbar-width: none;
  }
  #s-work .iwork--n2::-webkit-scrollbar {
    display: none;
  }
  #s-work .iwork--n2 .iwork__card {
    flex: 0 0 min(78vw, 400px);
    scroll-snap-align: start;
  }
}
@media (max-width: 640px) {
  #s-work .iwork__card,
  #s-work .iwork--n1 .iwork__card {
    height: 440px;
  }
  #s-work :is(.iwork--n2, .iwork--n3, .iwork--n4) .iwork__card {
    flex-basis: 82vw;
  }
  #s-work .iwork--n1 .iwork__veil {
    background: linear-gradient(
      to bottom,
      color-mix(in srgb, var(--c-neutral-900) 92%, transparent) 0%,
      color-mix(in srgb, var(--c-neutral-900) 78%, transparent) 38%,
      color-mix(in srgb, var(--c-neutral-900) 30%, transparent) 64%,
      transparent 84%
    );
  }
  #s-work .iwork__text {
    padding: var(--sp-5);
  }
}
main:has(#s-units) #s-onward .tile__name,
main:has(#s-units) #s-onward a.tile .tile__name {
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: var(--lh-title);
  letter-spacing: var(--tracking-base);
}
main:has(#s-units) #s-onward .tile__desc,
main:has(#s-units) #s-onward a.tile .tile__desc {
  font-size: var(--fs-2xs);
  line-height: 1.6;
}
.ihead__lede {
  max-width: 34em;
  text-wrap: pretty;
}
.ibanner .btn:not(.btn--solid) {
  color: var(--text-primary);
  border-color: var(--border-control);
}
.ibanner .btn:not(.btn--solid):hover {
  border-color: var(--text-primary);
}
.ihero {
  --ibar-h: 54px;
}
.ihero .ibar {
  min-height: var(--ibar-h);
  padding-block: var(--sp-3);
}
@media (min-width: 1080px) {
  html.js-stage .ihero .bhero__cover {
    height: calc(100vh - var(--header-h) - var(--ibar-h) - var(--q) * 12vh);
  }
}
.ihero__units {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2) var(--sp-4);
}
.ihero__units span {
  flex-basis: 100%;
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  color: var(--text-muted);
}
.ihero__units a {
  color: var(--text-primary);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--dur-hover) var(--ease);
}
.ihero__units a:hover,
.ihero__units a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
#s-context .ifacts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-7) var(--sp-6);
}
#s-context :is(.ifacts--n2, .ifacts--n4) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#s-context .ifacts--n1 {
  grid-template-columns: minmax(0, 1fr);
}
#s-context .ifact {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--border-strong);
}
#s-context .ifact__num {
  margin: 0;
  font-size: var(--fs-stat);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: var(--tracking-display);
  font-variant-numeric: tabular-nums;
  color: var(--text-primary);
}
#s-context .ifact__unit {
  margin-left: 0.14em;
  font-size: 0.4em;
  letter-spacing: var(--tracking-snug);
}
#s-context .ifact__label {
  margin: var(--sp-2) 0 0;
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: var(--tracking-snug);
  color: var(--text-primary);
}
#s-context .ifact__desc {
  margin: 0;
  max-width: 26em;
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--text-secondary);
  text-wrap: pretty;
}
#s-context :is(.ifact__src, .imove__proof) {
  margin: 0;
  font-size: var(--fs-2xs);
  line-height: 1.5;
  color: var(--text-faint);
}
#s-context .ifact__src {
  margin-top: auto;
  padding-top: var(--sp-2);
}
#s-context :is(.ifact__src, .imove__proof) a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--border-control);
  text-underline-offset: 3px;
  transition:
    color var(--dur-hover) var(--ease),
    text-decoration-color var(--dur-hover) var(--ease);
}
#s-context :is(.ifact__src, .imove__proof) a:hover,
#s-context :is(.ifact__src, .imove__proof) a:focus-visible {
  color: var(--text-primary);
  text-decoration-color: currentColor;
}
#s-context .imoves {
  display: grid;
  grid-template-columns: minmax(0, 0.5fr) minmax(0, 1.5fr);
  gap: var(--sp-8);
  margin-top: clamp(56px, 6vw, 88px);
}
#s-context .imoves__label {
  margin: 0;
  padding-top: var(--sp-5);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  color: var(--text-muted);
}
#s-context .imoves__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--border-control);
}
#s-context .imove {
  display: grid;
  grid-template-columns: 2.6em minmax(0, 0.85fr) minmax(0, 1.15fr);
  align-items: baseline;
  gap: var(--sp-5);
  padding-block: var(--sp-5);
  border-top: 1px solid var(--border-control);
}
#s-context .imove__n {
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  font-variant-numeric: tabular-nums;
  color: var(--text-muted);
}
#s-context .imove__title {
  margin: 0;
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: var(--tracking-snug);
  color: var(--text-primary);
  text-wrap: balance;
}
#s-context .imove__body {
  display: grid;
  gap: var(--sp-3);
}
#s-context .imove__desc {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--text-secondary);
  text-wrap: pretty;
}
#s-context .imove__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2) var(--sp-5);
}
#s-context .imove__bu {
  display: inline-flex;
  align-items: baseline;
  gap: var(--sp-1);
  font-size: var(--fs-2xs);
  font-weight: 600;
  color: var(--text-primary);
  text-decoration: none;
}
#s-context .imove__bu span {
  transition: translate var(--dur-hover) var(--ease);
}
#s-context .imove__bu:hover span,
#s-context .imove__bu:focus-visible span {
  translate: 3px 0;
}
@media (max-width: 1080px) {
  #s-context .imoves {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--sp-4);
  }
  #s-context .imoves__label {
    padding-top: 0;
  }
}
@media (max-width: 860px) {
  #s-context .ifacts,
  #s-context :is(.ifacts--n2, .ifacts--n4) {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--sp-6);
  }
  #s-context .ifact__desc {
    max-width: none;
  }
}
@media (max-width: 640px) {
  #s-context .imove {
    grid-template-columns: 2.2em minmax(0, 1fr);
    gap: var(--sp-2) var(--sp-3);
  }
  #s-context .imove__body {
    grid-column: 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  #s-context .imove__bu span {
    transition: none;
  }
  #s-context .imove__bu:hover span,
  #s-context .imove__bu:focus-visible span {
    translate: none;
  }
}
body[data-route="/industries"] .grid--4 > .card--band {
  gap: 0;
}
body[data-route="/industries"] .grid--4 > .card--band .card__title {
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
}
body[data-route="/industries"] .grid--4 > .card--band .card__desc {
  margin-top: var(--sp-2);
}
body[data-route="/industries"] .grid--4 > .card--band .list {
  margin-top: var(--sp-4);
}
body[data-route="/industries"] .grid--4 > .card--band .list__item {
  font-size: var(--fs-sm);
  color: var(--text-secondary);
}
body[data-route="/industries"] .grid--4 > .card--band .card__more {
  padding-top: var(--sp-5);
}
.onward__group:has(.rmarks) {
  grid-column: 1 / -1;
}
.rmarks {
  flex: 1 1 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rmarks__item {
  display: grid;
}
.rmarks__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--sp-4) var(--sp-3);
  padding: var(--sp-5);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  color: var(--text-primary);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: var(--lh-title);
  letter-spacing: var(--tracking-snug);
  text-decoration: none;
  transition:
    background var(--dur-hover) var(--ease),
    box-shadow var(--dur-hover) var(--ease);
}
.rmarks__link::after {
  content: "→";
  content: "→" / "";
  color: var(--text-faint);
  transition:
    translate var(--dur-hover) var(--ease),
    color var(--dur-hover) var(--ease);
}
.rmarks__mark {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  height: var(--control-h);
}
.rmarks__logo {
  width: calc(var(--control-h) * 3);
  max-width: 100%;
  height: calc(var(--control-h) * 0.8);
  object-fit: contain;
  object-position: left center;
  filter: grayscale(1);
  opacity: 0.75;
  transition: opacity var(--dur-hover) var(--ease);
}
.rmarks__glyph {
  width: var(--sp-6);
  height: var(--sp-6);
  color: var(--text-primary);
  opacity: 0.75;
  transition:
    color var(--dur-hover) var(--ease),
    opacity var(--dur-hover) var(--ease);
}
.rmarks__glyph svg {
  display: block;
  width: 100%;
  height: 100%;
}
a.rmarks__link:is(:hover, :focus-visible) {
  box-shadow: var(--shadow-lift);
}
a.rmarks__link:is(:hover, :focus-visible)::after {
  translate: var(--sp-1) 0;
  color: var(--text-primary);
}
a.rmarks__link:is(:hover, :focus-visible) .rmarks__logo {
  opacity: 1;
}
a.rmarks__link:is(:hover, :focus-visible) .rmarks__glyph {
  color: var(--text-accent);
  opacity: 1;
}
:is(.section--inverse, .section--stone) .rmarks__logo {
  filter: brightness(0) invert(1);
}
:is(.section--inverse, .section--stone)
  a.rmarks__link:is(:hover, :focus-visible) {
  background: var(--field-glass-hi);
}
@media (max-width: 860px) {
  .rmarks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .rmarks {
    grid-template-columns: minmax(0, 1fr);
  }
  .rmarks__link {
    grid-template-columns: calc(var(--control-h) * 2.5) minmax(0, 1fr) auto;
    align-items: center;
    padding: var(--sp-3) var(--sp-4);
  }
  .rmarks__mark {
    grid-column: auto;
    justify-content: center;
  }
  .rmarks__logo {
    object-position: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rmarks__link::after {
    transition: none;
  }
}
