/* Precise labels are HTML so every strength stays readable and selectable. */
.hero-brand{position:absolute;top:7%;left:5%;width:clamp(120px,13vw,190px);aspect-ratio:121/40;overflow:hidden;mix-blend-mode:multiply}
.hero-brand img{position:absolute;max-width:none;width:169.256198%;height:auto;left:-34.710744%;top:-35%}
.product-image{display:flex;align-items:flex-end;justify-content:center;aspect-ratio:1/1.4;background:#fff;padding:78px 8px 22px}
.product-image .image-product-identity{top:17px;left:10px;right:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.product-image .image-product-identity strong{font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.product-image .image-product-identity small{display:block;text-align:center;font-size:11px;font-weight:600;line-height:1.4}
.vial-art{position:relative;display:block;container-type:inline-size;width:100%;aspect-ratio:3/4;flex-shrink:0}
.product-image .vial-art{width:77%;max-height:none}
.vial-art>img{position:static;display:block;width:100%;height:auto;object-fit:contain;inset:auto}
.vial-label{position:absolute;top:54%;left:25.5%;width:49%;height:17%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3cqw;color:#07144c;line-height:1.18}
.vial-label>strong{font-size:6cqw;letter-spacing:-.06cqw;font-weight:750;overflow-wrap:anywhere;max-width:100%;max-height:68%}
.vial-label>strong.long-name{font-size:4.5cqw}
.vial-label>span{font-size:5.6cqw;font-weight:700}
.detail-visual{background:#fff}
.detail-visual .product-identity{background:#f3f4f9;padding-bottom:18px}
.visual-specification{justify-content:center;align-items:center;flex-direction:column;gap:5px}
.detail-visual .vial-art{width:min(100%,480px);margin:0 auto}
.identity-foot{background:#f7f8fb}
.box-count-note{font-size:13px;color:var(--blue);margin:25px 0 10px;font-weight:600}
.actual-products{background:#f6f7fa;padding:72px 0}
.actual-layout{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px}
.actual-copy h2{font-size:42px;line-height:1.15;margin:18px 0 25px}
.actual-copy>p:not(.section-label){color:var(--muted);line-height:1.9;font-size:14px}
.actual-facts{display:flex;gap:28px;border-top:1px solid var(--line);margin-top:28px;padding-top:25px}
.actual-facts strong{font-size:30px;display:block;color:var(--ink)}
.actual-facts span{font-size:12px;color:var(--muted)}
.actual-gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.actual-gallery figure{margin:0;min-width:0}
.actual-gallery img{display:block;width:100%;height:auto;border-radius:8px}
.actual-gallery figcaption{font-size:11px;line-height:1.6;color:var(--muted);padding:12px 2px}
.packaging-photo>img{object-fit:contain;height:500px;background:#fff}
.company-identity{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;margin-bottom:45px}
.company-identity h2{font-size:28px;line-height:1.35;margin:12px 0}
.company-identity address{font-style:normal;color:var(--muted);line-height:1.8}
.company-identity p{max-width:900px;line-height:1.9;color:var(--muted)}
.mechanism-list{padding-left:21px;margin:0}
.mechanism-list li{color:var(--muted);line-height:1.9;margin:0 0 15px;padding-left:5px}
.research-section{padding:22px 25px;background:#f5f6fb;border-left:3px solid var(--blue)}
.research-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.research-links a{font-size:12px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.actual-layout{grid-template-columns:1fr;gap:30px}.actual-gallery{max-width:620px}.actual-copy h2{font-size:34px}}
@media(max-width:640px){.product-image{aspect-ratio:1/1.5;padding:77px 3px 23px}.product-image .vial-art{width:90%}.product-image .image-product-identity strong{font-size:16px}.product-image .image-product-identity small{display:block;font-size:10px}.hero-brand{width:125px;top:6%;left:5%}.photo-caption>span{font-size:10px}.photo-caption small{font-size:8px;max-width:70px;text-align:right}.actual-products{padding:45px 0}.actual-copy h2{font-size:30px}.actual-gallery{gap:12px}.packaging-photo>img{height:410px}.company-identity h2{font-size:23px}.company-identity{padding:28px 0}.research-section{padding:20px 17px}.vial-label>strong.long-name{font-size:4.6cqw}}
@media(max-width:380px){.product-image .image-product-identity strong{font-size:14px}.product-image{padding-top:70px}.product-image .image-label{font-size:7px;padding:4px}.product-image .image-arrow{width:25px;height:25px;right:7px}.actual-facts{gap:20px}}

/* Keep identity in normal flow: long names and codes cannot overlap vial caps. */
.product-image{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;aspect-ratio:auto;height:auto;padding:18px 8px 28px;gap:9px}
.product-image .image-product-identity{position:static;inset:auto;min-height:53px;width:100%;flex-shrink:0;justify-content:flex-start}
.product-image .vial-art{margin:0 auto}
@media(max-width:640px){.product-image{padding:17px 4px 26px;gap:5px}.product-image .image-product-identity{min-height:52px}.product-image .vial-art{width:87%}}



/* Frame the exact carton area selected by the user; preserve the original photograph. */
.actual-photo-crop{position:relative;overflow:hidden;aspect-ratio:675/908;border-radius:8px}
.actual-gallery .actual-photo-crop img{position:absolute;left:0;top:0;width:106.666667%;max-width:none;height:auto;border-radius:0;transform:translate(-2.777778%,-9.375%)}
/* Center the product identity within the now unbranded label. */
.vial-label{top:48%;height:22%}

/* Four equally sized documentary photographs with no enlargement controls. */
.actual-gallery-grid{width:100%;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.actual-photo{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;background:#e9ecf2}
.actual-gallery .actual-photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.actual-gallery .actual-carton-frame img{object-fit:contain;object-position:center}
@media(max-width:640px){.actual-gallery-grid{gap:12px}.actual-gallery-grid figcaption{font-size:10px;padding:8px 0}}
