/* DBC / BIOTEN V7.1.1
 * Design Read: restrained B2B material-technology brand system.
 * Dials: DESIGN_VARIANCE 5 / MOTION_INTENSITY 3 / VISUAL_DENSITY 4.
 * Scope: typography, rhythm, responsive hierarchy and footer usability.
 */

html[data-v7111-release="fullsite-deep-polish-v7.1.1"] {
  --v7111-ink: #102b3c;
  --v7111-copy: #3f5968;
  --v7111-muted: #637985;
  --v7111-line: rgba(20, 63, 82, .14);
  --v7111-shadow: 0 16px 42px rgba(19, 55, 70, .065);
  --v7111-radius-card: 14px;
  --v7111-radius-panel: 20px;
  --v7111-ease: cubic-bezier(.22, 1, .36, 1);
  font-feature-settings: "kern" 1, "liga" 1;
}

html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main {
  color: var(--v7111-ink);
}

html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(h1, h2, h3) {
  text-wrap: balance;
  hanging-punctuation: first last;
}

html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(p, li, dd) {
  text-wrap: pretty;
}

html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(
  .v500-section__head,
  .v520-section-head,
  .brand510-section__head,
  .dv2-section__head,
  .dv21-section-intro,
  .v450-news-section-head,
  .packaging-section-head,
  .section-head
) > p {
  max-width: 66ch;
}

/* Keep light cards crisp and related without flattening page-family identity. */
html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(
  .v500-card,
  .v520-detail-card,
  .v520-application-card,
  .brand510-capability-grid > article,
  .brand510-product-grid > article,
  .dv21-problem-grid > article,
  .dv21-deep-links > a,
  .dv42-handoff-grid > article,
  .knowledge-topic-card,
  .knowledge-feature,
  .entry-card,
  .faq-card,
  .routing-card,
  .request-card
) {
  border-color: var(--v7111-line);
  box-shadow: var(--v7111-shadow);
}

@media (hover: hover) and (pointer: fine) {
  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(
    .v500-card,
    .v520-detail-card,
    .v520-application-card,
    .brand510-capability-grid > article,
    .brand510-product-grid > article,
    .dv21-problem-grid > article,
    .dv21-deep-links > a,
    .knowledge-topic-card,
    .knowledge-feature,
    .entry-card,
    .routing-card,
    .request-card
  ) {
    transition: border-color 220ms ease, box-shadow 360ms var(--v7111-ease), transform 360ms var(--v7111-ease);
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(
    .v500-card,
    .v520-detail-card,
    .v520-application-card,
    .brand510-capability-grid > article,
    .brand510-product-grid > article,
    .dv21-problem-grid > article,
    .dv21-deep-links > a,
    .knowledge-topic-card,
    .knowledge-feature,
    .entry-card,
    .routing-card,
    .request-card
  ):hover {
    border-color: rgba(var(--v710-accent-rgb), .3);
    box-shadow: 0 20px 48px rgba(19, 55, 70, .09);
    transform: translateY(-2px);
  }
}

/* Evidence notes should read as editorial guidance, not oversized glass cards. */
html[data-v7111-release] :is(.v710-scope-note, .v710-news-evidence-note, .v710-route-status) {
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(19, 55, 70, .07);
}

html[data-v7111-release] .v710-news-evidence-note {
  gap: clamp(26px, 4vw, 58px);
  padding: clamp(28px, 3.8vw, 48px);
}

html[data-v7111-release] body[data-v710-family="news"][data-v710-level="L3"] .v710-news-evidence-note h2 {
  font-size: clamp(24px, 2.1vw, 34px);
}

/* Technical cards carry decision content, so their body copy must not read like metadata. */
html[data-v7111-release] body[data-v710-family="developer"] main :is(
  .dv2-detail-group p,
  .dv2-solution > p,
  .dv2-solution li,
  .dv2-schema-group li,
  .dv2-review-chain p,
  .dv2-logic p,
  .dv2-evidence-dimension p,
  .dv2-relation p,
  .dv2-cert p,
  .dv2-layer p,
  .dv2-function p,
  .dv2-workflow-group p,
  .dv2-issue p,
  .dv2-challenge p,
  .dv2-final p,
  .dv2-final li,
  .dv42-handoff-grid p,
  .dv21-domain-stages p
) {
  font-size: 13px !important;
  line-height: 1.62 !important;
}

/* Newsroom: remove the visual pause that separated related updates too strongly. */
html[data-v7111-release] body[data-v710-family="news"] :is(
  .v450-news-featured,
  .v450-news-current,
  .v450-news-archive-promo,
  .v450-archive-section
) {
  padding-block: clamp(58px, 6vw, 88px);
}

html[data-v7111-release] body[data-v710-family="news"] .v450-news-section-head {
  margin-bottom: clamp(24px, 2.4vw, 36px);
}

/* The approved homepage stays intact; only text that fell below a practical reading size is lifted. */
html[data-v7111-release] body[data-v710-family="home"] #platform .v704-route__copy p {
  font-size: clamp(9.25px, .66vw, 10px) !important;
  line-height: 1.38 !important;
}

html[data-v7111-release] body[data-v710-family="home"] #platform .v704-brand-card__mark small {
  font-size: clamp(8.25px, .6vw, 9px) !important;
  line-height: 1.25 !important;
}

html[data-v7111-release] body[data-v710-family="home"] #platform .v704-brand-card h3 {
  font-size: clamp(10.5px, .78vw, 11.5px) !important;
}

html[data-v7111-release] body[data-v710-family="home"] #updates .v715-news-card__meta {
  font-size: clamp(9.25px, .67vw, 10px) !important;
  line-height: 1.4 !important;
}

html[data-v7111-release] body[data-v710-family="home"] #updates .v715-news-card__links a {
  font-size: clamp(10px, .72vw, 10.75px) !important;
}

/* Unified footer directory. JavaScript adds the link groups and disclosure state. */
html[data-v7111-release] footer.formal-site-footer .v7111-footer-links {
  display: grid;
  gap: 0;
}

html[data-v7111-release] footer.formal-site-footer .v7111-footer-toggle {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
}

html[data-v7111-release] footer.formal-site-footer .v7111-footer-toggle:focus-visible {
  outline: 2px solid rgba(var(--v710-accent-rgb), .7);
  outline-offset: 3px;
}

/* Tablet: preserve width while lowering coarse title and section extremes. */
@media (min-width: 701px) and (max-width: 1100px) {
  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="conversion"]
    main#main-content h1 {
    font-size: clamp(44px, 5.2vw, 54px) !important;
    line-height: 1.02 !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="news"][data-v710-level="L3"]
    main#main-content h1 {
    font-size: clamp(40px, 4.6vw, 48px) !important;
    line-height: 1.08 !important;
  }

  html[data-v7111-release] body[data-v710-family="developer"] main :is(
    .dv2-detail-group p,
    .dv2-solution > p,
    .dv2-schema-group li,
    .dv2-review-chain p,
    .dv2-logic p,
    .dv2-evidence-dimension p,
    .dv2-relation p,
    .dv2-cert p,
    .dv42-handoff-grid p,
    .dv21-domain-stages p
  ) {
    font-size: 13px !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 860px) and (min-width: 701px) {
  html[data-v7111-release] body.dv42-page .dv42-handoff-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html[data-v7111-release] body.dv42-page .dv42-handoff-grid > article:nth-child(n) {
    border-bottom: 1px solid var(--v7111-line) !important;
  }

  html[data-v7111-release] body.dv42-page .dv42-handoff-grid > article:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 700px) {
  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family]:not([data-v710-family="home"])
    main#main-content h1 {
    max-width: 100%;
    letter-spacing: -.042em !important;
    line-height: 1.075 !important;
  }

  html[data-v7111-release][data-v7111-release] body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="group"] main#main-content h1,
  html[data-v7111-release][data-v7111-release] body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="packaging"] main#main-content h1,
  html[data-v7111-release][data-v7111-release] body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="evidence"] main#main-content h1,
  html[data-v7111-release][data-v7111-release] body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="conversion"] main#main-content h1,
  html[data-v7111-release][data-v7111-release] body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="governance"] main#main-content h1,
  html[data-v7111-release][data-v7111-release] body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="bioten"]:not([data-v710-role="material-platform"]) main#main-content h1 {
    font-size: clamp(32px, 9.2vw, 38px) !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="developer"]
    main#main-content h1 {
    font-size: clamp(31px, 8.8vw, 36px) !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="news"]
    main#main-content h1 {
    font-size: clamp(31px, 8.4vw, 35px) !important;
    line-height: 1.1 !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="news"][data-v710-level="L3"]
    main#main-content h1[data-v7111-title="long"] {
    font-size: clamp(29px, 7.8vw, 32px) !important;
    line-height: 1.11 !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="news"][data-v710-level="L3"]
    main#main-content h1[data-v7111-title="xlong"] {
    font-size: clamp(27px, 7.25vw, 30px) !important;
    line-height: 1.12 !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="developer"]
    main#main-content :is(
    .dv2-section__head h2,
    .dv21-section-intro h2,
    .dv2-evidence-contract__intro h2
  ) {
    font-size: clamp(27px, 7.8vw, 32px) !important;
    line-height: 1.08 !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="developer"]
    main#main-content .dv2-final h2 {
    font-size: clamp(30px, 8.6vw, 36px) !important;
    line-height: 1.06 !important;
  }

  /* Legacy intake and legal pages carry unusually strong historical selectors. */
  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="conversion"]
    main#main-content#main-content .request-hero h1 {
    font-size: clamp(31px, 8.6vw, 36px) !important;
    line-height: 1.075 !important;
    letter-spacing: -.042em !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="governance"]
    main#main-content .formal-heading {
    font-size: clamp(32px, 9.2vw, 38px) !important;
    line-height: 1.075 !important;
    letter-spacing: -.042em !important;
  }

  html[data-v7111-release] body.dv23-page {
    --dv23-section-space: 48px;
    --dv23-section-space-compact: 44px;
  }

  html[data-v7111-release] body[data-v710-family="developer"] main :is(
    .dv2-detail-group p,
    .dv2-solution > p,
    .dv2-schema-group li,
    .dv2-review-chain p,
    .dv2-logic p,
    .dv2-evidence-dimension p,
    .dv2-relation p,
    .dv2-cert p,
    .dv42-handoff-grid p,
    .dv21-domain-stages p
  ) {
    font-size: 13.5px !important;
    line-height: 1.62 !important;
  }

  html[data-v7111-release] body[data-v710-family="developer"] main :is(
    .dv2-filter-status,
    .dv2-search-status
  ) {
    font-size: 12px !important;
  }

  html[data-v7111-release] body[data-v710-family="news"] :is(
    .v450-news-featured,
    .v450-news-current,
    .v450-news-archive-promo,
    .v450-archive-section
  ) {
    padding-block: 52px;
  }

  html[data-v7111-release] body[data-v710-family="news"] .v450-news-section-head {
    margin-bottom: 24px;
  }

  html[data-v7111-release] body[data-v710-family="home"] #platform .v704-route__copy p {
    font-size: 9.5px !important;
  }

  html[data-v7111-release] body[data-v710-family="home"] #platform .v704-brand-card__mark small {
    font-size: 8.5px !important;
  }

  html[data-v7111-release] body[data-v710-family="home"] #updates .v715-news-card__meta {
    font-size: 9px !important;
  }

  html[data-v7111-release] body[data-v710-family="home"] #updates .v715-news-card__links a {
    font-size: 10.25px !important;
  }

  /* Mobile footer becomes a compact, single-open disclosure directory. */
  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-directory.footer-directory {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding-block: 6px !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-column.footer-column {
    display: block !important;
    padding: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent) !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-column.footer-column:last-child {
    border-bottom: 0 !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-column h3 {
    margin: 0 !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .v7111-footer-toggle {
    position: relative;
    min-height: 50px;
    padding: 14px 34px 14px 0;
    cursor: pointer;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .v7111-footer-toggle::after {
    position: absolute;
    top: 50%;
    right: 2px;
    width: 20px;
    content: "+";
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    opacity: .72;
    transform: translateY(-50%);
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .v7111-footer-toggle[aria-expanded="true"]::after {
    content: "−";
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .v7111-footer-links {
    display: none !important;
    padding: 0 0 10px !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer [data-v7111-footer-column][data-v7111-open="true"] > .v7111-footer-links {
    display: grid !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .v7111-footer-links > a {
    display: inline-flex !important;
    width: fit-content !important;
    min-height: 42px !important;
    align-items: center !important;
    padding-block: 8px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-inner {
    padding-top: 22px !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-note {
    margin-bottom: 12px !important;
    font-size: 12.5px !important;
    line-height: 1.7 !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) footer.formal-site-footer .footer-bottom {
    padding-top: 18px !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v710-family]:not([data-v710-family="home"])
    footer.formal-site-footer .footer-bottom.footer-bottom {
    display: grid !important;
    gap: 12px !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v710-family]:not([data-v710-family="home"])
    footer.formal-site-footer .footer-legal.footer-legal {
    display: flex !important;
    flex-flow: row wrap !important;
    gap: 4px 14px !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v710-family]:not([data-v710-family="home"])
    footer.formal-site-footer .footer-legal.footer-legal :is(a, span) {
    display: inline-flex !important;
    width: fit-content !important;
    min-height: 32px !important;
    align-items: center !important;
    padding-block: 4px !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v710-family]:not([data-v710-family="home"])
    footer.formal-site-footer .formal-footer-cta.formal-footer-cta {
    padding-block: 38px 34px !important;
  }

  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v710-family]:not([data-v710-family="home"])
    footer.formal-site-footer .formal-footer-cta.formal-footer-cta h2 {
    font-size: clamp(28px, 8vw, 32px) !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 390px) {
  html[data-v7111-release][data-v7111-release]
    body[data-v7111-polish][data-v7111-polish][data-v7111-polish][data-v710-family="news"][data-v710-level="L3"]
    main#main-content h1[data-v7111-title="xlong"] {
    font-size: 27px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-v7111-release] body[data-v710-family] :is(
    main a,
    main article,
    main img,
    .v7111-footer-toggle
  ) {
    animation: none !important;
    transition: none !important;
  }

  html[data-v7111-release] body[data-v710-family]:not([data-v710-family="home"]) main :is(
    .v500-card,
    .v520-detail-card,
    .v520-application-card,
    .brand510-capability-grid > article,
    .brand510-product-grid > article,
    .dv21-problem-grid > article,
    .dv21-deep-links > a,
    .knowledge-topic-card,
    .knowledge-feature,
    .entry-card,
    .routing-card,
    .request-card
  ):hover {
    transform: none !important;
  }
}
