/* Noto Sans SC: SIL Open Font License 1.1; see assets/fonts/noto-sans-sc/OFL.txt. */
@font-face{
  font-family: "Noto Sans SC Home";
  src: url("../fonts/noto-sans-sc/noto-sans-sc-home.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
html[lang="zh-CN"] body[data-page="index"]{
  --font-sans: "Noto Sans SC Home", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-family: var(--font-sans);
  font-weight: 400;
}
html[lang="zh-CN"] body[data-page="index"] :is(.hero-card h1,.hero-card h2){
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.2;
}
html[lang="zh-CN"] body[data-page="index"] :is(.section-title,.feature-content h3,.closing-cta h2){
  font-weight: 500;
  letter-spacing: .015em;
}
html[lang="zh-CN"] body[data-page="index"] :is(.hero-card p,.section-sub){
  font-weight: 400;
  letter-spacing: .015em;
}
html[lang="zh-CN"] body[data-page="index"] :is(.nav-link,.cta-plus,.news-title){ font-weight: 500; }
#about,
#products,
#pipeline,
#news{
      scroll-margin-top: 16px;
    }

.pipeline-table-preview.is-revealed .phase-progress::after{
      animation:phasePulse 2.2s ease-out infinite!important;
    }
.hero-fluid-blob--4{animation:fluidBlobDrift4 16s ease-in-out infinite alternate!important}
@keyframes borderLightRun {
      0% { background-position: -60% 0; }
      100% { background-position: 220% 0; }
    }
@keyframes floatLight {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-8px); }
    }
@keyframes fluidBlobDrift4 {
      0%, 100% { transform: translate(0, 0) scale(1); }
      35% { transform: translate(5%, 6%) scale(1.06); }
      75% { transform: translate(-4%, -7%) scale(0.98); }
    }
