/* Service media library. */
.ai-service-media {
  background:var(--ai-color-white);
}

.ai-service-media__top {
  align-items:end;
  border-bottom:1px solid var(--ai-line);
  display:flex;
  gap:36px;
  justify-content:space-between;
  margin-bottom:4px;
  padding-bottom:30px;
}

.ai-service-media__top .ai-section-heading {
  max-width:780px;
}

.ai-service-media__filters {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:flex-end;
}

.ai-service-media__filters button {
  background:transparent;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  color:var(--ai-muted);
  cursor:pointer;
  font-family:inherit;
  font-size:var(--ai-type-control-size);
  padding:9px 0 7px;
}

.ai-service-media__filters button:hover,.ai-service-media__filters button.is-active {
  border-color:var(--ai-blue);
  color:var(--ai-ink);
}

.ai-service-media__grid {
  display:grid;
  gap:4px;
  grid-template-columns:1fr;
}

.ai-service-media__group {
  display:grid;
  gap:4px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(6,clamp(58px,5vw,76px));
}

.ai-service-media__item {
  margin:0;
  min-height:0;
  min-width:0;
  overflow:hidden;
}

.ai-service-media__group.is-complete .ai-service-media__item:nth-child(1) {
  grid-column:1;
  grid-row:1/7;
}

.ai-service-media__group.is-complete .ai-service-media__item:nth-child(2) {
  grid-column:2;
  grid-row:1/4;
}

.ai-service-media__group.is-complete .ai-service-media__item:nth-child(3) {
  grid-column:2;
  grid-row:4/7;
}

.ai-service-media__group.is-complete .ai-service-media__item:nth-child(4) {
  grid-column:3;
  grid-row:1/3;
}

.ai-service-media__group.is-complete .ai-service-media__item:nth-child(5) {
  grid-column:3;
  grid-row:3/7;
}

.ai-service-media__group.is-complete.is-reversed .ai-service-media__item:nth-child(1) {
  grid-column:3;
}

.ai-service-media__group.is-complete.is-reversed .ai-service-media__item:nth-child(2),.ai-service-media__group.is-complete.is-reversed .ai-service-media__item:nth-child(3) {
  grid-column:2;
}

.ai-service-media__group.is-complete.is-reversed .ai-service-media__item:nth-child(4),.ai-service-media__group.is-complete.is-reversed .ai-service-media__item:nth-child(5) {
  grid-column:1;
}

.ai-service-media__group.is-remainder-1 {
  grid-template-columns:1fr;
  grid-template-rows:clamp(240px,28vw,390px);
}

.ai-service-media__group.is-remainder-2 {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:clamp(260px,27vw,380px);
}

.ai-service-media__group.is-remainder-3 {
  grid-template-columns:1.45fr 1fr;
  grid-template-rows:repeat(2,clamp(150px,14vw,200px));
}

.ai-service-media__group.is-remainder-3 .ai-service-media__item:first-child {
  grid-row:1/3;
}

.ai-service-media__group.is-remainder-4 {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,clamp(190px,19vw,270px));
}

.ai-service-media__item>a {
  background:#11162d;
  display:block;
  height:100%;
  isolation:isolate;
  overflow:hidden;
  position:relative;
}

.ai-service-media__item img {
  display:block;
  height:100%;
  object-fit:cover;
  transition:filter .35s ease;
  width:100%;
}

.ai-service-media__item[data-service-media-type=model]>a,.ai-service-media__item[data-service-media-type=model] img {
  background:#edf0f5;
}

.ai-service-media__item[data-service-media-type=model] img {
  mix-blend-mode:multiply;
}

.ai-service-media__item a>span {
  align-items:end;
  background:linear-gradient(180deg,rgba(8,13,34,0) 28%,rgba(8,13,34,.12) 54%,rgba(8,13,34,.94) 100%);
  color:var(--ai-color-white);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  inset:0;
  opacity:0;
  padding:52px 18px 16px;
  position:absolute;
  transform:translateY(7px);
  transition:opacity .25s ease,transform .32s var(--ai-motion-ease-out);
}

