/* Presentation layer only: original assets, product data and commerce scripts stay intact. */
.scientific-hero{position:relative;isolation:isolate;overflow:hidden;background:#f5faff url("assets/scientific-molecular-background.jpg") center center/cover no-repeat}
.scientific-hero::before,.scientific-hero::after{content:none}
.scientific-hero .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);min-height:610px;padding-top:48px;padding-bottom:48px;gap:28px}
.scientific-hero .hero>div:first-child{position:relative;z-index:1}
.hero-art{display:grid;place-items:center;min-width:0;height:530px;mix-blend-mode:normal;filter:drop-shadow(8px 16px 12px rgba(28,48,78,.16))}
.scientific-hero .hero-img{width:660px;max-width:none;height:660px;object-fit:contain;transform:rotate(17deg);background:transparent;border:0;border-radius:0}
.scientific-hero .hero-shop{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 8px 24px #1048d525;gap:24px;min-height:54px;padding:0 24px}
.hero-shop:hover{background:#093bb7;transform:translateY(-1px)}
.hero-shop span,.view-all span{font-size:22px;line-height:1}
.collection-actions{display:flex;align-items:center;gap:24px}
.view-all{display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-weight:500;min-height:44px;white-space:nowrap}
.view-all:hover{text-decoration:underline;text-underline-offset:5px}
.product-information{padding:48px 0 72px;background:#f7f9fc}
.information-heading{font-size:1.625rem;margin:0 0 26px;letter-spacing:-.02em}
.information-panels{display:grid;gap:16px}
.information-panel{background:#fff;border-radius:18px;box-shadow:0 3px 14px #172d5010;overflow:hidden}
.information-panel>summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:24px 28px;font-size:1.0625rem;font-weight:500;min-height:86px}
.information-panel summary::-webkit-details-marker{display:none}
.information-panel>summary::after,.faq-item>summary::after{content:"+";margin-left:auto;color:var(--blue);font-size:23px;font-weight:400}
.information-panel[open]>summary::after,.faq-item[open]>summary::after{content:"−"}
.information-panel>summary:hover{background:#fafdff;color:var(--blue)}
.panel-icon{display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#edf4ff;color:var(--blue)}
.panel-icon svg{width:22px;height:22px}
.panel-body{padding:0 28px 28px 84px;color:var(--muted);line-height:1.7}
.panel-body p{margin:0 0 16px;max-width:850px;font-size:.9375rem}
.panel-body p:last-child{margin-bottom:0}
.panel-body .specs{max-width:850px;margin:0 0 18px}
.panel-body .specs>div{padding:14px 0}
.document-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.document-card{display:flex;gap:16px;align-items:center;padding:20px;border-radius:12px;background:#f7faff;color:var(--ink);min-width:0}
.document-card>span:last-child:not(:nth-child(2)){margin-left:auto;color:var(--blue)}
.document-card strong{display:block;font-size:.9375rem;font-weight:500;line-height:1.4}
.document-card small{display:block;color:var(--muted);font-size:.8125rem;margin-top:5px;line-height:1.5}
.document-card[href]:hover{background:#eef4ff}
.document-card.unavailable{background:#fafbfd}
.delivery-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.delivery-cards section{padding:22px;background:#f8faff;border-radius:12px}
.delivery-cards h3{color:var(--blue);font-size:1rem;margin:0 0 10px;font-weight:500}
.delivery-cards p{font-size:.875rem;margin:0}
.faq-item{margin-top:2px}
.faq-item>summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:18px 0;color:var(--ink);font-weight:500;font-size:.9375rem;min-height:56px}
.faq-item>p{padding:0 32px 18px 0}
.information-panel summary:focus-visible,.view-all:focus-visible,.hero-shop:focus-visible,.document-card:focus-visible{outline:3px solid #1048d5;outline-offset:4px;border-radius:8px}
@media(min-width:701px) and (max-width:1000px){.scientific-hero .hero{min-height:520px}.hero-art{height:440px}.scientific-hero .hero-img{width:530px;height:530px}.collection-actions{gap:14px}.delivery-cards{gap:10px}.delivery-cards section{padding:16px}}
@media(max-width:700px){
 .scientific-hero .hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;min-height:0;padding-top:14px;padding-bottom:8px;gap:0 8px}
 .scientific-hero .hero>div:first-child{display:block;grid-column:1;grid-row:1}
 .scientific-hero .hero h1{font-size:clamp(1.75rem,7.2vw,2.375rem);line-height:1.05;margin:10px 0 12px}
 .scientific-hero .hero .intro{margin:0 0 16px;font-size:.875rem;line-height:1.45}
 .scientific-hero .hero .hero-shop{width:100%;margin:0;justify-content:center;padding:0 14px;min-height:46px;font-size:.8125rem;min-width:0}
 .scientific-hero .hero .meta{display:flex;margin-top:18px}
 .scientific-hero .hero-art{grid-column:2;grid-row:1;display:grid;height:300px;margin-top:0;overflow:visible;align-self:start}
 .scientific-hero .hero-img{width:280px;height:280px;max-width:none;object-fit:contain;transform:rotate(17deg)}
 .featured .section-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}
 .featured .section-head>div:first-child{display:block}
 .featured .section-head h2{font-size:1.45rem}
 .collection-actions{margin-left:auto;gap:0}.view-all{font-size:.8125rem;gap:8px}
 .product-information{padding:32px 0 44px}.information-heading{font-size:1.4rem;margin-bottom:20px}
 .information-panels{gap:12px}.information-panel{border-radius:14px}
 .information-panel>summary{padding:18px 16px;gap:12px;min-height:76px;font-size:.9375rem}
 .panel-icon{width:34px;height:34px;flex-basis:34px;border-radius:10px}.panel-icon svg{width:20px;height:20px}
 .panel-body{padding:0 18px 22px}.document-cards,.delivery-cards{grid-template-columns:1fr;gap:12px}.document-card{padding:16px;gap:12px}.delivery-cards section{padding:18px}.panel-body p{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){.hero-shop{transition:none}.hero-shop:hover{transform:none}}
/* Centre oversized artwork independently of the grid's intrinsic image size. */
.hero-art{position:relative}
.scientific-hero .hero-img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(17deg);width:630px;height:630px}
@media(min-width:701px) and (max-width:1000px){.scientific-hero .hero-img{width:530px;height:530px}}
@media(max-width:700px){.scientific-hero .hero-img{width:280px;height:280px;transform:translate(-50%,-50%) rotate(17deg)}}
@media(max-width:700px){.scientific-hero{background-position:62% center}}

/* Opaque original artwork: the silhouette mask removes only the surrounding white plate. */
.scientific-hero .hero-img{-webkit-mask:url("assets/hero-vial-mask.svg") center/100% 100% no-repeat;mask:url("assets/hero-vial-mask.svg") center/100% 100% no-repeat}

/* Reference hero typography and three icon-led facts. */
.scientific-hero .hero h1{font-weight:700;letter-spacing:-.045em;line-height:1.02}
.hero-highlight{color:#0661f5;white-space:nowrap}
.scientific-hero .hero .hero-eyebrow{font-family:var(--sans);font-size:.8125rem;font-weight:700;letter-spacing:.07em;color:#396dae;text-transform:uppercase;margin-bottom:22px}
.scientific-hero .hero .intro{font-size:1.1875rem;line-height:1.5;max-width:470px}
.scientific-hero .hero-shop{border-radius:9px;min-width:245px;justify-content:center;box-shadow:0 3px 10px #1048d518}
.hero-features{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:16px 0 0;gap:0;max-width:920px;width:100%;position:relative;z-index:1}
.hero-features li{display:flex;align-items:center;gap:14px;padding:0 26px}
.hero-features li:first-child{padding-left:0}
.hero-features li+li{}
.hero-feature-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;color:#1258bb;background:#ffffffcc}
.hero-feature-icon svg{width:22px;height:22px}
.hero-features strong{display:block;font-size:.875rem;line-height:1.35;font-weight:600;color:var(--ink)}
.hero-features small{display:block;font-size:.8125rem;line-height:1.45;color:var(--muted);margin-top:3px}
@media(max-width:700px){.scientific-hero .hero .intro{font-size:1.0625rem}.scientific-hero .hero .hero-eyebrow{font-size:.75rem;margin-bottom:18px}.hero-features{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:10px;gap:14px 10px;max-width:none}.hero-features li,.hero-features li:first-child{padding:0;gap:8px}.hero-features li+li{border-left:0}.hero-features li:last-child{grid-column:1/-1;justify-self:center}.hero-feature-icon{width:30px;height:30px;flex-basis:30px}.hero-feature-icon svg{width:16px;height:16px}.hero-features strong{font-size:.75rem}.hero-features small{font-size:.6875rem}.scientific-hero .hero-shop{min-width:0}}

/* Original vial, leaning left above a softly reflective surface. */
.scientific-hero .hero-art{--vial-size:630px;--floor-offset:266px;height:590px;filter:none;isolation:isolate}
.scientific-hero .hero-img{width:var(--vial-size);height:var(--vial-size);top:45%;transform:translate(-50%,-50%) rotate(-14deg);z-index:2}
.vial-floor-shadow{position:absolute;left:52%;top:calc(45% + var(--floor-offset) - 8px);width:230px;height:26px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#24436960, #31588523 45%,transparent 72%);filter:blur(5px);z-index:1}
.vial-reflection{position:absolute;left:0;right:0;top:calc(45% + var(--floor-offset));height:95px;overflow:hidden;opacity:.34;pointer-events:none;mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent);z-index:0}
.vial-reflection img{position:absolute;left:50%;top:var(--floor-offset);width:var(--vial-size);max-width:none;height:var(--vial-size);transform:translate(-50%,-50%) scaleY(-1) rotate(-14deg);filter:blur(1px);-webkit-mask:url("assets/hero-vial-mask.svg") center/100% 100% no-repeat;mask:url("assets/hero-vial-mask.svg") center/100% 100% no-repeat}
@media(min-width:701px) and (max-width:1000px){.scientific-hero .hero-art{--vial-size:530px;--floor-offset:224px;height:510px}.vial-floor-shadow{width:200px}.vial-reflection{height:80px}}
@media(max-width:700px){.scientific-hero .hero-art{--vial-size:280px;--floor-offset:116px;height:300px}.vial-floor-shadow{width:120px;height:15px;filter:blur(4px)}.vial-reflection{height:52px}}
/* Product reference: price → sizes → quantity/add → stock → facts. */
.reference-product .detail,.reference-product .upcoming-detail{gap:48px;padding-top:24px;padding-bottom:48px}
.reference-product .product-kicker{display:inline-block;margin:0 0 14px;padding:5px 10px;border-radius:7px;background:#edf5ff;color:#2862b7;font-family:var(--sans);font-size:.75rem;letter-spacing:.025em;font-weight:700;text-transform:uppercase}
.reference-product h1{font-weight:700;margin-bottom:16px}
.reference-product .detail-copy{margin-bottom:22px}
.reference-product .purchase-top{border:0;padding:0;margin:0 0 22px;display:block}
.reference-product .purchase-price{font-size:2.25rem;font-weight:700;letter-spacing:-.03em;line-height:1.2}
.reference-product .price-label{display:block;margin-top:6px;font-size:.8125rem}
.reference-product .option-heading{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--ink)}
.reference-product .vial-options{display:flex;flex-wrap:wrap;gap:10px}
.reference-product .vial-options .variant-choice{flex:1 1 76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:83px;padding:14px 10px;border-radius:11px;font-weight:600;white-space:normal}
.reference-product .variant-choice small{margin:0;font-family:var(--sans);font-size:.8125rem;font-weight:400;letter-spacing:0;color:var(--muted)}
.reference-product .vial-options .variant-choice.selected{background:#e7f0ff;border:2px solid #2667cf;box-shadow:0 0 0 2px #2667cf10;color:#133b81;padding:13px 9px}
.reference-product .variant-choice.selected small{color:#204b91}
.reference-product #variant-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.reference-product .purchase-panel{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:24px 0 0}
.reference-product .quantity-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.reference-product .purchase-actions{display:flex;gap:12px;padding:0;margin:0}
.reference-product .purchase-actions .shop-primary{flex:1;min-height:56px;border-radius:10px}
.reference-product .quantity-control{border-radius:10px;min-height:56px}
.reference-product .stock-label{margin:18px 0 0;display:flex;align-items:center;gap:8px;font-size:.875rem}
.reference-product .stock-label.in-stock::before{content:"";height:9px;width:9px;border-radius:50%;background:#279b4b;flex-shrink:0}
.reference-product .stock-label.in-stock>svg{display:none}
.reference-product .purchase-note,.reference-product .facts{display:none}
.purchase-features{list-style:none;margin:30px 0 0;padding:22px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.purchase-features li{display:flex;align-items:flex-start;gap:9px;min-width:0}
.purchase-feature-icon,.delivery-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#eaf3ff;color:#2869cc;border-radius:50%}
.purchase-feature-icon svg{width:18px;height:18px}
.purchase-features strong{display:block;font-size:.75rem;line-height:1.4;font-weight:600}
.purchase-features small{display:block;font-size:.7rem;line-height:1.5;color:var(--muted);margin-top:3px}
.composition-scroll{overflow-x:auto;border-radius:12px;margin-bottom:18px;background:#f7f9fc}
.composition-table{border-collapse:collapse;width:100%;font-size:.9375rem;text-align:left}
.composition-table caption{text-align:left;padding:12px 18px;font-size:.8125rem;color:var(--muted)}
.composition-table th,.composition-table td{padding:16px 20px;white-space:nowrap}
.composition-table thead{background:#f0f4f9;color:var(--ink)}
.composition-table th{font-weight:600}.composition-table tbody th{color:var(--ink)}
.composition-table td.is-selected{background:#edf4ff;color:#133b81;font-weight:600}
.composition-table thead th.is-selected{background:#b9d9ff;color:#102f63}
.reference-product .information-panel>summary{font-weight:600;font-size:1.125rem}
.reference-product .information-panel>summary::after{content:"";width:8px;height:8px;border-right:2px solid #62758c;border-bottom:2px solid #62758c;transform:rotate(45deg);margin-right:5px}
.reference-product .information-panel[open]>summary::after{transform:rotate(225deg)}
.reference-product .panel-body{padding-left:28px}
.reference-product .delivery-cards section{position:relative;padding:22px 18px 22px 76px;background:#fff}
.delivery-icon{position:absolute;left:18px;top:22px;width:42px;height:42px}.delivery-icon svg{width:23px;height:23px}
.reference-product .delivery-cards h3{color:var(--ink);font-weight:600;font-size:.9375rem}
@media(max-width:1000px){.reference-product .detail,.reference-product .upcoming-detail{gap:28px}.purchase-features{gap:10px}.purchase-features li{flex-direction:column}.reference-product .delivery-cards section{padding:18px}.delivery-icon{position:static;margin-bottom:12px}}
@media(max-width:700px){.reference-product .detail,.reference-product .upcoming-detail{gap:24px;padding-bottom:32px}.reference-product .purchase-price{font-size:2rem}.reference-product .vial-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.reference-product .vial-options .variant-choice{min-width:0;min-height:76px}.reference-product .purchase-actions{gap:10px}.reference-product .purchase-actions .shop-primary{padding:0 12px}.reference-product .panel-body{padding-left:18px}.composition-table th,.composition-table td{padding:14px 16px}.reference-product .information-panel>summary{font-size:1rem}.purchase-features{margin-top:24px}.reference-product .delivery-cards section{padding:20px 18px 20px 76px}.delivery-icon{position:absolute;left:18px;top:20px}}

/* Compact product header requested after reference review. */
.reference-product .breadcrumb{padding-top:16px;padding-bottom:10px;margin-bottom:0}
.reference-product .detail,.reference-product .upcoming-detail{grid-template-columns:minmax(0,.88fr) minmax(0,1fr);gap:36px;padding-top:8px;padding-bottom:28px;align-items:start}
.reference-product .gallery{position:static}
.reference-product .image-zoom{height:480px;border:0;border-radius:0;display:grid;place-items:center;overflow:hidden}
.reference-product .detail-image{width:570px;max-width:none;height:570px;aspect-ratio:1;object-fit:contain;flex-shrink:0}
.reference-product .product-kicker{font-size:.6875rem;padding:4px 7px;margin:0 0 8px}
.reference-product .detail h1,.reference-product .upcoming-detail h1{font-size:2rem;line-height:1.08;margin:0 0 10px}
.reference-product .detail-copy{font-size:.9375rem;line-height:1.5;margin:0 0 14px}
.reference-product .purchase-top{margin:0 0 16px}
.reference-product .purchase-price{font-size:1.875rem;line-height:1.15}
.reference-product .option-heading{margin:0 0 8px;font-size:.875rem}
.reference-product .vial-options{gap:8px}
.reference-product .vial-options .variant-choice{min-height:68px;padding:10px 8px;gap:5px;font-size:.875rem}
.reference-product .vial-options .variant-choice.selected{padding:9px 7px}
.reference-product .purchase-panel{margin-top:16px}
.reference-product .purchase-actions .shop-primary,.reference-product .quantity-control{min-height:48px}
.reference-product .stock-label{margin-top:12px;font-size:.8125rem;gap:8px;flex-wrap:wrap}
.reference-product .dispatch-copy{margin-left:2px}
.reference-product .image-caption,.reference-product .price-label,.reference-product .purchase-features{display:none}
@media(min-width:701px) and (max-width:1000px){.reference-product .detail,.reference-product .upcoming-detail{gap:24px}.reference-product .image-zoom{height:440px}.reference-product .detail-image{width:525px;height:525px}}
@media(max-width:700px){.reference-product .detail,.reference-product .upcoming-detail{grid-template-columns:1fr;gap:16px;padding-top:0;padding-bottom:24px}.reference-product .image-zoom{height:330px}.reference-product .detail-image{width:395px;height:395px}.reference-product .detail h1,.reference-product .upcoming-detail h1{font-size:1.8rem}.reference-product .vial-options{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-product .vial-options .variant-choice{min-height:64px}.reference-product .breadcrumb{padding-top:12px;padding-bottom:8px}}
.reference-product .image-zoom{position:relative;height:550px}
.reference-product .detail-image{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:650px;height:650px}
@media(min-width:701px) and (max-width:1000px){.reference-product .image-zoom{height:440px}.reference-product .detail-image{width:525px;height:525px}}
@media(max-width:700px){.reference-product .image-zoom{height:330px}.reference-product .detail-image{width:395px;height:395px}}

/* Compact product assurances, without a divider or additional copy. */
.product-assurances{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;margin:22px 0 0;padding:0;border:0}
.product-assurances li{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:.75rem;line-height:1.3;font-weight:500}
.product-assurances li>span:first-child{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#edf4ff;color:#2867c7}
.product-assurances svg{width:17px;height:17px}
@media(max-width:700px){.product-assurances{gap:8px;margin-top:18px}.product-assurances li{gap:6px;font-size:.6875rem}.product-assurances li>span:first-child{width:26px;height:26px;flex-basis:26px}}

/* Collection heading and subtitle. */
.featured .section-head h2{font-weight:700;letter-spacing:-.035em}
.featured .section-head .collection-subtitle{margin:10px 0 0;font-size:.9375rem;color:var(--muted);line-height:1.5}
@media(max-width:700px){.featured .section-head .collection-subtitle{font-size:.8125rem;margin-top:7px}}
/* Keep the introduction label and paragraph in separate cells at every breakpoint. */
.home-about .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 var(--s-8);align-items:start}
.home-about .eyebrow{grid-column:1;grid-row:1;margin:5px 0 0;align-self:start}
.home-about p:not(.eyebrow){grid-column:2;grid-row:1;margin:0}
.home-about .home-actions{grid-column:2;grid-row:2;margin-top:24px}
@media(max-width:1000px){.home-about .wrap{grid-template-columns:minmax(0,1fr);row-gap:16px}.home-about .eyebrow{grid-column:1;grid-row:1;margin:0}.home-about p:not(.eyebrow){grid-column:1;grid-row:2;margin:0}.home-about .home-actions{grid-column:1;grid-row:3;margin-top:4px}}