@keyframes marqueeShift {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
.hero-section{
      display: grid;
      grid-template-columns: minmax(0, 5.2fr) minmax(0, 6.8fr);
      grid-template-rows: auto;
      gap: 24px;
      margin-bottom: 48px;
      align-items: stretch;
    }
.hero-card-wrap{
      position: relative;
      width: 100%;
      height: auto;
      min-height: 0;
      max-height: none;
      align-self: stretch;
    }
.hero-card{
      background: var(--color-light);
      border: 1px solid rgba(147, 197, 253, 0.14);
      border-radius: 50px;
      padding: 48px 48px 150px 52px;
      color: var(--color-base);
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      position: relative;
      height: 100%;
      min-height: 0;
      max-height: none;
      overflow: visible;
      isolation: isolate;
    }
.hero-card-fluid{
      position: absolute;
      inset: 0;
      border-radius: inherit;
      overflow: hidden;
      z-index: 0;
      pointer-events: none;
      background: linear-gradient(155deg, var(--color-dark) 0%, var(--color-main) 45%, var(--color-deep) 100%);
    }
.hero-fluid-blob{
      position: absolute;
      border-radius: 50%;
      filter: blur(48px);
      will-change: transform;
      mix-blend-mode: screen;
    }
.hero-fluid-blob--4{
      width: 42%;
      height: 44%;
      bottom: 6%;
      right: 8%;
      background: radial-gradient(circle, rgba(212, 175, 55, 0.22) 0%, rgba(var(--color-deep-rgb), 0.35) 50%, transparent 72%);
      animation: fluidBlobDrift4 16s ease-in-out infinite alternate;
    }
.hero-card-fluid::after{
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        radial-gradient(ellipse 100% 70% at 78% 18%, rgba(255, 255, 255, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse 120% 80% at 50% 100%, rgba(0, 0, 0, 0.22) 0%, transparent 55%);
    }
/* A transparent mechanism illustration occupies the space below the copy. */
.hero-pathway{
      position: absolute;
      right: 16px;
      bottom: 31px;
      width: min(76%, 360px);
      height: 192px;
      z-index: 1;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.45s var(--ease-ui);
    }
/* Armed only while the copy slide that owns the mechanism is on screen. */
.hero-pathway.is-active{ opacity: 1; }
.hero-pathway svg{ width: 100%; height: 100%; overflow: visible; }
.hero-pathway__labels{ font: 12px var(--font-sans); fill: #b5dce9; color: #b5dce9; }
.hero-pathway__gold{ fill: #efcf79; }
.hero-pathway__note{ font-size: 10px; fill: #a6cbdc; letter-spacing: .7px; }

.hero-card::after{
      content: "";
      position: absolute;
      top: 0;
      left: 50px;
      right: 50px;
      z-index: 4;
      height: 2px;
      pointer-events: none;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), rgba(212, 175, 55, 0.65), transparent) no-repeat;
      background-size: 34% 100%;
      animation: borderLightRun 8s linear infinite;
    }
.hero-card-content{
      position: relative;
      z-index: 2;
      max-width: 34em;
    }
.hero-card h1,
.hero-card h2{
      font-size: var(--fs-h1);
      line-height: 1.12;
      margin: 0 0 12px 0;
      font-weight: 700;
      letter-spacing: -0.02em;
      text-wrap: balance;
      max-width: 100%;
    }
/* 第二屏「安全、高效、可负担」更长：双栏时再收一档字号，优先在顿号后换行 */
.hero-card h2.hero-title--long{
      font-size: clamp(32px, 3.15vw, 44px);
      line-height: 1.22;
      letter-spacing: -.015em;
    }
.hero-card .hero-en-slogan{
      margin: 0 0 10px 0;
      font-size: clamp(14px, 1.2vw, 16px);
      font-weight: 600;
      letter-spacing: 0.12em;
      color: var(--color-gold);
    }
.hero-card .hero-en-slogan--zh{
      letter-spacing: 0.04em;
    }
.hero-card h1 span.gold-highlight,
.hero-card h2 span.gold-highlight{
      color: var(--color-gold);
      background: linear-gradient(105deg, #fff6dc 0%, var(--color-gold) 42%, #f0d78a 68%, #fff6dc 100%);
      background-size: 220% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: goldShimmer 10s ease-in-out infinite;
    }
@keyframes goldShimmer {
      0%, 100% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
    }
.hero-card p{
      font-size: var(--fs-lead);
      color: var(--color-light);
      margin: 0 0 28px 0;
      opacity: 0.95;
      line-height: 1.7;
      max-width: 32em;
    }
.hero-slides article > p:last-of-type{
      margin-bottom: 0;
    }
.hero-cta-row{
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 18px 28px;
      margin-top: 20px;
      position: relative;
      z-index: 3;
    }
.hero-card-content .cta-plus{
      margin-top: 0;
    }
.cta-ghost{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 44px;
      padding: 0 4px;
      font-size: 15px;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.88);
      border-bottom: 1px solid rgba(255, 255, 255, 0.28);
      transition: color 0.2s ease, border-color 0.2s ease;
    }
.cta-ghost:hover{
      color: #fff;
      border-color: var(--color-gold);
    }
.cta-ghost svg{
      width: 16px;
      height: 16px;
      transition: transform 0.25s var(--ease-out);
    }
.cta-ghost:hover svg{
      transform: translateX(3px);
    }
.hero-media-stack{
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      min-width: 0;
      width: 100%;
      min-height: 0;
      height: 100%;
      align-self: stretch;
      position: relative;
    }
/* Overlay rail: inside the rounded media frame, bottom-right over the soft wash. */
.hero-media-controls{
      position: absolute;
      right: 18px;
      bottom: 18px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 6px 8px 6px 14px;
      margin: 0;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid rgba(255, 255, 255, 0.55);
      box-shadow: 0 10px 28px rgba(1, 40, 83, 0.16);
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
    }
.hero-progress{
      width: 56px;
      height: 2px;
      border-radius: 999px;
      background: rgba(var(--color-main-rgb), 0.16);
      overflow: hidden;
    }
.hero-progress__bar{
      height: 100%;
      width: 0%;
      border-radius: inherit;
      background: var(--color-main);
      transform-origin: left center;
    }
.hero-section.is-progressing .hero-progress__bar{
      animation: heroProgressFill var(--hero-progress-duration, 9s) linear forwards;
    }
@keyframes heroProgressFill {
      from { width: 0%; }
      to { width: 100%; }
    }
.hero-dots{
      display: flex;
      align-items: center;
      gap: 7px;
    }
.hero-dots button{
      width: 7px;
      height: 7px;
      padding: 0;
      border: 0;
      border-radius: 999px;
      background: rgba(var(--color-main-rgb), 0.28);
      cursor: pointer;
      transition: width 0.25s ease, background 0.2s ease;
    }
.hero-dots button.is-active{
      width: 18px;
      background: var(--color-main);
      transform: none;
    }
.hero-pause{
      width: 32px;
      height: 32px;
      border: 0;
      border-radius: 50%;
      background: var(--color-main);
      color: #fff;
      display: grid;
      place-items: center;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.2s ease;
    }
.hero-pause:hover{
      background: var(--color-deep);
    }
.hero-pause.is-paused{
      background: var(--color-deep);
    }
.hero-pause:focus-visible{
      outline: 2px solid var(--color-gold);
      outline-offset: 2px;
    }
.hero-pause svg{
      width: 12px;
      height: 12px;
    }
.hero-pause .icon-play{ display: none; }
.hero-pause.is-paused .icon-pause{ display: none; }
.hero-pause.is-paused .icon-play{ display: block; }
.hero-image-wrapper{
      border-radius: 36px 72px 28px 56px;
      overflow: hidden;
      width: 100%;
      /* Side-by-side: grow with the left card so the carousel does not leave a dead zone underneath. */
      flex: 1 1 auto;
      aspect-ratio: auto;
      height: auto;
      min-height: clamp(220px, 26vw, 368px);
      max-height: none;
      align-self: stretch;
      position: relative;
      box-shadow: var(--glass-shadow);
    }
.hero-image-wrapper::after{
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(1, 40, 83, 0.18) 0%, transparent 28%),
        linear-gradient(180deg, transparent 55%, rgba(1, 40, 83, 0.28) 100%);
      transition: opacity 0.45s var(--ease-ui);
    }
.hero-image-wrapper > img{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      opacity: 0;
      transform: scale(1.04);
      transition: opacity 0.7s var(--ease-ui), transform 8s linear;
    }
.hero-image-wrapper > img{
      object-fit: cover;
      object-position: center 30%;
    }
.hero-image-wrapper > img.is-active{
      opacity: 1;
      transform: scale(1);
    }
.hero-image-wrapper:hover > img.is-active{
      transform: scale(1.06);
      transition: opacity 0.7s var(--ease-ui), transform 0.9s var(--ease-out);
    }
.hero-slides{
      display: grid;
    }
.hero-slides article{
      grid-area: 1 / 1;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      z-index: 0;
      transition: opacity 0.45s var(--ease-ui), visibility 0s linear 0.45s;
    }
.hero-slides article.is-active{
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      z-index: 1;
      transition: opacity 0.45s var(--ease-ui), visibility 0s linear 0s;
    }
.hero-card .cta-plus-circle{
      background: rgba(255, 255, 255, 0.2);
      color: var(--color-base);
      border: 1px solid rgba(255, 255, 255, 0.35);
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    }
.hero-card-scroll{
      width: var(--hero-scroll-size);
      height: var(--hero-scroll-size);
      border-radius: var(--radius-circle);
      background: radial-gradient(ellipse 120% 130% at 50% 0%, #0066CC 0%, #0055A5 46%, #00254dba 100%);
      border: 1px solid rgba(255, 255, 255, 0.28);
      color: var(--color-base);
      display: grid;
      place-items: center;
      box-shadow: 0 8px 24px rgba(var(--color-deep-rgb), 0.32);
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
      animation: scrollCue 2.4s ease-in-out infinite;
    }
@keyframes scrollCue {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(5px); }
    }
.hero-card-scroll:hover{
      background: rgba(var(--color-deep-rgb), 0.94);
      box-shadow: 0 10px 28px rgba(var(--color-deep-rgb), 0.4);
      transform: translateY(1px);
      animation: none;
    }
.hero-card-scroll svg{
      width: 18px;
      height: 18px;
    }
.about-atlas{
      position: relative;
      overflow: hidden;
      border-radius: var(--radius-special);
      color: var(--color-base);
      margin-bottom: 40px;
      min-height: 560px;
      padding: 88px var(--page-pad-x) 0;
      background: linear-gradient(145deg, rgba(1, 53, 109, 0.94) 0%, rgba(var(--color-deep-rgb), 0.98) 46%, rgba(1, 71, 143, 0.9) 100%);
      box-shadow: var(--glass-shadow);
    }
.about-atlas__video{
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 70% 42%;
      mix-blend-mode: screen;
      opacity: 0.46;
      -webkit-mask-image: linear-gradient(115deg, transparent 0%, transparent 22%, rgba(0, 0, 0, 0.35) 48%, #000 78%);
      mask-image: linear-gradient(115deg, transparent 0%, transparent 22%, rgba(0, 0, 0, 0.35) 48%, #000 78%);
      pointer-events: none;
    }

.about-atlas__layout{
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(180px, 0.45fr);
      gap: clamp(56px, 10vw, 140px);
      align-items: end;
    }
.about-atlas__copy{
      max-width: 32rem;
    }
.about-atlas h2{
      margin: 0 0 28px;
      font-size: clamp(36px, 4.6vw, 56px);
      line-height: 1.4;
      font-weight: 700;
      letter-spacing: -0.02em;
    }
.about-atlas h2 span{
      color: var(--color-gold);
    }
.about-atlas .lead{
      margin: 0 0 40px;
      max-width: 28em;
      font-size: var(--fs-lead);
      line-height: 1.8;
      color: rgba(232, 241, 248, 0.86);
    }
.about-atlas .cta-plus{
      color: #fff;
    }
.about-atlas .cta-plus-circle{
      background: rgba(126, 232, 212, 0.14);
      border: 1px solid rgba(126, 232, 212, 0.38);
      color: #fff;
      box-shadow: 0 4px 16px rgba(0, 168, 150, 0.22);
    }
.about-atlas .cta-plus:hover .cta-plus-circle{
      background: linear-gradient(135deg, #00A896, #7EE8D4);
      color: #012428;
      box-shadow: 0 6px 20px rgba(0, 168, 150, 0.4);
    }
.about-atlas__metrics{
      display: flex;
      flex-direction: column;
      gap: 40px;
      padding-bottom: 6px;
    }
.about-metric{
      display: block;
      color: #fff;
      text-decoration: none;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }
.about-metric:hover,
.about-metric:focus-visible{
      transform: translateX(4px);
      outline: none;
    }
.about-metric:focus-visible strong{
      color: var(--color-gold);
    }
.about-metric strong{
      display: block;
      font-size: clamp(40px, 3.8vw, 52px);
      line-height: 1;
      letter-spacing: -0.045em;
      font-variant-numeric: tabular-nums;
      font-weight: 700;
    }
.about-metric span{
      display: block;
      margin-top: 10px;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.01em;
      color: rgba(255, 255, 255, 0.58);
    }
.about-marquee{
      position: relative;
      z-index: 1;
      margin: 56px calc(var(--page-pad-x) * -1) 0;
      padding: 18px 0 22px;
      overflow: hidden;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
.about-marquee__track{
      display: flex;
      width: max-content;
      animation: marqueeShift 32s linear infinite;
    }
.about-marquee:hover .about-marquee__track{
      animation-play-state: paused;
    }
.about-marquee__track span{
      padding: 0 28px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.12em;
      white-space: nowrap;
      color: rgba(255, 255, 255, 0.48);
    }
.products-tray{
      position: relative;
      isolation: isolate;
      overflow: hidden;
      background: var(--glass-bg);
      backdrop-filter: var(--blur-strength);
      -webkit-backdrop-filter: var(--blur-strength);
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-special);
      padding: 50px var(--page-pad-x);
      margin-bottom: 40px;
      box-shadow: var(--glass-shadow);
    }
.tray-science{
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
    }
.tray-science svg{
      position: absolute;
      overflow: visible;
    }
.ecg-rule{
      position: relative;
      height: 64px;
      margin: -12px 0 8px;
      pointer-events: none;
    }
.ecg-rule svg,
.ecg-rule__head{
      position: absolute;
    }
.ecg-rule__line{
      left: 0;
      width: calc(100% - 50px);
      top: 0;
      height: 100%;
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
      mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    }
.ecg-rule__line path{
      stroke-width: 2;
      vector-effect: non-scaling-stroke;
      fill: none;
    }
.ecg-rule__base{
      stroke: rgba(var(--color-main-rgb), 0.14);
    }
.ecg-rule__signal{
      stroke: rgba(0, 168, 150, 0.42);
      stroke-linecap: round;
      stroke-dasharray: 1300;
      stroke-dashoffset: 1300;
    }
.ecg-rule__head{
      top: 0;
      left: 0;
      width: 120px;
      height: 40px;
      background: radial-gradient(
        closest-side,
        rgba(0, 168, 150, 0.26),
        rgba(0, 168, 150, 0.07) 55%,
        transparent 78%
      );
      opacity: 0;
    }
.ecg-rule__ligand{
      left: 0;
      top: 0;
      width: 64px;
      height: 64px;
      filter: drop-shadow(0 0 6px rgba(0, 168, 150, 0.2));
      opacity: 0;
    }
.ecg-rule__receptor{
      right: -30px;
      top: 50%;
      width: 140px;
      height: 160px;
      transform: translateY(-50%);
      color: rgba(var(--color-main-rgb), 0.13);
    }
.ecg-rule__dock{
      opacity: 0;
    }
.ecg-rule__dock circle{
      fill: rgba(0, 168, 150, 0.7);
    }
.ecg-rule.is-bound .ecg-rule__ligand circle{
      fill: rgba(0, 168, 150, 0.24);
    }
.tray-science__gel{
      left: 2.6%;
      bottom: 20px;
      width: 96px;
      height: 128px;
      color: rgba(var(--color-main-rgb), 0.13);
    }
.tray-science__gel-hit{
      stroke: rgba(0, 168, 150, 0.24);
    }
.products-tray .section-head,
.products-tray .product-grid{
      position: relative;
      z-index: 1;
    }
.section-title{
      font-size: var(--fs-h2);
      font-weight: 700;
      color: var(--color-dark);
      margin: 0 0 10px 0;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
    }
.section-title h2{
      margin: 0;
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
    }
.section-head{
      margin-bottom: 28px;
    }
.section-head .section-title{
      margin-bottom: 8px;
    }
.section-lead{
      margin: 0;
      max-width: 42em;
      font-size: 15px;
      line-height: 1.65;
      color: rgba(1, 53, 109, 0.72);
    }
.section-title .cta-plus{
      font-size: 14px;
    }
.section-title .cta-plus-circle{
      width: 36px;
      height: 36px;
      font-size: 18px;
    }
.link-more{
      font-size: 14px;
      font-weight: 600;
      color: var(--color-main);
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 44px;
    }
.link-more:hover{
      color: var(--color-accent);
    }
.partners-strip{
      position: relative;
      overflow: hidden;
      margin-bottom: 40px;
      padding: 32px 0 26px;
      border-radius: var(--radius-special);
      background: #fff;
      border: 1px solid rgba(var(--color-main-rgb), 0.08);
      box-shadow: var(--glass-shadow);
    }
.partners-strip__head{
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 16px;
      padding: 0 var(--page-pad-x) 18px;
      flex-wrap: wrap;
    }
.partners-strip__head p{
      margin: 0;
      font-size: 18px;
      font-weight: 700;
      color: var(--color-dark);
      letter-spacing: 0;
    }
.partners-strip__head a{
      font-size: 14px;
      font-weight: 600;
      color: var(--color-main);
      min-height: 44px;
      display: inline-flex;
      align-items: center;
    }
.partners-strip__head a:hover{
      color: var(--color-accent);
    }
.partners-strip__viewport{
      overflow: hidden;
      mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    }
.partners-strip__track{
      display: flex;
      width: max-content;
      gap: 14px;
      padding: 4px var(--page-pad-x) 8px;
      animation: partnersMarquee 42s linear infinite;
    }
/* Two identical sets of 15 tiles; exclude edge padding and half the joining gap. */
@keyframes partnersMarquee{
      from{transform:translateX(0)}
      to{transform:translateX(calc(-50% + var(--page-pad-x) - 7px))}
    }
.partners-strip__track{
      animation:partnersMarquee 42s linear infinite!important;
    }
/* Keep the requested marquee running while the section is being viewed. */
.partners-strip__tile{
      flex: 0 0 auto;
      width: 156px;
      height: 78px;
      display: grid;
      place-items: center;
      padding: 14px 18px;
      border-radius: 18px;
      background: rgba(var(--color-main-rgb), 0.03);
      border: 1px solid rgba(var(--color-main-rgb), 0.06);
      transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    }
.partners-strip__tile:hover{
      background: #fff;
      border-color: rgba(var(--color-main-rgb), 0.16);
      transform: translateY(-2px);
    }
.partners-strip__tile img{
      max-width: 100%;
      max-height: 44px;
      width: auto;
      height: auto;
      object-fit: contain;
      opacity: 0.92;
      transition: opacity 0.2s ease, transform 0.2s ease;
    }
.partners-strip__tile:hover img{
      opacity: 1;
      transform: scale(1.04);
    }
.closing-cta{
      position: relative;
      overflow: hidden;
      margin-bottom: 48px;
      padding: 0;
      border-radius: var(--radius-special);
      color: #fff;
      background:
        radial-gradient(ellipse 80% 120% at 100% 0%, rgba(0, 168, 150, 0.35) 0%, transparent 55%),
        linear-gradient(125deg, #01356D 0%, var(--color-main) 48%, #0264b8 100%);
      box-shadow: var(--glass-shadow);
    }
.closing-cta__layout{
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
      align-items: stretch;
      min-height: 340px;
    }
.closing-cta__content{
      padding: 48px var(--page-pad-x);
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 20px;
      min-width: 0;
    }
.closing-cta__media{ position: relative; min-width: 0; }
.closing-cta__media img{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
.closing-cta h2{
      margin: 0;
      font-size: clamp(28px, 3.2vw, 40px);
      line-height: 1.2;
      font-weight: 700;
    }
.closing-cta p{
      margin: 0;
      font-size: 16px;
      line-height: 1.65;
      color: rgba(255, 255, 255, 0.86);
      max-width: 42em;
    }
.closing-cta__actions{
      display: flex;
      flex-wrap: wrap;
      gap: 12px 24px;
      align-items: center;
      margin-top: 4px;
    }
.closing-cta__link{
      padding: 12px 0;
      font-size: 14px;
      color: rgba(255, 255, 255, 0.9);
      text-underline-offset: 5px;
    }
.closing-cta__link:hover{ color: #fff; text-decoration: underline; }
.btn-solid,
.btn-outline{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 22px;
      border-radius: 999px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
.btn-solid{
      background: #fff;
      color: var(--color-main);
      border: 1px solid #fff;
    }
.btn-solid:hover{
      transform: translateY(-2px);
      background: var(--color-gold);
      border-color: var(--color-gold);
      color: #01356D;
    }
.btn-outline{
      background: transparent;
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.4);
    }
.btn-outline:hover{
      transform: translateY(-2px);
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.7);
    }
.reveal-ready{
      opacity: 1;
      transform: none;
    }
.reveal-ready.is-inview{
      opacity: 1;
      transform: none;
    }
.product-grid{
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 40px 64px;
      max-width: 1120px;
      margin-inline: auto;
      justify-items: center;
    }
.product-card{
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.95);
      border-radius: 9999px;
      padding: 26px 22px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center;
      gap: 8px;
      position: relative;
      overflow: hidden;
      isolation: isolate;
      transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.55s cubic-bezier(0.33, 0, 0.2, 1),
        border-color 0.55s ease,
        box-shadow 0.6s cubic-bezier(0.33, 0, 0.2, 1);
      box-shadow:
        0 6px 20px rgba(var(--color-deep-rgb), 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
      aspect-ratio: 1 / 1;
      max-width: 270px;
      width: 100%;
      cursor: pointer;
      text-decoration: none;
      color: inherit;
      transform: translateY(0) scale(1);
    }
.product-card-aura{
      position: absolute;
      inset: 0;
      border-radius: inherit;
      overflow: hidden;
      pointer-events: none;
      z-index: 0;
    }
.product-card-aura__fill{
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.28) 0%, transparent 42%),
        linear-gradient(
          165deg,
          rgba(var(--color-main-rgb), 0.92) 0%,
          rgba(0, 168, 150, 0.78) 52%,
          rgba(var(--color-deep-rgb), 0.94) 100%
        );
      opacity: 0;
      transform: scale(0.86);
      transform-origin: 50% 50%;
      transition:
        opacity 0.55s cubic-bezier(0.33, 0, 0.2, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.55s ease;
    }
.product-card > :not(.product-card-aura):not(.product-badge){
      position: relative;
      z-index: 1;
    }
.product-card:hover{
      transform: translateY(-4px);
      border-color: rgba(147, 197, 253, 0.35);
      box-shadow:
        0 22px 40px rgba(var(--color-deep-rgb), 0.18),
        0 0 0 1px rgba(147, 197, 253, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    }
.product-card:hover .product-card-aura__fill{
      opacity: 1;
      transform: scale(1);
    }
.product-card:focus-visible{
      outline: 3px solid var(--color-accent);
      outline-offset: 4px;
    }
.product-header{
      display: grid;
      grid-template-rows: 36px;
      justify-items: center;
      align-items: center;
      width: 100%;
    }
.product-card .product-badge{
      position: absolute;
      top: 22px;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
      white-space: nowrap;
    }
.product-card h3{
      margin: 0;
      font-size: clamp(20px, 2vw, 30px);
      color: var(--color-main);
      font-weight: 700;
      line-height: 1.08;
      transition: color 0.5s cubic-bezier(0.33, 0, 0.2, 1);
    }
.badge-coral{
      font-size: 11px;
      font-weight: 700;
      padding: 5px 10px;
      border-radius: 999px;
      background: rgba(224, 90, 71, 0.12);
      border: 1px solid transparent;
      color: #C24431;
      transition: color 0.5s cubic-bezier(0.33, 0, 0.2, 1), background 0.5s cubic-bezier(0.33, 0, 0.2, 1), border-color 0.5s ease;
    }
.product-generic{
      display: grid;
      place-items: center;
      margin: 0;
      font-size: 13px;
      line-height: 1.4;
      color: rgba(0, 64, 110, 0.82);
      font-weight: 600;
      letter-spacing: 0.02em;
      transition: color 0.5s ease;
    }
.product-meta{
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      gap: 6px;
      margin-top: 6px;
    }
.tag-indication{
      font-size: 12px;
      padding: 6px 12px;
      background: rgba(var(--color-main-rgb), 0.06);
      color: var(--color-main);
      border: 1px solid rgba(var(--color-main-rgb), 0.08);
      border-radius: 999px;
      font-weight: 600;
      transition: color 0.5s cubic-bezier(0.33, 0, 0.2, 1), background 0.5s cubic-bezier(0.33, 0, 0.2, 1), border-color 0.5s ease;
    }
.product-markets{
      font-size: 11px;
      line-height: 1.5;
      letter-spacing: 0;
      color: #466686;
      transition: color 0.5s ease;
    }
.feature-card.card-science .feature-media img{
      object-position: center center;
    }
.product-card:hover h3,
.product-card:hover .product-generic{
      color: #fff;
    }
.product-card:hover .badge-coral{
      background: #E05A47;
      border-color: #E05A47;
      color: #fff;
    }
.product-card:hover .tag-indication{
      background: rgba(255, 255, 255, 0.16);
      border-color: rgba(255, 255, 255, 0.22);
      color: #fff;
    }
.pipeline-section{
      background: var(--glass-bg);
      backdrop-filter: var(--blur-strength);
      -webkit-backdrop-filter: var(--blur-strength);
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-special);
      padding: 50px var(--page-pad-x);
      margin-bottom: 40px;
      box-shadow: var(--glass-shadow);
    }
.pipeline-table-preview{
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 20px;
    }
.pipeline-row{
      display: grid;
      grid-template-columns: 140px 140px 1.2fr 3fr;
      align-items: center;
      background: rgba(255,255,255,0.7);
      padding: 14px 20px;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,0.8);
      font-size: 14px;
      gap: 12px;
    }
.pipeline-row.header{
      background: rgba(var(--color-main-rgb), 0.08);
      font-weight: 700;
      color: var(--color-main);
      border: none;
      padding: 10px 20px;
    }
.code-name{
      font-weight: 700;
      color: var(--color-main);
    }
.target-tag{
      font-size: 12px;
      background: var(--color-light);
      padding: 3px 8px;
      border-radius: 6px;
      display: inline-block;
      width: fit-content;
      color: #006B5F;
    }
.phase-bar-wrapper{
      display: flex;
      height: 12px;
      background:
        repeating-linear-gradient(
          90deg,
          transparent 0,
          transparent calc(16.666666% - 1px),
          rgba(var(--color-main-rgb), 0.1) calc(16.666666% - 1px),
          rgba(var(--color-main-rgb), 0.1) 16.666666%
        ),
        #E0E8F0;
      border-radius: 6px;
      position: relative;
    }
.phase-progress{
      position: relative;
      height: 100%;
      width: var(--w, 100%);
      background: linear-gradient(90deg, var(--color-accent), var(--color-main));
      border-radius: 6px;
      z-index: 1;
    }
.phase-progress::after{
      content: "";
      position: absolute;
      top: 50%;
      right: 0;
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: #fff;
      border: 2px solid var(--color-accent);
      transform: translate(50%, -50%);
      opacity: 0;
      transition: opacity 0.4s ease;
      z-index: 2;
    }
@keyframes phasePulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(0, 168, 150, 0.4); }
      60% { box-shadow: 0 0 0 9px rgba(0, 168, 150, 0); }
    }
@keyframes rowRise {
      from { opacity: 0; transform: translateY(16px); }
    }
.pipeline-table-preview.is-armed .phase-progress{
      width: 0;
      transition: none;
    }
.pipeline-row:not(.header){
      transition: background 0.25s ease, box-shadow 0.25s ease,
        transform 0.25s ease, opacity 0.25s ease;
    }
.pipeline-table-preview.is-revealed .phase-progress{
      transition: width 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    }
.pipeline-table-preview.is-revealed .pipeline-row:nth-child(2) .phase-progress{ transition-delay: 0s; }
.pipeline-table-preview.is-revealed .pipeline-row:nth-child(3) .phase-progress{ transition-delay: 0.06s; }
.pipeline-table-preview.is-revealed .pipeline-row:nth-child(4) .phase-progress{ transition-delay: 0.12s; }
.pipeline-table-preview.is-revealed .phase-progress::after{
      opacity: 1;
      animation: phasePulse 2.2s ease-out infinite;
    }
.pipeline-table-preview:has(.pipeline-row:not(.header):hover) .pipeline-row:not(.header):not(:hover){
      opacity: 0.45;
    }
.pipeline-table-preview .pipeline-row:not(.header):hover{
      background: #fff;
      box-shadow: 0 12px 30px rgba(1, 71, 143, 0.14);
      transform: translateX(6px);
    }
.phase-labels{
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      align-items: center;
      font-size: 12px;
      font-weight: 700;
      color: var(--color-main);
      text-align: center;
      letter-spacing: 0.01em;
    }
.phase-labels span{
      position: relative;
      padding: 2px 4px;
      line-height: 1.35;
    }
.phase-labels span:not(:first-child)::before{
      content: "";
      position: absolute;
      left: 0;
      top: 22%;
      bottom: 22%;
      width: 1px;
      background: rgba(var(--color-main-rgb), 0.16);
      border-radius: 1px;
    }
.phase-labels span:last-child{
      color: #087568;
    }
.feature-cards-stack{
      display: flex;
      flex-direction: column;
      gap: 28px;
      margin-bottom: 50px;
    }
.feature-card{
      border-radius: var(--radius-special);
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 420px;
      height: 420px;
      box-shadow: var(--glass-shadow);
      position: relative;
    }
.feature-card.card-science{
      background: var(--grad-science);
      color: var(--color-base);
    }
.feature-card.card-quality{
      background: var(--grad-quality);
      color: var(--color-base);
    }
.feature-content{
      padding: 60px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      z-index: 2;
      min-height: 0;
    }
.feature-content h2{
      font-size: var(--fs-h2);
      margin: 0 0 15px 0;
      font-weight: 700;
    }
.feature-content p{
      font-size: var(--fs-lead);
      margin: 0 0 35px 0;
      opacity: 0.92;
    }
.feature-content .evidence-quality-summary{
      font-size: 16px;
      line-height: 1.75;
      margin-top: -16px;
    }
.feature-media{
      position: relative;
      overflow: hidden;
      min-height: 0;
      height: 100%;
    }
.feature-media img{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
.glass-floating-badge{
      position: absolute;
      bottom: 30px;
      left: 30px;
      background: var(--glass-bg);
      backdrop-filter: var(--blur-strength);
      -webkit-backdrop-filter: var(--blur-strength);
      border: 1px solid var(--glass-border);
      padding: 12px 20px;
      border-radius: 20px;
      color: var(--color-dark);
      font-size: 13px;
      font-weight: 600;
      box-shadow: 0 10px 25px rgba(0,0,0,0.1);
      display: flex;
      align-items: center;
      gap: 10px;
      animation: floatLight 4s ease-in-out infinite;
    }
.pulse-dot{
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--color-accent);
      box-shadow: 0 0 10px var(--color-accent);
      display: inline-block;
    }
.news-section{
      background: var(--glass-bg);
      backdrop-filter: var(--blur-strength);
      -webkit-backdrop-filter: var(--blur-strength);
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-special);
      padding: 50px var(--page-pad-x);
      margin-bottom: 50px;
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap: 50px;
      box-shadow: var(--glass-shadow);
    }
.news-list{
      list-style: none;
      padding: 0;
      margin: 0;
    }
.news-item{
      padding: 22px 0;
      border-bottom: 1px solid var(--color-muted);
      transition: transform 0.25s var(--ease-out);
    }
.news-item:hover{
      transform: translateX(4px);
    }
.news-item:last-child{
      border-bottom: none;
    }
.news-date{
      font-size: 12px;
      color: #C24431;
      font-weight: 700;
      letter-spacing: 0.5px;
      margin-bottom: 8px;
      text-transform: uppercase;
    }
.news-title{
      font-size: 18px;
      font-weight: 600;
      color: var(--color-dark);
      margin: 0;
      line-height: 1.4;
    }
.news-title a:hover{
      color: var(--color-accent);
    }
.news-item.has-thumb{
      display: grid;
      grid-template-columns: 170px 1fr;
      gap: 18px;
      align-items: start;
      padding: 22px 0;
    }
.news-thumb-wrap{
      width: 170px;
      height: 110px;
      border-radius: 16px;
      overflow: hidden;
      background: rgba(var(--color-main-rgb), 0.06);
      border: 1px solid rgba(var(--color-main-rgb), 0.12);
      box-shadow: 0 12px 26px rgba(0, 0, 0, 0.06);
    }
.news-thumb-wrap img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
.news-item.has-thumb .news-date{
      margin-bottom: 10px;
    }
.news-item.has-thumb:hover .news-title a{
      color: var(--color-accent);
    }
.event-item .when{
      color: #C24431;
      font-size: 13px;
      font-weight: 700;
    }
.event-item .where{
      display: block;
      margin-top: 8px;
      font-size: 14px;
      opacity: 0.75;
    }
@media   (max-width: 992px) {
.hero-section,
.feature-card,
.news-section,
.about-atlas__layout{
        grid-template-columns: 1fr;
      }
.product-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
.product-card{
        max-width: 320px;
      }
.tray-science__gel{
        width: 76px;
        height: 102px;
      }
.pipeline-row{
        grid-template-columns: 100px 100px 1fr;
      }
.pipeline-row .phase-labels-col{
        display: none;
      }
.hero-section{
        grid-template-rows: auto auto;
      }
.closing-cta__layout{ grid-template-columns: 1fr; }
.closing-cta__content{ padding: 36px 28px; }
.closing-cta__media{ height: 240px; }
.partners-strip__tile{
        width: 128px;
        height: 64px;
      }
.hero-card-wrap{
        height: auto;
        min-height: 0;
        max-height: none;
      }
.hero-card{
        min-height: 0;
        height: auto;
        max-height: none;
      }
.hero-media-stack{
        height: auto;
        align-self: stretch;
      }
.hero-image-wrapper{
        width: 100%;
        flex: none;
        aspect-ratio: 16 / 9;
        height: auto;
        min-height: 0;
        max-height: none;
        align-self: stretch;
      }
.hero-media-controls{
        right: 14px;
        bottom: 14px;
      }
.feature-card.reverse .feature-media{
        order: -1;
      }
.feature-card{
        height: auto;
        min-height: 0;
      }
.feature-media{
        aspect-ratio: 16 / 10;
        max-height: 280px;
        height: auto;
      }
.feature-content{
        padding: 40px 28px;
      }
.hero-card{
        padding-bottom: 120px;
      }
.hero-card .corner-cutout{
        padding: 16px;
        --corner-cutout-radius: 30px;
      }
.hero-card .corner-cutout{
        left: auto;
        right: 0;
      }
.hero-card .corner-cutout-in{
        transform: scaleX(-1);
      }
.about-atlas{
        min-height: 0;
        padding: 56px var(--page-pad-x) 0;
      }
.about-atlas__layout{
        gap: 44px;
        align-items: start;
      }
.about-atlas__metrics{
        flex-direction: row;
        flex-wrap: wrap;
        gap: 32px 48px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        padding-top: 32px;
      }
.about-atlas__video{
        opacity: 0.36;
        object-position: 72% 38%;
        -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35), #000 48%, rgba(0, 0, 0, 0.6));
        mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35), #000 48%, rgba(0, 0, 0, 0.6));
      }
.about-marquee{
        margin-top: 44px;
      }
}
@media   (max-width: 575px) {
.products-tray{
        padding: 36px 18px;
      }
.ecg-rule{
        height: 52px;
      }
.product-card h3{
        font-size: 22px;
      }
.product-generic,
.product-meta{
        font-size: 13px;
      }
.product-markets{
        font-size: 14px;
      }
.product-grid{
        grid-template-columns: 1fr;
      }
.product-card{
        max-width: 360px;
      }
.tray-science__gel{
        display: none;
      }
.ecg-rule__line{ width: calc(100% - 50px); }
.about-metric strong{
        font-size: 32px;
      }
.pipeline-row{
        grid-template-columns: 1fr;
        gap: 6px;
      }
.pipeline-row.header{
        display: none;
      }
.news-item.has-thumb{
        grid-template-columns: 110px 1fr;
        gap: 14px;
      }
.news-thumb-wrap{
        width: 110px;
        height: 86px;
      }
}