.ai-service-media__item small {
  color:#cbd2ff;
  font-size:var(--ai-type-small-size);
  font-weight:700;
  grid-column:1;
  letter-spacing:.1em;
  margin-bottom:6px;
  text-transform:uppercase;
}

.ai-service-media__item strong {
  color:var(--ai-color-white);
  font-size:var(--ai-type-label-size);
  font-weight:500;
  grid-column:1;
  line-height:1.4;
  max-width:92%;
}

.ai-service-media__item i {
  align-items:center;
  border:1px solid rgba(255,255,255,.5);
  display:flex;
  font-size:14px;
  font-style:normal;
  grid-column:2;
  grid-row:1/3;
  height:36px;
  justify-content:center;
  width:36px;
}

.ai-service-media__item a:hover>span,.ai-service-media__item a:focus-visible>span {
  opacity:1;
  transform:none;
}

.ai-service-media__item a:hover img,.ai-service-media__item a:focus-visible img {
  filter:brightness(.86);
}

.ai-service-media__more {
  border-top:1px solid var(--ai-line);
  display:flex;
  justify-content:center;
  margin-top:28px;
  padding-top:28px;
}

.ai-service-media__more[hidden] {
  display:none;
}

.ai-service-media__more button {
  align-items:center;
  background:var(--ai-navy);
  border:1px solid var(--ai-navy);
  border-radius:0;
  color:var(--ai-color-white);
  cursor:pointer;
  display:inline-flex;
  font-family:inherit;
  font-size:var(--ai-type-control-size);
  font-weight:700;
  gap:38px;
  justify-content:space-between;
  min-width:230px;
  padding:15px 18px;
}

.ai-service-media__more button:hover,.ai-service-media__more button:focus-visible {
  background:var(--ai-color-white);
  color:var(--ai-navy);
}

.ai-service-media__more i {
  font-size:17px;
  font-style:normal;
}

.ai-service-media__more button:disabled {
  cursor:wait;
  opacity:.68;
}

@media(max-width:1000px) {
  .ai-service-media__group {
    grid-template-rows:repeat(6,clamp(52px,7vw,68px));
  }
}

@media(max-width:700px) {
  .ai-service-media__top {
    align-items:flex-start;
    flex-direction:column;
    padding-bottom:24px;
  }

  .ai-service-media__filters {
    flex-wrap:nowrap;
    gap:22px;
    justify-content:flex-start;
    max-width:100%;
    overflow-x:auto;
  }

  .ai-service-media__group,.ai-service-media__group.is-remainder-1,.ai-service-media__group.is-remainder-2,.ai-service-media__group.is-remainder-3,.ai-service-media__group.is-remainder-4 {
    display:grid;
    gap:3px;
    grid-template-columns:1fr;
    grid-template-rows:none;
  }

  .ai-service-media__group .ai-service-media__item,.ai-service-media__group.is-complete .ai-service-media__item:nth-child(n),.ai-service-media__group.is-remainder-3 .ai-service-media__item:first-child {
    aspect-ratio:4/3;
    grid-column:1;
    grid-row:auto;
  }

  .ai-service-media__item a>span {
    opacity:1;
    transform:none;
  }
}

@media(hover:none) {
  .ai-service-media__item a>span {
    opacity:1;
    transform:none;
  }
}

:is(.ai-service--bridge,.ai-service--curved) .ai-service-media__item[data-service-media-type=model]>a,:is(.ai-service--bridge,.ai-service--curved) .ai-service-media__item[data-service-media-type=model] img {
  background:var(--ai-color-white);
}

:is(.ai-service--bridge,.ai-service--curved) .ai-service-media__item[data-service-media-type=model] img {
  mix-blend-mode:normal;
}
