:root{--color-violet: #6C5CE7;--rule: rgba(1, 53, 109, 0.12);}
:focus-visible{
      outline: 2px solid var(--color-accent);
      outline-offset: 3px;
    }
.research-page{ --ink:var(--color-dark); --hairline:rgba(1,53,109,.13); }
.research-page [hidden]{ display:none!important; }
.research-page .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.research-hero{
      position:relative;
      overflow:hidden;
      border-radius:38px;
      padding:50px 54px 34px;
      color:#fff;
      background-color:var(--color-dark);
      background-image:
        linear-gradient(112deg, rgba(var(--color-dark-rgb), .88), rgba(var(--color-main-rgb), .78) 58%, rgba(7, 95, 144, .7)),
        url("../../images/factory.jpg");
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
    }
.research-hero::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.15) .7px,transparent .7px); background-size:24px 24px; mask-image:linear-gradient(90deg,transparent,#000); pointer-events:none; }
.research-hero__top{ position:relative; display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; }
.research-eyebrow{ margin:0 0 24px; font-size:12px; font-weight:600; letter-spacing:.19em; }
.research-eyebrow::before{ content:""; display:inline-block; width:25px; height:2px; background:#75DFCD; vertical-align:middle; margin-right:12px; }
.research-hero h1{ font-size:clamp(42px,4vw,68px); font-weight:500; letter-spacing:.06em; line-height:1.15; margin:0 0 20px; }
.research-tagline{ font-size:22px; letter-spacing:.15em; margin:0 0 18px; }
.research-lead span{ display:inline-block; }
.research-lead{ max-width:35em; font-size:15px; line-height:1.9; color:#D4E4F2; margin:0; }
.research-atlas{ position:relative; width:100%; max-width:680px; justify-self:end; }
.research-atlas svg,
.atlas-svg{ display:block; width:100%; height:auto; }
.atlas-caption{ text-align:center; color:#BFD4E8; font-size:11px; letter-spacing:.14em; margin:-6px 0 0; }
.atlas-leads path{ fill:none; }
.research-hero__bottom{ position:relative; display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid #ffffff30; padding-top:22px; margin-top:24px; }
.research-scope{ display:flex; align-items:center; gap:24px; font-size:13px; color:#D4E4F2; }
.research-scope b{ font-size:22px; color:#fff; font-weight:500; padding-right:6px; font-variant-numeric:tabular-nums; }

.atlas-glow{
        opacity: 0;
        animation: atlas-fade-in 0.7s ease 0.05s forwards;
      }
.atlas-rings{
        opacity: 0;
        animation: atlas-fade-in 0.65s ease 0.12s forwards;
      }
.atlas-core{
        opacity: 0;
        animation: atlas-fade-in 0.55s ease 0.18s forwards;
      }
.atlas-core-disk{
        transform-origin: 350px 200px;
        transform-box: view-box;
        animation: atlas-core-breathe 4.8s ease-in-out 1.4s infinite;
      }
.atlas-leads path{
        stroke-dasharray: 420;
        stroke-dashoffset: 420;
        animation: atlas-draw-lead 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
      }
.atlas-leads path:nth-child(1){ animation-delay: 0.35s; }
.atlas-leads path:nth-child(2){ animation-delay: 0.48s; }
.atlas-leads path:nth-child(3){ animation-delay: 0.42s; }
.atlas-leads path:nth-child(4){ animation-delay: 0.55s; }
.atlas-labels{
        opacity: 0;
        animation: atlas-fade-in 0.45s ease 0.7s forwards;
      }
.atlas-node{
        opacity: 0;
        animation: atlas-fade-in 0.35s ease forwards;
      }
.atlas-nodes-teal .atlas-node:nth-child(1){ animation-delay: 0.5s; }
.atlas-nodes-teal .atlas-node:nth-child(2){ animation-delay: 0.54s; }
.atlas-nodes-teal .atlas-node:nth-child(3){ animation-delay: 0.58s; }
.atlas-nodes-teal .atlas-node:nth-child(4){ animation-delay: 0.62s; }
.atlas-nodes-teal .atlas-node:nth-child(5){ animation-delay: 0.66s; }
.atlas-nodes-teal .atlas-node:nth-child(6){ animation-delay: 0.7s; }
.atlas-nodes-teal .atlas-node:nth-child(7){ animation-delay: 0.74s; }
.atlas-nodes-teal .atlas-node:nth-child(8){ animation-delay: 0.78s; }
.atlas-nodes-teal .atlas-node:nth-child(9){ animation-delay: 0.82s; }
.atlas-nodes-white .atlas-node:nth-child(1){ animation-delay: 0.72s; }
.atlas-nodes-white .atlas-node:nth-child(2){ animation-delay: 0.76s; }
.atlas-nodes-white .atlas-node:nth-child(3){ animation-delay: 0.8s; }
.atlas-nodes-white .atlas-node:nth-child(4){ animation-delay: 0.84s; }
.atlas-nodes-white .atlas-node:nth-child(5){ animation-delay: 0.88s; }
.atlas-nodes-white .atlas-node:nth-child(6){ animation-delay: 0.92s; }
.atlas-nodes-white .atlas-node:nth-child(7){ animation-delay: 0.96s; }
.atlas-nodes-white .atlas-node:nth-child(8){ animation-delay: 1s; }
.atlas-nodes-white .atlas-node:nth-child(9){ animation-delay: 1.04s; }
.atlas-nodes-white .atlas-node:nth-child(10){ animation-delay: 1.08s; }
.atlas-nodes-white .atlas-node:nth-child(11){ animation-delay: 1.12s; }
.atlas-nodes-white .atlas-node:nth-child(12){ animation-delay: 1.16s; }
.atlas-nodes-white .atlas-node:nth-child(13){ animation-delay: 1.2s; }
.atlas-nodes-white .atlas-node:nth-child(14){ animation-delay: 1.24s; }
.atlas-nodes-white .atlas-node:nth-child(15){ animation-delay: 1.28s; }
@keyframes atlas-fade-in {
        to { opacity: 1; }
      }
@keyframes atlas-draw-lead {
        to { stroke-dashoffset: 0; }
      }
@keyframes atlas-core-breathe {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.03); }
      }
.research-page.has-bar-motion .compound-bar{
        width: 0;
        transition: width 0.85s cubic-bezier(0.16, 1, 0.3, 1);
      }
.research-page.has-bar-motion .compound.is-bar-in .compound-bar{
        width: var(--source-width);
      }
.research-page.has-bar-motion .compound[data-approved="true"].is-bar-in .compound-bar::after{
        animation: approved-endpoint-pulse 2.8s ease-in-out 0.9s infinite;
      }
@keyframes approved-endpoint-pulse {
        0%, 100% { box-shadow: 0 0 0 3px rgba(0, 168, 150, 0.08); }
        50% { box-shadow: 0 0 0 7px rgba(0, 168, 150, 0.2); }
      }

.research-jump{ display:inline-flex; align-items:center; gap:13px; font-size:14px; }
.research-jump span{ display:grid; place-items:center; width:36px; height:36px; background:var(--color-accent); border-radius:50%; font-size:24px; }
.research-intro{ margin:22px 4px 38px;font-size:14px; color:#486780; }
.research-intro summary{ cursor:pointer; width:fit-content; }
.research-intro p{ line-height:1.95; margin:16px 0 0; }
.research-explorer{ scroll-margin-top:25px; margin-bottom:38px; }
.explorer-heading{ display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.explorer-heading h2{ font-size:30px; font-weight:500; letter-spacing:.04em; margin:0 0 5px; }
.explorer-heading p{ font-size:13px; color:#58738A; margin:0; }
.explorer-search{ display:flex; align-items:center; gap:12px; width:310px; padding:13px 17px; border:1px solid var(--hairline); border-radius:30px; background:#fff; }
.explorer-search svg{ flex-shrink:0; width:18px; height:18px; }
.explorer-search input{ min-width:0; width:100%; background:transparent; border:0; color:var(--ink); font:inherit; font-size:13px; outline:0; }
.explorer-search:focus-within{ outline:2px solid var(--color-accent); outline-offset:3px; }
.explorer-search input::placeholder{ color:#61788B; }
.explorer-layout{ display:grid; grid-template-columns:208px minmax(0,1fr); gap:26px; align-items:start; }
.explorer-sidebar{ position:sticky; top:24px; }
.explorer-filter-label{ margin:0 0 14px 14px; font-size:11px; letter-spacing:.12em; color:#58738A; }
.area-filters{ display:grid; gap:7px; }
.area-filter{ display:flex; justify-content:space-between; align-items:center; width:100%; padding:14px; gap:12px; border:1px solid transparent; background:transparent; border-radius:14px; text-align:left; font:inherit; color:var(--ink); font-size:14px; cursor:pointer; }
.area-filter small{ font-size:12px; font-variant-numeric:tabular-nums; opacity:.8; }
.area-filter:hover{ background:#E6EDF4; }
.area-filter[aria-pressed="true"]{ background:var(--color-main); color:#fff; box-shadow:0 8px 20px #01478f14; }
.explorer-key{ border-top:1px solid var(--hairline); padding:22px 14px 0; margin-top:24px; font-size:12px; color:#58738A; }
.explorer-key p{ margin:0 0 13px; }
.legend-line{ display:inline-block; width:24px; height:5px; background:var(--color-main); border-radius:5px; margin-right:8px; vertical-align:middle; }
.legend-line.approved{ background:var(--color-accent); }
.explorer-key a{ text-decoration:underline; text-underline-offset:4px; }
.pipeline-board{ min-width:0; padding:26px 30px 16px; border:1px solid #fff; border-radius:28px; background:#fff; box-shadow:0 12px 40px #01356d05; }
.board-topline{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:20px; color:#58738A; font-size:12px; }
.board-topline p{ margin:0; }
.board-topline strong{ color:var(--ink); font-weight:500; }
.board-mobile-hint{ display:none; }
.pipeline-scroll{ overflow-x:auto; overscroll-behavior-x:contain; scrollbar-color:#A5BACD #F4F6FA; scrollbar-width:thin; }
.pipeline-matrix{ min-width:800px; }
.matrix-heading,
.compound-summary{ display:grid; grid-template-columns:215px minmax(0,1fr) 38px; align-items:center; gap:14px; }
.matrix-heading{ padding:14px 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); font-size:12px; color:#58738A; }
.matrix-heading>span:first-child{ padding-left:12px; }
.matrix-stages{ display:grid; grid-template-columns:repeat(6,1fr); text-align:center; gap:0; font-size:12px; }
.matrix-stages span:last-child{ color:#087568; }
.matrix-area{ margin-top:25px; }
.matrix-area-heading{ display:flex; align-items:center; gap:12px; padding:12px 12px 15px; border-bottom:1px solid var(--hairline); }
.matrix-area-heading .area-index{ display:grid; place-items:center; width:27px; height:27px; border:1px solid #CADAE7; border-radius:50%; font-size:11px; }
.matrix-area-heading h3{ margin:0; font-size:19px; font-weight:500; }
.matrix-area-heading .area-english{ font-size:12px; color:#678297; }
.matrix-area-heading .area-visible-count{ margin-left:auto; color:#58738A; font-size:12px; }
.compound{ border-bottom:1px solid #E8EFF4; scroll-margin-top:30px; }
.compound-summary{ cursor:pointer; list-style:none; padding:17px 0; position:relative; border-radius:12px; }
.compound-summary::-webkit-details-marker{ display:none; }
.compound-summary:hover{ background:#F4F8FB; }
.compound[open]{ border-bottom-color:#B7CEDE; }
.compound[open] .compound-summary{ background:#F0F6FB; }
.compound-identity{ padding-left:12px; display:flex; flex-direction:column; gap:3px; }
.compound-name{ font-size:17px; font-weight:600; letter-spacing:.01em; }
.compound-target{ font-size:12px; color:#58738A; }
.compound-track{ position:relative; height:31px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666666% - 1px),#E4EDF4 calc(16.666666% - 1px),#E4EDF4 16.666666%); }
.compound-track::before{ content:""; position:absolute; left:0; right:0; top:14px; height:2px; background:#E8EFF4; }
.compound-bar{ position:absolute; left:0; top:12px; width:var(--source-width); height:6px; border-radius:4px; background:var(--color-main); }
.compound-bar::after{ content:""; position:absolute; right:0; top:50%; width:10px; height:10px; transform:translate(0,-50%); border-radius:50%; background:#fff; border:3px solid var(--color-main); box-shadow:0 0 0 3px #01478f0b; }
.compound[data-approved="true"] .compound-bar{ background:var(--color-accent); }
.compound[data-approved="true"] .compound-bar::after{ border-color:var(--color-accent); box-shadow:0 0 0 3px rgba(0,168,150,0.1); }
.compound-toggle{ width:28px; height:28px; display:grid; place-items:center; border:1px solid #D7E3EB; border-radius:50%; font-size:20px; line-height:1; font-weight:300; color:var(--color-main); }
.compound-toggle::before{ content:"+"; }
.compound[open] .compound-toggle{ color:#fff; background:var(--color-main); border-color:var(--color-main); }
.compound[open] .compound-toggle::before{ content:"−"; }
.compound-body{ padding:24px 28px 28px; background:#F8FAFC; border-radius:0 0 16px 16px; }
.compound-body-label{ display:flex; justify-content:space-between; gap:15px; color:#53748D; font-size:11px; letter-spacing:.06em; margin-bottom:18px; }
.compound-body-label a{ text-decoration:underline; text-underline-offset:4px; }
.compound-copy{ font-size:14px; line-height:1.95; max-width:78em; }
.compound-copy p{ margin:0 0 14px; }
.compound-copy p:last-child{ margin-bottom:0; }
.compound-note{ margin:0 0 20px; padding:12px 16px; border-left:2px solid var(--color-accent); background:#EAF4F4; color:#315F69; font-size:13px; line-height:1.8; }
.matrix-empty{ padding:50px 15px; text-align:center; color:#58738A; }
.matrix-empty button{ display:block; margin:18px auto 0; border:0; background:var(--color-main); color:white; padding:10px 20px; border-radius:25px; font:inherit; cursor:pointer; }
.research-note{ padding:26px 0 36px; display:grid; grid-template-columns:208px 1fr; gap:26px; font-size:12px; line-height:1.9; color:#58738A; }
.research-note h2{ margin:0; font-size:14px; color:var(--ink); font-weight:500; }
.research-note p{ margin:0 0 9px; }
.research-next{ display:flex; justify-content:space-between; align-items:center; gap:24px; padding:30px 0 42px; border-top:1px solid var(--hairline); }
.research-next p{ font-size:22px; font-weight:500; margin:0; }
.research-next .cta-plus:hover .cta-plus-circle{ background:var(--color-main); }
@media  (min-width:1700px) {
.research-hero{ padding-top:36px; }
.research-atlas{ max-width:520px; }
}
@media  (max-width:1200px) {
.research-hero{ padding:35px; }
.research-hero__top{ gap:10px; }
.explorer-layout{ grid-template-columns:175px minmax(0,1fr); gap:18px; }
.pipeline-board{ padding:22px 20px; }
.research-note{ grid-template-columns:175px 1fr; gap:18px; }
}
@media  (max-width:992px) {
.research-hero__top{ grid-template-columns:1fr 1fr; }
.research-atlas{ margin-right:-15px; width:calc(100% + 15px); }
.research-lead{ font-size:13px; }
.research-tagline{ font-size:19px; }
.research-eyebrow{ font-size:10px; }
.explorer-layout{ display:block; }
.explorer-sidebar{ position:static; }
.explorer-filter-label,
.explorer-key{ display:none; }
.area-filters{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.area-filter{ width:auto; padding:10px 14px; border:1px solid var(--hairline); border-radius:24px; font-size:13px; }
.research-note{ grid-template-columns:1fr; gap:10px; }
.board-mobile-hint{ display:block; }
}
@media  (max-width:640px) {
.research-hero{ border-radius:26px; padding:29px 23px 22px; }
.research-hero__top{ display:block; }
.research-hero h1{ font-size:43px; }
.research-eyebrow{ margin-bottom:20px; }
.research-atlas{ width:calc(100% + 34px); margin:18px -17px 0; }
.atlas-caption{ font-size:9px; }
.research-hero__bottom{ gap:12px; margin-top:20px; padding-top:17px; }
.research-scope{ gap:13px; font-size:11px; }
.research-scope b{ font-size:19px; }
.research-jump{ gap:7px; font-size:12px; }
.research-jump span{ width:29px; height:29px; }
.research-intro{ font-size:12px; margin-bottom:28px; }
.explorer-heading{ align-items:stretch; flex-direction:column; gap:16px; }
.explorer-heading h2{ font-size:27px; }
.explorer-search{ width:100%; }
.pipeline-board{ padding:18px 13px; border-radius:22px; }
.board-topline{ flex-direction:column; align-items:start; gap:8px; }
.pipeline-matrix{ min-width:780px; }
.matrix-heading,
.compound-summary{ grid-template-columns:170px minmax(0,1fr) 34px; gap:10px; }
.compound-identity{ position:sticky; left:0; z-index:2; background:#fff; margin:-17px 0; padding:17px 12px; min-height:74px; justify-content:center; box-shadow:7px 0 9px -9px #01356d; }
.compound[open] .compound-identity{ background:#F0F6FB; }
.compound-name{ font-size:15px; }
.compound-body{ padding:20px 16px; max-width:calc(100vw - 70px); position:sticky; left:0; }
.compound-copy{ font-size:13px; }
.matrix-area-heading .area-english{ display:none; }
.research-next{ align-items:start; flex-direction:column; }
.research-next p{ font-size:19px; }
}
@media  (max-width:640px) {
.research-atlas svg text{ font-size:24px; }
.atlas-caption{ font-size:10px; letter-spacing:0; }
.matrix-heading>span:first-child{ position:sticky; left:0; background:#fff; z-index:3; padding-block:8px; }
}
@media  (max-width:640px) {
.matrix-area-heading{ position:sticky; left:0; max-width:calc(100vw - 70px); min-height:63px; background:#fff; }
.matrix-area-heading h3{ font-size:17px; }
.matrix-area-heading .area-visible-count{ font-size:11px; white-space:nowrap; }
}
@media   print {
.research-hero,
.explorer-sidebar,
.explorer-search,
.research-next,
.research-intro{ display:none; }
.explorer-layout{ display:block; }
.pipeline-scroll{ overflow:visible; }
.pipeline-matrix{ min-width:0; }
.pipeline-board{ padding:0; }
.compound{ break-inside:avoid; }
}
@media   (max-width: 992px) {
.stage-stat--total{
        grid-column: 1 / -1;
        border-right: 0;
        border-bottom: 1px solid var(--rule);
        padding-bottom: 12px;
        margin-bottom: 4px;
      }
.stage-stat:nth-child(3n){ border-right: 0; }
.pipe-row{
        grid-template-columns: minmax(120px, 0.7fr) 1fr 36px;
        grid-template-areas:
          "product track action"
          "product label action";
        gap: 8px 16px;
        row-gap: 10px;
      }
.pipe-track{ grid-area: track; }
.pipe-detail{
        grid-area: action;
        grid-column: auto;
        grid-row: auto;
      }
}
@media   (max-width: 575px) {
.stage-stats{
        grid-template-columns: repeat(2, 1fr);
      }
.stage-stat:nth-child(2n){ border-right: 0; }
.stage-label{ justify-self: start; }
}
button{
      cursor: pointer;
    }
button:focus-visible{
      outline: 3px solid var(--color-accent);
      outline-offset: 3px;
    }
@supports   (mask-image: linear-gradient(#000, #000)) or (-webkit-mask-image: linear-gradient(#000, #000)) {
.hero-card-fluid{
        -webkit-mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000), var(--cutout-image);
        mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000), var(--cutout-image);
        -webkit-mask-size: calc(100% - var(--cutout-width) + 0.5px) 100%, var(--cutout-width) calc(100% - var(--cutout-height) + 0.5px), var(--cutout-width) var(--cutout-height);
        mask-size: calc(100% - var(--cutout-width) + 0.5px) 100%, var(--cutout-width) calc(100% - var(--cutout-height) + 0.5px), var(--cutout-width) var(--cutout-height);
        -webkit-mask-position: var(--cutout-fill-edge) top, var(--cutout-edge) top, var(--cutout-edge) bottom;
        mask-position: var(--cutout-fill-edge) top, var(--cutout-edge) top, var(--cutout-edge) bottom;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
      }
}
:root{--finish-rule: rgba(1,53,109,.14);--finish-muted: #496881;--finish-space: clamp(40px,4.4vw,72px);}
.page-wrapper :is(h1,h2,h3,h4,p,dd){ overflow-wrap: break-word; }
.page-wrapper :is(button,input,select,textarea){ font-family: var(--font-sans); }
.page-wrapper :is(a,button,summary):focus-visible{ outline: 3px solid var(--color-accent); outline-offset: 4px; }

.research-hero__top{ grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
.research-lead{ font-size: 16px; }
.research-hero__bottom{ flex-wrap: wrap; }
.research-scope{ flex-wrap: wrap; row-gap: 10px; }
.research-intro{ line-height: 1.85; }
.research-intro summary{ padding-block: 10px; min-height: 44px; }
.explorer-search input{ font-size: 15px; }
.explorer-heading p{ font-size: 14px; line-height: 1.7; }
.pipeline-board{ border-color: var(--finish-rule); box-shadow: none; }
.pipeline-scroll{ padding: 4px 4px 14px; scrollbar-gutter: stable; }
.compound-target{ font-size: 13px; line-height: 1.6; }
.compound-copy{ font-size: 16px; line-height: 1.95; max-width: 66em; }
.compound-body-label{ font-size: 13px; line-height: 1.7; flex-wrap: wrap; }
.compound-body-label a{ padding-block: 4px; }
.research-note{ font-size: 14px; line-height: 1.85; padding-top: 32px; }
.research-note h2{ font-size: 16px; }
.research-next{ margin-bottom: 20px; }
@media   (max-width: 640px) {
.research-lead{ font-size: 15px; }
.research-tagline{ line-height: 1.7; letter-spacing: .08em; }
.research-scope{ gap: 10px; font-size: 12px; }
.research-jump{ min-height: 44px; }
.research-hero__bottom{ align-items: flex-start; }
.research-intro{ font-size: 14px; }
.compound-copy{ font-size: 15px; }
.compound-body{ max-width: calc(100vw - 94px); }
.matrix-area-heading{ max-width: calc(100vw - 94px); flex-wrap: wrap; }
}