@media   (hover: none), (pointer: coarse) {
.product-card:hover{
        transform: translateY(-2px) scale(1);
      }
.product-card:hover .product-card-aura__fill{
        opacity: 0;
        transform: scale(0.86);
      }
.product-card:hover h3,
.product-card:hover .product-generic{
        color: inherit;
      }
.product-card:hover h3{
        color: var(--color-main);
      }
.product-card:hover .product-generic{
        color: rgba(0, 64, 110, 0.72);
      }
.product-card:hover .badge-coral{
        background: rgba(224, 90, 71, 0.12);
        border-color: transparent;
        color: var(--color-coral);
      }
.product-card:hover .tag-indication{
        background: rgba(var(--color-main-rgb), 0.06);
        border-color: rgba(var(--color-main-rgb), 0.08);
        color: var(--color-main);
      }
}
.toast-pill{
      position: fixed;
      left: 50%;
      bottom: 32px;
      transform: translate(-50%, 12px);
      z-index: 1300;
      padding: 12px 22px;
      border-radius: 999px;
      background: var(--color-deep);
      color: #fff;
      font-size: 14px;
      font-weight: 600;
      box-shadow: 0 12px 30px rgba(var(--color-deep-rgb), 0.3);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.25s ease, transform 0.25s ease;
    }
