/* * BIOTEN Developer V4.2 * Role-led paper packaging development and evidence delivery. * Design dials: variance 6, motion 4, density 7. */ body.dv42-page { --dv42-blue: #075ea8; --dv42-blue-deep: #093754; --dv42-green: #087b5b; --dv42-ink: #102a3a; --dv42-body: #465d6b; --dv42-muted: #6a7c87; --dv42-line: rgb(11 71 105 / .15); --dv42-line-strong: rgb(7 94 168 / .28); --dv42-paper: #f8fbfc; --dv42-soft: #eef5f5; --dv42-white: #ffffff; background: #f3f7f8; } body.dv42-page :is(.dv2-action, .dv42-role-tab, .dv42-role-link, .dv42-release-card a) { -webkit-tap-highlight-color: transparent; } body.dv42-page :is(.dv2-action, .dv42-role-tab, .dv42-role-link):focus-visible { outline: 3px solid rgb(7 94 168 / .24); outline-offset: 3px; } body.dv42-page .dv21-hero { background: radial-gradient(circle at 79% 15%, rgb(17 126 93 / .07), transparent 33%), linear-gradient(180deg, #f7fafb 0%, #edf4f5 100%) !important; } body.dv42-page .dv21-hero__copy h1 { max-width: 12.5ch !important; } body.dv42-page .dv21-hero__media { position: relative; } body.dv42-page .dv21-hero__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgb(7 94 168 / .08), transparent 38%, rgb(8 123 91 / .12)); } /* Role entry */ body.dv42-page .dv42-role-lab { padding-block: clamp(4.4rem, 7vw, 6.4rem); color: var(--dv42-ink); background: var(--dv42-white); } body.dv42-page .dv42-section-head { display: grid; gap: .9rem; max-width: 52rem; margin-bottom: clamp(2rem, 4vw, 3rem); } body.dv42-page .dv42-section-head h2 { max-width: 17ch; margin: 0; color: var(--dv42-blue-deep); font-size: clamp(2.15rem, 4.3vw, 4.15rem); font-weight: 620; line-height: 1.02; letter-spacing: -.052em; } body.dv42-page .dv42-section-head p { max-width: 48rem; margin: 0; color: var(--dv42-body); font-size: clamp(.94rem, 1.1vw, 1.05rem); line-height: 1.72; } body.dv42-page .dv42-role-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-block: 1px solid var(--dv42-line); } body.dv42-page .dv42-role-tab { min-height: 5.3rem; padding: 1rem 1.1rem; border: 0; border-right: 1px solid var(--dv42-line); border-radius: 0; color: var(--dv42-body); background: transparent; font: inherit; text-align: left; cursor: pointer; transition: color .2s ease, background-color .2s ease; } body.dv42-page .dv42-role-tab:last-child { border-right: 0; } body.dv42-page .dv42-role-tab span { display: block; margin-bottom: .35rem; color: var(--dv42-green); font-size: .62rem; font-weight: 760; letter-spacing: .1em; } body.dv42-page .dv42-role-tab strong { display: block; color: inherit; font-size: .98rem; line-height: 1.35; } body.dv42-page .dv42-role-tab:is(:hover, [aria-selected="true"]) { color: var(--dv42-blue-deep); background: #eef5f8; } body.dv42-page .dv42-role-tab[aria-selected="true"] { box-shadow: inset 0 -3px 0 var(--dv42-blue); } body.dv42-page .dv42-role-panels { min-height: 23rem; padding-top: clamp(1.5rem, 3vw, 2.25rem); } body.dv42-page .dv42-role-panel { display: grid; grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding: clamp(1.4rem, 3vw, 2.5rem); border: 1px solid var(--dv42-line); border-radius: 14px; background: linear-gradient(135deg, rgb(255 255 255 / .98), rgb(243 248 249 / .9)), var(--dv42-white); box-shadow: 0 24px 64px rgb(8 55 79 / .07); } body.dv42-page .dv42-role-panel[hidden] { display: none; } body.dv42-page .dv42-role-panel__intro h3 { max-width: 11ch; margin: .5rem 0 .85rem; color: var(--dv42-blue-deep); font-size: clamp(1.65rem, 3vw, 2.8rem); font-weight: 640; line-height: 1.08; letter-spacing: -.04em; } body.dv42-page .dv42-role-panel__intro p { max-width: 28rem; margin: 0; color: var(--dv42-body); font-size: .9rem; line-height: 1.7; } body.dv42-page .dv42-role-panel__routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } body.dv42-page .dv42-role-route { min-width: 0; padding: .15rem 1rem .15rem 0; border-right: 1px solid var(--dv42-line); } body.dv42-page .dv42-role-route:last-child { border-right: 0; } body.dv42-page .dv42-role-route span { display: block; margin-bottom: .55rem; color: var(--dv42-green); font-size: .61rem; font-weight: 760; letter-spacing: .09em; } body.dv42-page .dv42-role-route strong { display: block; color: var(--dv42-ink); font-size: .88rem; line-height: 1.45; } body.dv42-page .dv42-role-route p { margin: .45rem 0 0; color: var(--dv42-muted); font-size: .76rem; line-height: 1.62; } body.dv42-page .dv42-role-panel__actions { display: flex; flex-wrap: wrap; gap: .85rem 1.2rem; align-items: center; grid-column: 2; margin-top: .2rem; } body.dv42-page .dv42-role-link { color: var(--dv42-blue); font-size: .8rem; font-weight: 700; text-decoration: none; } body.dv42-page .dv42-role-link::after { content: " \2192"; } /* Five accountable engineering nodes */ body.dv42-page .dv42-delivery-chain { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-block: 1px solid var(--dv42-line); } body.dv42-page .dv42-delivery-chain li { min-height: 13.5rem; padding: 1.4rem 1.2rem; border-right: 1px solid var(--dv42-line); background: rgb(255 255 255 / .36); } body.dv42-page .dv42-delivery-chain li:last-child { border-right: 0; } body.dv42-page .dv42-delivery-chain span { display: block; color: var(--dv42-green); font-size: .62rem; font-weight: 780; letter-spacing: .1em; } body.dv42-page .dv42-delivery-chain strong { display: block; margin-top: 2rem; color: var(--dv42-ink); font-size: 1rem; line-height: 1.4; } body.dv42-page .dv42-delivery-chain p { margin: .65rem 0 0; color: var(--dv42-muted); font-size: .76rem; line-height: 1.62; } /* Role handoff on domain pages */ body.dv42-page .dv42-role-handoff { padding-block: clamp(3.8rem, 6vw, 5.6rem); background: var(--dv42-white); } body.dv42-page .dv42-handoff-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--dv42-line); } body.dv42-page .dv42-handoff-grid article { min-height: 12rem; padding: 1.25rem 1rem; border-right: 1px solid var(--dv42-line); } body.dv42-page .dv42-handoff-grid article:last-child { border-right: 0; } body.dv42-page .dv42-handoff-grid span { color: var(--dv42-green); font-size: .61rem; font-weight: 760; letter-spacing: .08em; } body.dv42-page .dv42-handoff-grid h3 { margin: .65rem 0 .55rem; color: var(--dv42-ink); font-size: 1rem; line-height: 1.35; } body.dv42-page .dv42-handoff-grid p { margin: 0; color: var(--dv42-muted); font-size: .76rem; line-height: 1.62; } /* Real newsroom-driven progress */ body.dv42-page .dv42-releases { padding-block: clamp(4.2rem, 7vw, 6.2rem); background: #f7fafb; } body.dv42-page .dv42-release-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: .9rem; } body.dv42-page .dv42-release-card { display: grid; grid-template-rows: 13.2rem auto; overflow: hidden; border: 1px solid var(--dv42-line); border-radius: 13px; background: var(--dv42-white); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; } body.dv42-page .dv42-release-card:is(:hover, :focus-within) { border-color: var(--dv42-line-strong); transform: translateY(-2px); box-shadow: 0 18px 44px rgb(8 55 79 / .08); } body.dv42-page .dv42-release-card__media { overflow: hidden; background: #dce6e7; } body.dv42-page .dv42-release-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04); transition: transform .7s cubic-bezier(.16, 1, .3, 1), filter .2s ease; } body.dv42-page .dv42-release-card:is(:hover, :focus-within) img { filter: saturate(.88) contrast(1.04); transform: scale(1.02); } body.dv42-page .dv42-release-card__body { display: flex; flex-direction: column; padding: 1.25rem; } body.dv42-page .dv42-release-meta { display: flex; gap: .6rem; align-items: center; color: var(--dv42-green); font-size: .62rem; font-weight: 740; letter-spacing: .06em; } body.dv42-page .dv42-release-card h3 { margin: .75rem 0 .6rem; color: var(--dv42-ink); font-size: clamp(1rem, 1.3vw, 1.18rem); line-height: 1.4; letter-spacing: -.015em; } body.dv42-page .dv42-release-card p { margin: 0; color: var(--dv42-muted); font-size: .78rem; line-height: 1.64; } body.dv42-page .dv42-release-card a { align-self: flex-start; margin-top: auto; padding-top: 1rem; color: var(--dv42-blue); font-size: .76rem; font-weight: 720; text-decoration: none; } body.dv42-page .dv42-release-card a::after { content: " \2192"; } body.dv42-page .dv42-release-boundary { max-width: 50rem; margin: 1rem 0 0; color: var(--dv42-muted); font-size: .7rem; line-height: 1.6; } /* Existing pages: tighter, more legible technical rhythm */ body.dv42-page.dv21-domain-page .dv21-domain-hero { background: radial-gradient(circle at 85% 10%, rgb(8 123 91 / .07), transparent 30%), linear-gradient(180deg, #f7fafb 0%, #edf4f5 100%) !important; } body.dv42-page.dv21-domain-page .dv21-domain-hero__copy h1 { max-width: 15ch !important; } body.dv42-page .dv21-domain-stages { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 !important; border-block: 1px solid var(--dv42-line); } body.dv42-page .dv21-domain-stages li { min-height: 13.5rem !important; padding: 1.35rem 1.1rem !important; border-right: 1px solid var(--dv42-line) !important; background: transparent !important; } body.dv42-page .dv21-domain-stages li:last-child { border-right: 0 !important; } body.dv42-page .dv21-domain-stages li::before, body.dv42-page .dv21-domain-stages li::after { display: none !important; } body.dv42-page .dv21-domain-stages strong { color: var(--dv42-ink) !important; font-size: .91rem !important; line-height: 1.42 !important; } body.dv42-page .dv21-domain-stages p { color: var(--dv42-muted) !important; font-size: .74rem !important; line-height: 1.62 !important; } body.dv42-page :is(.dv2-page-intro, .dv21-domain-hero) + .dv42-role-context { border-bottom: 1px solid var(--dv42-line); } body.dv42-page .dv42-role-context { background: rgb(250 252 252 / .95); } body.dv42-page .dv42-role-context__inner { display: flex; gap: .55rem 1.15rem; align-items: center; min-height: 3.6rem; overflow-x: auto; scrollbar-width: none; } body.dv42-page .dv42-role-context__inner::-webkit-scrollbar { display: none; } body.dv42-page .dv42-role-context strong { flex: 0 0 auto; color: var(--dv42-ink); font-size: .72rem; } body.dv42-page .dv42-role-context a { flex: 0 0 auto; padding: .45rem .65rem; border-radius: 7px; color: var(--dv42-body); font-size: .68rem; text-decoration: none; } body.dv42-page .dv42-role-context a:is(:hover, :focus-visible) { color: var(--dv42-blue); background: #eaf2f6; } @media (max-width: 980px) { body.dv42-page .dv42-role-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.dv42-page .dv42-role-tab:nth-child(2) { border-right: 0; } body.dv42-page .dv42-role-tab:nth-child(-n + 2) { border-bottom: 1px solid var(--dv42-line); } body.dv42-page .dv42-role-panel { grid-template-columns: 1fr; } body.dv42-page .dv42-role-panel__actions { grid-column: 1; } body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages) li:nth-child(3) { border-right: 0 !important; } body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages) li:nth-child(-n + 3) { border-bottom: 1px solid var(--dv42-line) !important; } body.dv42-page .dv42-handoff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.dv42-page .dv42-handoff-grid article:nth-child(2) { border-right: 0; } body.dv42-page .dv42-handoff-grid article:nth-child(-n + 2) { border-bottom: 1px solid var(--dv42-line); } body.dv42-page .dv42-release-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.dv42-page .dv42-release-card:first-child { grid-column: 1 / -1; grid-template-columns: 1.1fr .9fr; grid-template-rows: minmax(16rem, auto); } } @media (max-width: 640px) { body.dv42-page .dv42-role-lab, body.dv42-page .dv42-releases, body.dv42-page .dv42-role-handoff { padding-block: 3.7rem; } body.dv42-page .dv42-section-head { margin-bottom: 1.6rem; } body.dv42-page .dv42-section-head h2 { max-width: 12ch; font-size: clamp(2rem, 10.5vw, 2.9rem); } body.dv42-page .dv42-role-tabs { display: flex; gap: .5rem; overflow-x: auto; padding: 0 0 .7rem; border: 0; scroll-snap-type: x mandatory; scrollbar-width: none; } body.dv42-page .dv42-role-tabs::-webkit-scrollbar { display: none; } body.dv42-page .dv42-role-tab, body.dv42-page .dv42-role-tab:nth-child(n) { flex: 0 0 10rem; min-height: 4.8rem; border: 1px solid var(--dv42-line); border-radius: 9px; scroll-snap-align: start; } body.dv42-page .dv42-role-tab[aria-selected="true"] { border-color: var(--dv42-line-strong); box-shadow: inset 0 -3px 0 var(--dv42-blue); } body.dv42-page .dv42-role-panels { min-height: 0; padding-top: .9rem; } body.dv42-page .dv42-role-panel { gap: 1.35rem; padding: 1.2rem; } body.dv42-page .dv42-role-panel__routes { grid-template-columns: 1fr; gap: 0; border-block: 1px solid var(--dv42-line); } body.dv42-page .dv42-role-route { padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--dv42-line); } body.dv42-page .dv42-role-route:last-child { border-bottom: 0; } body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages) { display: flex !important; gap: .65rem !important; overflow-x: auto; padding: 0 0 .8rem !important; border: 0; scroll-snap-type: x mandatory; scrollbar-width: none; } body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages)::-webkit-scrollbar { display: none; } body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages) li, body.dv42-page :is(.dv42-delivery-chain, .dv21-domain-stages) li:nth-child(n) { flex: 0 0 79%; min-height: 12rem !important; border: 1px solid var(--dv42-line) !important; border-radius: 10px; scroll-snap-align: start; } body.dv42-page .dv42-handoff-grid { grid-template-columns: 1fr; border-bottom: 0; } body.dv42-page .dv42-handoff-grid article, body.dv42-page .dv42-handoff-grid article:nth-child(n) { min-height: 0; padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--dv42-line); } body.dv42-page .dv42-release-grid { grid-template-columns: 1fr; } body.dv42-page .dv42-release-card, body.dv42-page .dv42-release-card:first-child { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 12rem auto; } body.dv42-page .dv42-role-context__inner { padding-block: .55rem; } } @media (prefers-reduced-motion: reduce) { body.dv42-page *, body.dv42-page *::before, body.dv42-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }