/*
 * DBC / BIOTEN V2.7.1
 * Brand-language and homepage editorial refinement.
 * The confirmed first-screen hero is intentionally not targeted here.
 */

body.home-v271 .v260-business__map {
  display: block;
}

body.home-v271 .v271-business-architecture {
  display: grid;
  min-height: 232px;
  grid-template-columns: minmax(130px, .82fr) minmax(155px, 1fr) minmax(310px, 1.58fr);
  gap: 10px;
}

body.home-v271 .v271-business-node,
body.home-v271 .v271-business-applications > a {
  position: relative;
  min-width: 0;
  overflow: hidden;
  color: #f1f7fa;
  text-decoration: none;
  background: rgba(255, 255, 255, .025);
  box-shadow: inset 0 0 0 1px rgba(126, 187, 226, .12), inset 0 1px rgba(255, 255, 255, .035);
  transition:
    transform 560ms cubic-bezier(.22, .72, .18, 1),
    background-color 560ms cubic-bezier(.22, .72, .18, 1),
    box-shadow 560ms cubic-bezier(.22, .72, .18, 1);
}

body.home-v271 .v271-business-node {
  display: grid;
  min-height: 232px;
  align-content: center;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  padding: 22px 18px;
  border-radius: 18px;
}

body.home-v271 .v271-business-node::before,
body.home-v271 .v271-business-applications > a::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  opacity: .72;
  background: #2e8bd1;
}

body.home-v271 .v271-business-node--bioten::before {
  background: linear-gradient(90deg, #2e8bd1, #20a66b);
}

body.home-v271 .v271-business-node > span,
body.home-v271 .v271-business-applications a > span {
  grid-column: 1;
  color: #66b5ec;
  font-size: 8px;
  font-weight: 730;
  letter-spacing: .12em;
}

body.home-v271 .v271-business-node--bioten > span,
body.home-v271 .v271-business-applications > a:first-child > span {
  color: #76d5a5;
}

body.home-v271 .v271-business-node > strong {
  grid-column: 1;
  color: #f4f8fa;
  font-size: clamp(17px, 1.3vw, 21px);
  font-weight: 650;
  line-height: 1.16;
  letter-spacing: -.025em;
}

body.home-v271 .v271-business-node > small {
  grid-column: 1;
  color: rgba(223, 236, 244, .62);
  font-size: 10.5px;
  line-height: 1.5;
}

body.home-v271 .v271-business-node > i,
body.home-v271 .v271-business-applications a > i {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  color: #70bdf0;
  font-style: normal;
  transition: transform 520ms cubic-bezier(.22, .72, .18, 1);
}

body.home-v271 .v271-business-applications {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.home-v271 .v271-business-applications > a {
  display: grid;
  min-height: 111px;
  align-content: center;
  grid-template-columns: 1fr auto;
  gap: 5px 8px;
  padding: 15px 13px;
  border-radius: 15px;
}

body.home-v271 .v271-business-applications > a:first-child::before {
  background: linear-gradient(90deg, #2e8bd1, #20a66b);
}

body.home-v271 .v271-business-applications a > strong {
  grid-column: 1;
  font-size: 13px;
  font-weight: 640;
  line-height: 1.25;
}

body.home-v271 .v271-business-applications a > small {
  grid-column: 1;
  color: rgba(220, 234, 242, .57);
  font-size: 10px;
  line-height: 1.42;
}

body.home-v271 :is(.v271-business-node, .v271-business-applications > a):is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 0 0 1px rgba(126, 195, 239, .22), inset 0 1px rgba(255, 255, 255, .07);
  transform: translateY(-2px);
}

body.home-v271 :is(.v271-business-node, .v271-business-applications > a):is(:hover, :focus-visible) > i {
  transform: translate(3px, -1px);
}

body.home-v271 .v271-news-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
  gap: clamp(22px, 2.2vw, 34px);
}

body.home-v271 .v271-news-list {
  display: grid;
  min-height: 0;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  align-self: stretch;
  box-shadow: inset 0 1px rgba(7, 93, 168, .13), inset 0 -1px rgba(7, 93, 168, .08);
}

body.home-v271 .v271-news-item {
  position: relative;
  display: grid;
  min-height: 76px;
  grid-template-columns: 96px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 13px;
  padding: 7px 2px;
  color: #153044;
  text-decoration: none;
  box-shadow: inset 0 -1px rgba(7, 93, 168, .09);
  transition:
    color 500ms cubic-bezier(.22, .72, .18, 1),
    transform 500ms cubic-bezier(.22, .72, .18, 1);
}

body.home-v271 .v271-news-item:last-child {
  box-shadow: none;
}

body.home-v271 .v271-news-item figure {
  width: 96px;
  height: 64px;
  margin: 0;
  padding: 3px;
  overflow: hidden;
  border-radius: 11px;
  background: rgba(7, 93, 168, .06);
  box-shadow: inset 0 0 0 1px rgba(7, 93, 168, .08);
}

body.home-v271 .v271-news-item img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
  object-position: 50% 50%;
  transition: transform 800ms cubic-bezier(.22, .72, .18, 1);
}

body.home-v271 .v271-news-item > div {
  min-width: 0;
}

body.home-v271 .v271-news-item p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 4px;
  color: #547084;
  font-size: 9.5px;
  line-height: 1.2;
}

body.home-v271 .v271-news-item p > span {
  color: #087956;
  font-weight: 700;
}

body.home-v271 .v271-news-item time {
  font-variant-numeric: tabular-nums;
}