.toast-pill.is-visible{
      opacity: 1;
      transform: translate(-50%, 0);
    }
.hero-dots button{
      position: relative;
    }
.hero-dots button::after{
      content: "";
      position: absolute;
      inset: -9px;
    }
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;
      }
}
@supports   (mask-image: linear-gradient(#000, #000)) or (-webkit-mask-image: linear-gradient(#000, #000)) {
.hero-card{
        --cutout-width: 196px;
        --cutout-height: 152px;
        --cutout-edge: left;
        --cutout-fill-edge: right;
        --cutout-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22196%22%20height%3D%22152%22%20viewBox%3D%220%200%20196%20152%22%3E%3Cpath%20d%3D%22M0%200H196V152C173.909%20152%20156%20134.091%20156%20112V80C156%2057.909%20138.091%2040%20116%2040H40C17.909%2040%200%2022.091%200%200Z%22%2F%3E%3C%2Fsvg%3E");
        background: transparent;
        border-color: transparent;
      }
.hero-card .corner-cutout-in{ display: none; }
@media   (max-width: 992px) {
.hero-card{
          --cutout-width: 118px;
          --cutout-height: 118px;
          --cutout-edge: right;
          --cutout-fill-edge: left;
          --cutout-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22118%22%20height%3D%22118%22%20viewBox%3D%220%200%20118%20118%22%3E%3Cpath%20transform%3D%22translate%28118%200%29%20scale%28-1%201%29%22%20d%3D%22M0%200H118V118C101.431%20118%2088%20104.569%2088%2088V60C88%2043.431%2074.569%2030%2058%2030H30C13.431%2030%200%2016.569%200%200Z%22%2F%3E%3C%2Fsvg%3E");
        }
}
}
.hero-card-scroll,
.hero-card-scroll:hover{
      box-shadow: 0 4px 12px rgba(var(--color-deep-rgb), 0.18);
    }
.product-card:hover .product-markets{ color: #fff; }
@media   (max-width: 1199px) {
.product-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
        gap: 32px 24px;
      }
.product-card{ max-width: 320px; }
}
@media   (max-width: 700px) {
.product-grid{ grid-template-columns: 1fr; }
.product-card{ padding: 22px 16px; }
}
@media   (hover: none), (pointer: coarse) {
.product-card:hover .product-markets{ color: #466686; }
}
@media   (max-width: 575px) {
.product-grid{ row-gap: 28px; }
.product-markets{ font-size: 11px; }
.hero-card{ padding: 36px 26px 120px; }
.hero-card h1,
.hero-card h2{ font-size: clamp(32px, 8.5vw, 44px); }
.hero-card h2.hero-title--long{
        font-size: 32px;
        line-height: 1.22;
      }
}

/* The mechanism illustration uses a larger, transparent stage below the copy.
   Bottom reserve mirrors the pre-overlay stack (image + external control rail). */
.hero-card{ padding-bottom: 240px; }
.hero-pathway{
  right: -20px;
  bottom: 10px;
  width: min(calc(100% - 28px), 470px);
  height: 220px;
  pointer-events: auto;
}
.hero-pathway .hero-mechanism__scene{ display: block; width: 100%; height: 100%; pointer-events: none; }
@media (max-width: 992px){
  .hero-pathway{ right: 104px; bottom: 34px; }
}
@media (max-width: 575px){
  .hero-card{ padding-bottom: 256px; }
  .hero-pathway{ left: 8px; right: auto; bottom: 44px; width: calc(100% - 16px); height: 200px; }
  .hero-pathway__labels{ font-size: 11px; }
}

.hero-title--long > span{ display: inline-block; white-space: nowrap; }
