:root{--color-violet: #6C5CE7;--rule: rgba(1, 53, 109, 0.12);--index-w: 220px;}
button{
      font-family: inherit;
    }
:focus-visible{
      outline: 2px solid var(--color-accent);
      outline-offset: 3px;
    }
.products-masthead{
      position: relative;
      min-height: clamp(192px, 22vw, 248px);
      margin: 0 0 30px;
      display: flex;
      align-items: center;
      overflow: hidden;
      border-radius: 30px 30px 50px 30px;
      background: var(--color-dark);
    }
.products-masthead__media,
.products-masthead__shade{ position: absolute; inset: 0; }
.products-masthead__media img{ width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.products-masthead__shade{ background: linear-gradient(90deg, rgba(1,40,83,.93), rgba(1,53,109,.7) 40%, rgba(1,53,109,.12) 80%); }
/* Antibody blockade illustration: centred on the banner, no plate of its own. */
.products-masthead__pathway{
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
      /* Width-driven: its height stays inside the banner at every breakpoint where it is shown. */
      width: min(30%, 320px);
      aspect-ratio: 365 / 230;
      pointer-events: none;
    }
.products-masthead__pathway svg{ display: block; width: 100%; height: 100%; overflow: visible; }
.products-masthead__copy{ position: relative; z-index: 2; width: 100%; max-width: 1360px; margin: auto; padding: 36px 48px; color: #fff; }
.products-masthead__title{ margin: 0 0 8px; font-size: clamp(32px, 3vw, 44px); font-weight: 600; letter-spacing: .04em; line-height: 1.3; }
.products-masthead__lead{ margin: 0; color: #e6edf4; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; }
.products-shell{ max-width: 1360px; margin: 0 auto 64px; scroll-margin-top: 26px; }
.products-toolbar{ display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.products-toolbar__title{ margin: 0; font-size: 25px; font-weight: 600; letter-spacing: -.02em; }
.products-toolbar__count{ margin: 4px 0 0; color: #526e88; font-size: 13px; }
.products-filter{ display: flex; flex-wrap: wrap; gap: 6px; padding: 5px; border: 1px solid var(--rule); border-radius: 999px; background: rgba(255,255,255,.7); }
.products-filter button{ border: 0; background: transparent; border-radius: 999px; padding: 10px 19px; min-height: 44px; color: #526e88; font-size: 14px; cursor: pointer; transition: background .2s, color .2s; }
.products-filter button:hover{ color: var(--color-main); background: #edf3f8; }
.products-filter button.is-active{ color: #fff; background: var(--color-main); }
.products-board{ display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
.products-index{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.products-index li{ min-width: 0; }
.products-shell [hidden]{ display: none !important; }
.products-index a{ display: grid; position: relative; height: 100%; overflow: hidden; padding: 18px 26px 20px; border: 1px solid rgba(1,53,109,.1); border-radius: 26px; background: rgba(255,255,255,.88); transition: border-color .2s, box-shadow .2s, transform .2s; }
.products-index a:hover{ transform: translateY(-3px); border-color: rgba(0,168,150,.65); box-shadow: 0 10px 28px rgba(1,53,109,.07); }
.products-index .thumb{ display: flex; align-items: center; justify-content: center; height: 128px; margin: 0 0 12px; background: #fff; border-radius: 16px; overflow: hidden; }
.products-index .thumb img{ display: block; width: 100%; height: 100%; object-fit: contain; padding: 2px 4px; transform: scale(1.08); transform-origin: center; }
.products-index .name{ font-size: 23px; font-weight: 600; color: var(--color-main); line-height: 1.4; }
.products-index .generic{ margin-top: 3px; color: #526e88; font-size: 14px; }
.products-index .card-bottom{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rule); }
.products-index .area{ font-size: 12px; color: #426b78; background: #edf6f5; border-radius: 6px; padding: 3px 8px; }
.products-index .card-cta{ display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; }
.products-index .card-cta::after{ content: "+"; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: var(--color-accent); color: #fff; font-size: 23px; font-weight: 400; line-height: 1; }
.products-back{ display: inline-flex; align-items: center; gap: 10px; padding: 10px 0; min-height: 44px; background: none; border: 0; font-size: 14px; font-weight: 600; color: var(--color-main); cursor: pointer; }
.products-back::before{ content: "←"; font-size: 20px; }
.products-back:hover{ color: var(--color-accent); }
.products-shell[data-view="catalog"] .products-stage,
.products-shell[data-view="catalog"] .products-back{ display: none; }
.products-shell[data-view="detail"] .products-filter,
.products-shell[data-view="detail"] .products-toolbar__heading{ display: none; }
.products-shell[data-view="detail"] .products-toolbar{ margin-bottom: 16px; }
.products-shell[data-view="detail"] .products-board{ grid-template-columns: 234px minmax(0,1fr); }
.products-shell[data-view="detail"] .products-index{ position: sticky; top: 26px; grid-template-columns: minmax(0,1fr); gap: 8px; }
.products-shell[data-view="detail"] .products-index a{ padding: 16px 18px; border-radius: 16px; }
.products-shell[data-view="detail"] .products-index a:hover{ transform: none; box-shadow: none; }
.products-shell[data-view="detail"] .products-index .thumb,
.products-shell[data-view="detail"] .products-index .card-bottom{ display: none; }
.products-shell[data-view="detail"] .products-index .name{ font-size: 17px; }
.products-shell[data-view="detail"] .products-index .generic{ font-size: 12px; }
.products-shell[data-view="detail"] .products-index a.is-active{ background: var(--color-main); border-color: var(--color-main); }
.products-shell[data-view="detail"] .products-index a.is-active .name{ color: #fff; }
.products-shell[data-view="detail"] .products-index a.is-active .generic{ color: #dce8f2; }
.products-stage{ min-width: 0; }
.product-panel{ display: none; background: rgba(255,255,255,.92); border: 1px solid var(--rule); border-radius: 30px; overflow: hidden; }
.product-panel.is-active{ display: block; }
.product-panel__overview{ padding: 34px 38px 38px; }
.product-panel__top{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.product-panel__brand{ margin: 0; color: var(--color-main); font-size: clamp(28px, 2.7vw, 36px); font-weight: 600; line-height: 1.35; scroll-margin-top: 42px; }
.product-panel__badge{ display: inline-block; max-width: 100%; padding: 5px 10px; border-radius: 6px; font-size: 12px; line-height: 1.6; color: #944435; background: rgba(224,90,71,.08); }
.product-panel__generic{ margin: 10px 0 20px; color: #526e88; font-size: 16px; }
.product-panel__meta{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; padding: 16px 0 24px; margin: 0 0 24px; border-bottom: 1px solid var(--rule); font-size: 14px; }
.product-panel__meta dt{ color: #526e88; }
.product-panel__meta dt:not(:first-child){ margin-left: 24px; }
.product-panel__meta dd{ margin: 0; font-weight: 600; }
/* meta 已有底边；紧随的 evidence 再画顶边会叠成双线 */
.product-panel__meta + .evidence-product{ border-top: 0; margin-top: 0; padding-top: 0; }
.sku-head{ font-size: 15px; margin: 0 0 14px; font-weight: 600; }
.sku-grid{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
.sku-grid li{ min-width: 0; }
.sku-grid:has(> li:nth-child(2):last-child){ grid-template-columns: repeat(2,minmax(0,1fr)); }
.sku-grid:has(> li:only-child){ grid-template-columns: minmax(0,1fr); max-width: 440px; }
.sku-card{ appearance: none; width: 100%; height: 100%; padding: 0; overflow: hidden; text-align: left; border: 1px solid var(--rule); border-radius: 18px; background: #fff; color: var(--color-dark); cursor: pointer; transition: border-color .2s, background .2s; }
.sku-card:hover{ border-color: var(--color-accent); background: #f7fbfb; }
.sku-card__media{ height: 200px; background: #FFFFFF; padding: 20px 25px; overflow: hidden; }
.sku-card__media img{ display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.1); transform-origin: center; }
.sku-card__caption{ display: grid; gap: 6px; padding: 16px 18px; border-top: 1px solid var(--rule); }
.sku-card__name{ font-size: 12px; color: #526e88; line-height: 1.5; }
.sku-card__dose{ font-size: 17px; font-weight: 600; line-height: 1.5; }
.sku-card__hint{ font-size: 12px; margin-top: 6px; color: var(--color-main); }
.sku-card__hint::after{ content: " →"; }
.product-panel[data-detail-open] .product-panel__overview{ padding-bottom: 26px; border-bottom: 1px solid var(--rule); }
.product-panel[data-detail-open] .sku-grid{ display: flex; flex-wrap: wrap; gap: 10px; }
.product-panel[data-detail-open] .sku-card{ border-radius: 12px; }
.product-panel[data-detail-open] .sku-card__caption{ border: 0; padding: 11px 17px; }
.product-panel[data-detail-open] .sku-card__dose{ font-size: 14px; }
.product-panel[data-detail-open] .sku-card__media,
.product-panel[data-detail-open] .sku-card__name,
.product-panel[data-detail-open] .sku-card__hint{ display: none; }
.product-panel[data-detail-open] .product-panel__meta,
.product-panel[data-detail-open] .evidence-product,
.product-panel[data-detail-open] .sku-head{ display: none; }
.sku-card[aria-pressed="true"]{ border-color: var(--color-main); background: #edf3f9; color: var(--color-main); box-shadow: inset 0 0 0 1px var(--color-main); }
.sku-detail{ padding: 26px 38px 38px; scroll-margin-top: 26px; }
.sku-detail__grid{ display: grid; grid-template-columns: minmax(200px,.8fr) minmax(0,1.35fr); gap: 32px; align-items: start; }
.sku-detail__visual{ min-width: 0; }
.sku-detail__media{ margin: 0; padding: 10px; aspect-ratio: 4 / 5; background: #f7f9fb; border: 1px solid var(--rule); border-radius: 20px; overflow: hidden; }
.sku-detail__media img{ display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.06); transform-origin: center; }
.sku-detail__title{ margin: 0 0 18px; font-size: 22px; line-height: 1.5; font-weight: 600; color: var(--color-main); scroll-margin-top: 42px; }
.sku-detail__disclaimer{ margin: 0 0 22px; padding: 14px 16px; border-radius: 12px; border-left: 3px solid var(--color-coral); background: rgba(224,90,71,.06); font-size: 13px; line-height: 1.8; color: #704c49; }
.sku-detail__facts{ margin: 0; padding: 0; }
.sku-detail__facts > div{ display: grid; grid-template-columns: 5em minmax(0,1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.sku-detail__facts > div:first-child{ padding-top: 0; }
.sku-detail__facts dt{ margin: 0; color: #526e88; font-size: 13px; }
.sku-detail__facts dd{ margin: 0; font-size: 14px; line-height: 1.85; overflow-wrap: anywhere; }
.name-lines{ display: grid; gap: 8px; }
.name-lines > span{ display: block; }
.name-lines .label{ display: block; color: #526e88; font-size: 12px; }
.indication-list{ display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }
.indication-list li{ position: relative; padding-left: 13px; }
.indication-list li::before{ content: ""; position: absolute; left: 0; top: .8em; width: 4px; height: 4px; border-radius: 50%; background: var(--color-accent); }
.sku-detail__foot{ margin: 22px 0 0; font-size: 13px; color: #526e88; line-height: 1.85; }
.sku-detail__foot a{ color: var(--color-main); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.sku-actions{ display: grid; gap: 10px; margin-top: 18px; }
.sku-actions a{ display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 46px; padding: 10px 14px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.sku-actions__down{ background: var(--color-main); color: #fff; }
.sku-actions__down::before{ content: "↓"; font-size: 19px; }
.sku-actions__down:hover{ background: var(--color-dark); }
.sku-actions__site{ border: 1px solid var(--rule); color: var(--color-main); }
.sku-actions__site::after{ content: "↗"; }
.sku-actions__site:hover{ border-color: var(--color-accent); background: #edf6f5; }
.sku-guides{ margin: 0; padding: 22px 38px 38px; border-top: 1px solid var(--rule); }
.sku-guides__title{ margin: 0; font-size: 17px; font-weight: 600; color: var(--color-main); }
.sku-guides__tabs{ display: flex; flex-wrap: wrap; gap: 4px; padding: 5px; border: 1px solid var(--rule); border-radius: 999px; background: rgba(255,255,255,.7); }
.sku-guides__tab{ flex: 0 1 auto; padding: 8px 15px; border: 0; border-radius: 999px; background: none; font-size: 13px; font-weight: 600; color: #526e88; cursor: pointer; white-space: nowrap; }
.sku-guides__tab:hover{ color: var(--color-main); }
.sku-guides__tab[aria-selected="true"]{ background: var(--color-main); color: #fff; }
.sku-guides__panel{ padding: 6px 0 0; }
.sku-guides__item{ display: grid; gap: 8px; padding: 18px 0 20px; border-bottom: 1px solid var(--rule); }
.sku-guides__item:last-child{ border-bottom: 0; padding-bottom: 4px; }
.sku-guides__type{ justify-self: start; padding: 2px 10px; border: 1px solid var(--color-accent); border-radius: 999px; color: var(--color-accent); font-size: 11px; line-height: 1.6; }
.sku-guides__name{ margin: 0; font-size: 16px; font-weight: 600; line-height: 1.65; }
.sku-guides__name a{ color: var(--color-main); }
.sku-guides__name a:hover{ color: var(--color-dark); text-decoration: underline; text-underline-offset: 3px; }
.sku-guides__meta{ margin: 0; font-size: 13px; line-height: 1.7; color: #526e88; }
.sku-guides__summary{
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: #526e88;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.products-empty{ padding: 32px; border: 1px solid var(--rule); border-radius: 20px; }
.products-foot{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; border-top: 1px solid var(--rule); margin-top: 36px; padding-top: 28px; }
.products-foot p{ font-size: 14px; color: #526e88; margin: 0; }
@media   (max-width: 1100px) {
.products-shell[data-view="detail"] .products-board{ grid-template-columns: 200px minmax(0,1fr); gap: 22px; }
.product-panel__overview{ padding: 28px; }
.sku-detail{ padding: 24px 28px 28px; }
.sku-guides{ padding: 22px 28px 28px; }
.sku-detail__grid{ grid-template-columns: minmax(170px,.8fr) minmax(0,1.2fr); gap: 24px; }
.sku-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
.products-index a{ padding: 18px; }
.products-index .name{ font-size: 20px; }
}
@media   (max-width: 800px) {
.products-masthead{ min-height: 196px; margin-bottom: 28px; }
.products-masthead__copy{ padding: 30px; }
.products-toolbar{ align-items: flex-start; flex-direction: column; gap: 18px; }
.products-index{ grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.products-shell[data-view="detail"] .products-board{ grid-template-columns: minmax(0,1fr); gap: 20px; }
.products-shell[data-view="detail"] .products-index{ position: static; display: flex; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
.products-shell[data-view="detail"] .products-index li{ flex: 0 0 185px; scroll-snap-align: start; }
.sku-detail__grid{ grid-template-columns: minmax(190px,.8fr) minmax(0,1.2fr); }
}
@media   (max-width: 575px) {
.products-masthead{ min-height: 172px; border-radius: 22px 22px 36px 22px; }
.products-masthead__pathway{ display: none; }
.products-masthead__copy{ padding: 26px; }
.products-toolbar__title{ font-size: 23px; }
.products-filter{ width: 100%; gap: 2px; padding: 4px; }
.products-filter button{ flex: 1; padding: 10px 7px; font-size: 13px; white-space: nowrap; }
.products-index{ grid-template-columns: minmax(0,1fr); gap: 14px; }
.products-index a{ grid-template-columns: 102px minmax(0,1fr); column-gap: 18px; padding: 20px; border-radius: 20px; align-content: center; }
.products-index .thumb{ grid-row: 1 / 4; height: 110px; margin: 0; align-self: center; }
.products-index .thumb img{ padding: 2px; }
.products-index .name{ font-size: 20px; }
.products-index .generic{ font-size: 13px; }
.products-index .card-bottom{ margin-top: 10px; padding-top: 10px; }
.products-index .card-cta{ font-size: 0; gap: 0; }
.products-index .area{ font-size: 11px; }
.products-shell[data-view="detail"] .products-index a{ grid-template-columns: minmax(0,1fr); }
.product-panel{ border-radius: 22px; }
.product-panel__overview{ padding: 24px 20px; }
.product-panel__brand{ font-size: 28px; }
.product-panel__generic{ font-size: 14px; }
.product-panel__meta{ display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px 14px; padding-top: 10px; }
.product-panel__meta dt:not(:first-child){ margin-left: 0; }
.sku-grid{ grid-template-columns: minmax(0,1fr); gap: 12px; }
.sku-grid:has(> li:nth-child(2):last-child){ grid-template-columns: minmax(0,1fr); }
.sku-card{ display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: center; }
.sku-card__media{ height: 132px; padding: 4px 6px; }
.sku-card__caption{ border: 0; padding: 14px; }
.sku-card__dose{ font-size: 15px; }
.product-panel[data-detail-open] .sku-card{ display: block; }
.product-panel[data-detail-open] .sku-card__caption{ padding: 10px 12px; }
.sku-detail{ padding: 24px 20px; }
.sku-guides{ padding: 22px 20px 24px; }
.sku-detail__grid{ grid-template-columns: minmax(0,1fr); gap: 28px; }
.sku-detail__media{ max-width: 320px; margin-inline: auto; aspect-ratio: 1.3; }
.sku-detail__title{ font-size: 20px; }
.sku-detail__facts > div{ grid-template-columns: minmax(0,1fr); gap: 5px; }
.sku-detail__facts dt{ font-weight: 600; }
.products-foot{ align-items: flex-start; flex-direction: column; }
}
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; }

.products-masthead{ margin-bottom: 36px; }
.products-toolbar{ margin-bottom: 28px; }
.products-toolbar__count{ font-size: 14px; line-height: 1.7; }
.products-filter button{ font-weight: 500; }
.products-shell[data-view="catalog"] .products-index{ gap: 24px; }
.products-shell[data-view="catalog"] .products-index a{ padding: 24px; grid-template-rows: 168px auto 1fr auto; }
.products-shell[data-view="catalog"] .products-index .thumb{ height: 156px; margin-bottom: 16px; }
.products-shell[data-view="catalog"] .products-index .thumb img{ padding: 2px 4px; }
.products-shell[data-view="catalog"] .products-index .generic{ min-height: 46px; line-height: 1.75; }
.products-index .card-bottom{ margin-top: 18px; padding-top: 16px; flex-wrap: wrap; }
.products-index .card-cta{ min-height: 32px; }
.products-shell[data-view="detail"] .products-index{ max-height: calc(100svh - 154px); overflow-y: auto; scrollbar-width: thin; padding: 4px; margin: -4px; }
.products-shell[data-view="detail"] .products-index .generic{ line-height: 1.65; font-size: 13px; }
.product-panel__generic{ line-height: 1.75; }
.product-panel__meta{ line-height: 1.75; }
.sku-card__caption{ gap: 8px; }
.sku-detail__facts dt{ font-size: 14px; line-height: 1.9; }
.sku-detail__facts dd{ font-size: 15px; line-height: 1.95; }
.sku-detail__disclaimer{ font-size: 14px; line-height: 1.85; }
.indication-list{ gap: 12px; }
.sku-detail__foot{ font-size: 14px; }
.sku-detail__foot a{ white-space: normal; }
@media   (max-width: 800px) {
.products-shell[data-view="detail"] .products-index{ max-height: none; overflow-y: visible; padding-bottom: 12px; }
}
@media   (max-width: 575px) {
.products-shell[data-view="catalog"] .products-index a{ grid-template-columns: 80px minmax(0,1fr); grid-template-rows: auto auto auto; padding: 18px; gap: 4px 14px; }
.products-shell[data-view="catalog"] .products-index .thumb{ height: 106px; margin: 0; }
.products-shell[data-view="catalog"] .products-index .thumb img{ padding: 0; }
.products-shell[data-view="catalog"] .products-index .generic{ min-height: 0; }
.products-index .card-bottom{ gap: 8px; margin-top: 8px; padding-top: 10px; }
.products-index .card-cta{ font-size: 12px; gap: 6px; }
.products-index .card-cta::after{ width: 24px; height: 24px; font-size: 20px; }
.products-filter{ border-radius: 20px; }
.products-filter button{ flex: 1 1 40%; }
}