body.home-v271 .v271-news-item h3 {
  display: -webkit-box;
  margin: 0 0 3px;
  overflow: hidden;
  color: #142e40;
  font-size: 13.5px;
  font-weight: 640;
  line-height: 1.3;
  letter-spacing: -.015em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.home-v271 .v271-news-item small {
  display: block;
  overflow: hidden;
  color: #71808a;
  font-size: 10.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.home-v271 .v271-news-item > i {
  color: #2a6f9d;
  font-style: normal;
  transition: transform 500ms cubic-bezier(.22, .72, .18, 1);
}

body.home-v271 .v271-news-item:is(:hover, :focus-visible) {
  color: #075da5;
  transform: translateX(3px);
}

body.home-v271 .v271-news-item:is(:hover, :focus-visible) img {
  transform: scale(1.015);
}

body.home-v271 .v271-news-item:is(:hover, :focus-visible) > i {
  transform: translate(2px, -1px);
}

body.home-v271 .v271-news-portals {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.home-v271 .v271-news-portals > a:nth-child(3) {
  box-shadow: inset 0 1px rgba(7, 93, 168, .16);
}

/* Navigation copy must remain readable on both the mega menu and mobile overlay. */
body.v270-site .dbc-nav-card__copy small {
  font-size: max(10px, .64rem);
}

body.v270-site .dbc-nav-card__copy em,
body.v270-site .dbc-nav-primary__copy small {
  font-size: max(11px, .72rem);
  line-height: 1.45;
}

@media (min-width: 701px) and (max-width: 1040px) {
  body.home-v271 .v260-business__stage,
  body.home-v271 .v260-updates,
  body.home-v271 .v260-updates__stage {
    height: auto;
    min-height: auto;
  }

  body.home-v271 .v271-business-architecture {
    min-height: 220px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1.45fr);
  }

  body.home-v271 .v271-business-node {
    min-height: 220px;
  }

  body.home-v271 .v271-news-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  }
}

@media (max-width: 700px) {
  body.home-v271 .v260-business__map {
    display: block;
  }

  body.home-v271 .v271-business-architecture {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.home-v271 .v271-business-node {
    min-height: 88px;
    padding: 16px;
  }

  body.home-v271 .v271-business-node > span,
  body.home-v271 .v271-business-applications a > span {
    font-size: 10px;
  }

  body.home-v271 .v271-business-node > strong {
    font-size: 17px;
  }

  body.home-v271 .v271-business-node > small,
  body.home-v271 .v271-business-applications a > small {
    font-size: 12.5px;
    line-height: 1.5;
  }

  body.home-v271 .v271-business-applications {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body.home-v271 .v271-business-applications > a {
    min-height: 118px;
    padding: 14px 12px;
  }

  body.home-v271 .v271-business-applications a > strong {
    font-size: 14px;
  }

  body.home-v271 .v260-updates,
  body.home-v271 .v260-updates__stage {
    height: auto;
    min-height: auto;
  }

  body.home-v271 .v271-news-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.home-v271 .v260-news-record {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body.home-v271 .v260-news-record figure {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 16 / 10;
  }

  body.home-v271 .v260-news-record h3 {
    font-size: 20px;
    line-height: 1.28;
  }

  body.home-v271 .v260-news-record small {
    font-size: 13px;
    line-height: 1.55;
  }

  body.home-v271 .v260-news-record > div > p {
    font-size: 10.5px;
  }

  body.home-v271 .v271-news-list {
    display: grid;
    gap: 0;
  }

  body.home-v271 .v271-news-item {
    min-height: 104px;
    grid-template-columns: 104px minmax(0, 1fr) 16px;
    gap: 12px;
    padding: 10px 0;
  }

  body.home-v271 .v271-news-item figure {
    width: 104px;
    height: 72px;
  }

  body.home-v271 .v271-news-item p {
    font-size: 10.5px;
  }

  body.home-v271 .v271-news-item h3 {
    font-size: 14px;
    line-height: 1.35;
  }

  body.home-v271 .v271-news-item small {
    font-size: 12.5px;
    line-height: 1.4;
    white-space: normal;
  }

  body.home-v271 .v271-news-portals {
    grid-template-columns: 1fr;
  }

  body.home-v271 .v271-news-portals > a,
  body.home-v271 .v271-news-portals > a:last-child {
    min-height: 72px;
  }

  body.v245-page .v245-section {
    padding-block: 66px;
  }

  body.v245-page .v245-lead,
  body.v245-page .v245-section-head > p,
  body.v245-page .v245-section-head > div > p:last-child {
    font-size: 14px;
    line-height: 1.65;
  }

  body.v245-page :is(.v245-chain, .v245-story-list, .v245-interface, .v245-product-grid, .v245-timeline, .v245-evidence-grid) p,
  body.v245-page .v245-flagship__copy > p {
    font-size: 12.5px;
    line-height: 1.55;
  }

  body.v245-page :is(.v245-eyebrow, .v245-story__number, .v245-product__index) {
    font-size: 10px;
  }

  body.v245-page .v245-local-nav a {
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  body.home-v271 .v271-business-applications {
    grid-template-columns: 1fr;
  }

  body.home-v271 .v271-business-applications > a {
    min-height: 96px;
  }

  body.home-v271 .v271-news-item {
    grid-template-columns: 92px minmax(0, 1fr) 14px;
  }

  body.home-v271 .v271-news-item figure {
    width: 92px;
    height: 68px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-v271 :is(.v271-business-node, .v271-business-applications > a, .v271-news-item, .v271-news-item img) {
    transition-duration: .01ms !important;
  }
}
