:root{
  --navy:#0a1c36;
  --navy-2:#102a4d;
  --blue:#1664ff;
  --blue-2:#0d54df;
  --ice:#f1f7ff;
  --ice-2:#e8f3ff;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --text:#152842;
  --muted:#627187;
  --muted-2:#7d8998;
  --line:#dce5ef;
  --line-strong:#cbd9e7;
  --success:#157f62;
  --radius-xs:8px;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:40px;
  --shadow-sm:0 8px 24px rgba(10,28,54,.06);
  --shadow-md:0 22px 70px rgba(10,36,72,.10);
  --shadow-product:0 28px 80px rgba(15,66,128,.14);
  --max:1200px;
  --header-h:72px;
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:visible}
body.menu-open,body.dialog-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.section{padding:112px 0}
.section-tight{padding:82px 0}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.eyebrow::before{content:"";width:24px;height:1.5px;background:currentColor;border-radius:999px}
.section-heading{margin:0;color:var(--navy);font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.04;letter-spacing:-.045em;font-weight:690}
.section-copy{color:var(--muted);font-size:1.04rem;max-width:620px;margin:20px 0 0}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.skip-link{position:fixed;left:18px;top:-60px;background:var(--navy);color:white;padding:10px 14px;border-radius:8px;z-index:9999}.skip-link:focus{top:18px}
:focus-visible{outline:3px solid rgba(22,100,255,.36);outline-offset:3px}
.announcement{height:34px;background:var(--navy);color:#e9f2ff;display:flex;align-items:center;justify-content:center;font-size:.72rem;letter-spacing:.105em;text-transform:uppercase;font-weight:650;text-align:center;padding:0 16px}
.site-header{height:var(--header-h);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid rgba(220,229,239,.8)}
.header-inner{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.logo{display:inline-flex;align-items:baseline;font-weight:820;font-size:1.6rem;line-height:1;letter-spacing:-.06em;color:var(--navy)}.logo-x{color:var(--blue)}
.nav{display:flex;align-items:center;justify-content:center;gap:25px}
.nav-link{font-size:.84rem;font-weight:560;color:#43546a;position:relative;padding:26px 0}
.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:1.5px;background:var(--blue);transition:right .25s var(--ease)}
.nav-link:hover{color:var(--navy)}.nav-link:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:4px}.icon-btn{width:42px;height:42px;border:0;background:transparent;color:var(--navy);display:grid;place-items:center;border-radius:50%;transition:background .2s,color .2s,transform .2s}.icon-btn:hover{background:var(--ice);color:var(--blue);transform:translateY(-1px)}
.menu-toggle{display:none}
.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(22,100,255,.033) 1px,transparent 1px),linear-gradient(90deg,rgba(22,100,255,.033) 1px,transparent 1px);background-size:44px 44px}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:34px;position:relative;z-index:1}
.hero-copy{padding:74px 0 86px}
.hero h1{margin:23px 0 22px;color:var(--navy);font-size:clamp(3.65rem,6.2vw,6.35rem);line-height:.89;letter-spacing:-.065em;font-weight:680;max-width:650px}
.hero h1 span{display:block}.hero h1 .accent-line{color:var(--blue)}
.hero-description{max-width:555px;font-size:1.09rem;color:var(--muted);line-height:1.72;margin:0}
.hero-actions{display:flex;gap:12px;align-items:center;margin-top:34px;flex-wrap:wrap}
.btn{min-height:48px;padding:0 20px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.88rem;font-weight:680;border:1px solid transparent;transition:transform .22s var(--ease),background .22s,border-color .22s,box-shadow .22s}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--blue);color:white;box-shadow:0 10px 24px rgba(22,100,255,.2)}.btn-primary:hover{background:var(--blue-2);box-shadow:0 13px 30px rgba(22,100,255,.26)}
.btn-secondary{background:white;color:var(--navy);border-color:var(--line-strong)}.btn-secondary:hover{border-color:#a8bbcf;background:#fbfdff}
.btn-ghost{padding-inline:0;min-height:auto;color:var(--blue);border:0;background:none}.btn-ghost svg{transition:transform .2s}.btn-ghost:hover{transform:none}.btn-ghost:hover svg{transform:translateX(4px)}
.trust-row{display:flex;align-items:center;gap:18px;margin-top:29px;flex-wrap:wrap}.trust-item{display:inline-flex;align-items:center;gap:8px;color:#657489;font-size:.78rem;font-weight:600}.trust-dot{width:20px;height:20px;border:1px solid #cfe0f3;border-radius:50%;display:grid;place-items:center;color:var(--blue)}.trust-dot svg{width:12px!important;height:12px!important;stroke-width:2.2!important}
.hero-visual{height:650px;position:relative;display:grid;place-items:center;min-width:0}
.hero-orbit{position:absolute;right:-60px;top:50%;width:590px;height:590px;border:1px solid rgba(22,100,255,.11);border-radius:50%;transform:translateY(-50%)}.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;border:1px solid rgba(22,100,255,.1);border-radius:50%;inset:64px}.hero-orbit::after{inset:142px;background:radial-gradient(circle at 50% 40%,rgba(112,177,255,.13),rgba(255,255,255,0) 65%)}
.hero-visual img{width:min(740px,112%);height:auto;max-width:none;position:relative;z-index:2;filter:drop-shadow(0 30px 40px rgba(23,65,112,.07));transform:translateX(34px)}
.lab-note{position:absolute;right:3px;bottom:77px;z-index:3;width:154px;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:12px 13px;border-radius:12px;backdrop-filter:blur(10px)}
.lab-note small{display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-weight:700}.lab-note strong{display:block;font-size:.78rem;color:var(--navy);margin-top:2px}
.catalog-section{border-top:1px solid #edf2f7}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-top .section-copy{margin:12px 0 0}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product-card{position:relative;background:#fbfdff;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s,border-color .28s}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:#c8d9ea}.product-media{height:308px;display:grid;place-items:center;background:linear-gradient(150deg,#f9fcff,#edf6ff);position:relative;overflow:hidden}.product-media::before{content:"";position:absolute;width:205px;height:205px;border:1px solid rgba(22,100,255,.1);border-radius:50%}.product-media img{height:290px;width:auto;object-fit:contain;position:relative;z-index:2;transition:transform .38s var(--ease)}.product-card:hover .product-media img{transform:none}
.product-body{padding:22px 22px 21px}.product-category{font-size:.7rem;letter-spacing:.105em;text-transform:uppercase;color:var(--blue);font-weight:740}.product-title{margin:7px 0 7px;font-size:1.18rem;color:var(--navy);letter-spacing:-.025em}.product-desc{font-size:.86rem;color:var(--muted);line-height:1.55;min-height:42px;margin:0}.product-link{display:flex;justify-content:space-between;align-items:center;margin-top:19px;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--navy);font-weight:650}.product-link svg{color:var(--blue);transition:transform .2s}.product-card:hover .product-link svg{transform:translateX(4px)}
.quality{background:var(--navy);color:white;position:relative;overflow:hidden}.quality::before{content:"";position:absolute;right:-240px;top:-300px;width:720px;height:720px;border-radius:50%;border:1px solid rgba(109,176,255,.11);box-shadow:0 0 0 100px rgba(50,120,220,.025),0 0 0 200px rgba(50,120,220,.02)}.quality-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:88px;align-items:center;position:relative}.quality .eyebrow{color:#77b2ff}.quality .section-heading{color:white}.quality .section-copy{color:#aebed1}.quality-points{display:grid;grid-template-columns:1fr 1fr;gap:15px 26px;margin-top:32px}.quality-point{display:flex;align-items:center;gap:10px;font-size:.83rem;color:#dce8f5}.quality-point svg{color:#69a9ff;width:18px;height:18px}
.coa-stage{position:relative;min-height:540px;display:grid;place-items:center}.coa-glow{position:absolute;width:420px;height:420px;background:radial-gradient(circle,rgba(38,128,255,.23),rgba(38,128,255,0) 69%);filter:blur(5px)}
.coa-paper{position:relative;width:min(430px,90%);background:#fff;color:var(--navy);border-radius:6px;padding:33px 34px 30px;box-shadow:0 44px 110px rgba(0,0,0,.32);transform:rotate(2deg);z-index:2}.coa-paper::before{content:"DEMO DOCUMENT";position:absolute;inset:45% -18px auto;transform:rotate(-24deg);font-size:2.15rem;font-weight:800;letter-spacing:.08em;color:rgba(22,100,255,.085);white-space:nowrap;text-align:center}.coa-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #dfe7ef;padding-bottom:19px}.coa-brand{font-size:1.35rem;font-weight:820;letter-spacing:-.05em}.coa-meta{font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:#7b8998;text-align:right}.coa-title{font-size:1.08rem;margin:22px 0 3px;font-weight:720}.coa-sub{font-size:.68rem;color:#798797;margin:0}.coa-chart{margin:23px 0 20px;height:116px;border-left:1px solid #cbd8e5;border-bottom:1px solid #cbd8e5;position:relative;background:linear-gradient(to top,rgba(22,100,255,.03),transparent)}.coa-chart svg{width:100%;height:100%;overflow:visible}.coa-chart path{fill:none;stroke:var(--blue);stroke-width:2}.coa-lines{display:grid;gap:9px}.coa-line{display:grid;grid-template-columns:1.1fr .7fr;gap:18px;font-size:.63rem;padding-bottom:8px;border-bottom:1px solid #edf1f5}.coa-line span:last-child{text-align:right;color:#748293}.sample-pill{position:absolute;right:-18px;top:68px;background:#1d6fff;color:white;padding:8px 12px;border-radius:8px;font-size:.61rem;font-weight:800;letter-spacing:.12em;box-shadow:0 8px 24px rgba(0,0,0,.18);transform:rotate(-2deg)}
.why{background:#fff}.benefits{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit{padding:34px 26px 36px;border-right:1px solid var(--line)}.benefit:last-child{border-right:0}.benefit-icon{width:38px;height:38px;border-radius:10px;background:var(--ice);display:grid;place-items:center;color:var(--blue);margin-bottom:24px}.benefit-icon svg{width:20px;height:20px}.benefit h3{font-size:.97rem;margin:0 0 8px;color:var(--navy)}.benefit p{font-size:.8rem;line-height:1.55;color:var(--muted);margin:0}
.research-strip{background:linear-gradient(135deg,#f5f9ff,#edf6ff);border-top:1px solid #e5eef8;border-bottom:1px solid #e1ebf6}.research-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}.research-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.research-tile{padding:20px;background:rgba(255,255,255,.72);border:1px solid #d7e6f4;border-radius:14px;display:flex;gap:13px;align-items:flex-start}.research-tile svg{color:var(--blue);flex:0 0 auto}.research-tile h3{font-size:.88rem;margin:0 0 3px;color:var(--navy)}.research-tile p{font-size:.74rem;color:var(--muted);margin:0;line-height:1.45}
.faq-support{display:grid;grid-template-columns:1.15fr .85fr;gap:74px;align-items:start}.faq-list{margin-top:35px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:transparent;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;color:var(--navy);font-weight:610}.faq-question svg{transition:transform .25s var(--ease);flex:0 0 auto}.faq-item.open .faq-question svg{transform:rotate(45deg);color:var(--blue)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}.faq-answer>div{overflow:hidden}.faq-answer p{margin:0 36px 22px 0;color:var(--muted);font-size:.9rem;line-height:1.7}.faq-item.open .faq-answer{grid-template-rows:1fr}
.support-card{background:var(--navy);border-radius:var(--radius-lg);padding:40px;color:white;position:sticky;top:124px;overflow:hidden}.support-card::after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(106,175,255,.22);border-radius:50%;right:-95px;bottom:-110px;box-shadow:0 0 0 55px rgba(77,151,255,.04)}.support-icon{width:44px;height:44px;border-radius:12px;background:rgba(95,168,255,.14);display:grid;place-items:center;color:#77b7ff;margin-bottom:28px}.support-card h2{font-size:1.65rem;letter-spacing:-.035em;margin:0 0 12px}.support-card p{font-size:.88rem;color:#b9c7d8;max-width:340px}.support-card .btn{margin-top:17px;background:white;color:var(--navy);position:relative;z-index:2}.support-meta{display:flex;gap:17px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:.7rem;color:#9fb1c7}
.site-footer{background:#f7f9fc;border-top:1px solid var(--line)}.footer-main{padding:62px 0 48px;display:grid;grid-template-columns:1.5fr repeat(3,.7fr) 1.2fr;gap:40px}.footer-brand p{color:var(--muted);font-size:.82rem;max-width:255px;margin:15px 0 0}.footer-col h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--navy);margin:7px 0 15px}.footer-col a{display:block;color:var(--muted);font-size:.8rem;padding:5px 0}.footer-col a:hover{color:var(--blue)}.newsletter{display:flex;margin-top:14px}.newsletter input{width:100%;min-width:0;border:1px solid var(--line-strong);border-right:0;border-radius:10px 0 0 10px;padding:11px 12px;background:white;outline:none}.newsletter button{width:46px;border:0;border-radius:0 10px 10px 0;background:var(--blue);color:white;display:grid;place-items:center}.footer-bottom{min-height:62px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#748295;font-size:.72rem}.footer-bottom strong{color:#516176;font-weight:650}
/* overlays */
.overlay{position:fixed;inset:0;background:rgba(6,20,40,.4);backdrop-filter:blur(5px);z-index:300;opacity:0;pointer-events:none;transition:opacity .22s}.overlay.open{opacity:1;pointer-events:auto}.drawer{position:absolute;right:0;top:0;width:min(420px,94vw);height:100%;background:white;transform:translateX(100%);transition:transform .3s var(--ease);padding:28px;display:flex;flex-direction:column}.overlay.open .drawer{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h2{margin:0;font-size:1.2rem;color:var(--navy)}.empty-state{margin:auto;text-align:center;padding:40px 20px}.empty-icon{width:62px;height:62px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;color:var(--blue);background:var(--ice)}.empty-state h3{margin:0 0 8px;color:var(--navy)}.empty-state p{margin:0 0 20px;color:var(--muted);font-size:.86rem}.demo-note{background:var(--ice);border:1px solid #d3e6fb;border-radius:11px;color:#49627e;font-size:.74rem;padding:10px 12px}
.search-dialog{position:absolute;top:83px;left:50%;width:min(680px,calc(100% - 30px));transform:translate(-50%,-20px);background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 90px rgba(7,28,58,.18);padding:18px;transition:transform .25s var(--ease)}.overlay.open .search-dialog{transform:translate(-50%,0)}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:12px;padding:0 14px}.search-box input{height:52px;flex:1;border:0;outline:0;min-width:0;color:var(--navy)}.search-results{padding:14px 2px 4px}.search-result{display:flex;align-items:center;gap:14px;padding:9px;border-radius:10px}.search-result:hover{background:var(--ice)}.search-result img{width:52px;height:52px;object-fit:contain;border-radius:9px;background:#f3f8fe}.search-result strong{display:block;font-size:.86rem}.search-result small{display:block;color:var(--muted);font-size:.7rem}.search-empty{padding:22px;color:var(--muted);font-size:.84rem;text-align:center}.toast{position:fixed;left:50%;bottom:26px;z-index:500;transform:translate(-50%,20px);background:var(--navy);color:white;border:1px solid rgba(255,255,255,.12);box-shadow:0 15px 50px rgba(5,23,47,.25);border-radius:12px;padding:11px 15px;font-size:.78rem;opacity:0;pointer-events:none;transition:.22s var(--ease)}.toast.show{transform:translate(-50%,0);opacity:1}
.mobile-menu{display:none}
.fade-up{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.fade-up.visible{opacity:1;transform:none}
/* design system preview */
.ds-hero{padding:74px 0 58px;background:linear-gradient(180deg,#f7fbff,#fff);border-bottom:1px solid var(--line)}.ds-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.9;letter-spacing:-.07em;margin:28px 0 18px;color:var(--navy)}.ds-hero p{max-width:610px;color:var(--muted)}
.ds-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:70px 0}.ds-panel{border:1px solid var(--line);border-radius:18px;padding:26px;background:white;box-shadow:var(--shadow-sm)}.ds-span-12{grid-column:span 12}.ds-span-8{grid-column:span 8}.ds-span-7{grid-column:span 7}.ds-span-6{grid-column:span 6}.ds-span-5{grid-column:span 5}.ds-span-4{grid-column:span 4}.ds-panel h2{font-size:1rem;color:var(--navy);margin:0 0 22px}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.swatch{height:100px;border-radius:12px;padding:12px;display:flex;align-items:end;font-size:.68rem;font-weight:650;border:1px solid rgba(10,28,54,.06)}.type-stack h3{margin:8px 0}.type-display{font-size:3.7rem;line-height:.95;letter-spacing:-.06em;color:var(--navy)}.type-h2{font-size:2.2rem;letter-spacing:-.045em}.type-body{color:var(--muted);max-width:600px}.component-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.spacing-row{display:flex;align-items:end;gap:14px}.space-block{background:var(--ice);border:1px solid #d6e7fa;width:52px;display:grid;place-items:end center;padding-bottom:5px;color:var(--blue);font-size:.62rem}.icon-set{display:flex;flex-wrap:wrap;gap:12px}.icon-sample{width:48px;height:48px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue)}
@media(max-width:1100px){
 .nav{gap:17px}.nav-link{font-size:.78rem}.hero h1{font-size:5.25rem}.benefits{grid-template-columns:repeat(3,1fr)}.benefit:nth-child(3){border-right:0}.benefit:nth-child(-n+3){border-bottom:1px solid var(--line)}.quality-grid{gap:50px}.footer-main{grid-template-columns:1.4fr repeat(3,.7fr)}.footer-newsletter{grid-column:1/-1;max-width:430px}.ds-span-7,.ds-span-5{grid-column:span 6}
}
@media(max-width:900px){
 :root{--header-h:64px}.container{width:min(var(--max),calc(100% - 36px))}.section{padding:88px 0}.nav,.header-actions .account-btn{display:none}.header-inner{grid-template-columns:auto 1fr auto}.header-actions{grid-column:3}.menu-toggle{display:grid}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:76px 0 18px}.hero h1{font-size:clamp(4rem,12vw,6rem);max-width:700px}.hero-description{max-width:650px}.hero-visual{height:530px}.hero-visual img{width:min(700px,105%);transform:none}.hero-orbit{right:50%;transform:translate(50%,-50%);width:530px;height:530px}.lab-note{right:7%;bottom:48px}.product-grid{grid-template-columns:repeat(3,minmax(265px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;margin-right:-18px}.product-card{scroll-snap-align:start}.quality-grid,.research-inner,.faq-support{grid-template-columns:1fr}.coa-stage{min-height:480px}.quality-grid{gap:30px}.benefits{grid-template-columns:repeat(2,1fr)}.benefit:nth-child(odd){border-right:1px solid var(--line)}.benefit:nth-child(even){border-right:0}.benefit{border-bottom:1px solid var(--line)}.benefit:last-child{border-bottom:0}.support-card{position:relative;top:0}.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-col:nth-of-type(4){grid-column:2}.footer-newsletter{grid-column:1/-1}.mobile-menu{display:block;position:fixed;inset:98px 0 auto 0;background:white;border-bottom:1px solid var(--line);box-shadow:0 18px 50px rgba(8,30,58,.12);z-index:210;transform:translateY(-130%);opacity:0;transition:.3s var(--ease);padding:18px}.mobile-menu.open{transform:none;opacity:1}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid #edf2f7;font-size:.92rem;color:var(--navy)}.mobile-menu a:last-child{border-bottom:0}.mobile-search{display:flex;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;align-items:center;padding:0 12px}.mobile-search input{height:44px;flex:1;border:0;outline:0;min-width:0}.ds-span-8,.ds-span-7,.ds-span-6,.ds-span-5,.ds-span-4{grid-column:span 12}
}
@media(max-width:600px){
 :root{--header-h:60px}.announcement{height:32px;font-size:.62rem;letter-spacing:.085em}.container{width:calc(100% - 30px)}.section{padding:72px 0}.section-tight{padding:64px 0}.logo{font-size:1.45rem}.icon-btn{width:40px;height:40px}.hero::before{background-size:34px 34px;opacity:.55}.hero-copy{padding:56px 0 8px}.eyebrow{font-size:.67rem;letter-spacing:.105em}.hero h1{font-size:clamp(3.35rem,16vw,4.45rem);line-height:.92;margin:20px 0 19px}.hero-description{font-size:.98rem;line-height:1.65}.hero-actions{margin-top:27px;width:100%}.hero-actions .btn{flex:1;min-width:150px;padding-inline:15px}.trust-row{margin-top:24px;gap:13px}.trust-item{font-size:.7rem}.hero-visual{height:405px;margin:0 -15px}.hero-visual img{width:440px;max-width:none}.hero-orbit{width:380px;height:380px}.hero-orbit::before{inset:45px}.hero-orbit::after{inset:105px}.lab-note{display:none}.section-top{align-items:start;margin-bottom:30px}.section-top .btn{display:none}.section-heading{font-size:2.25rem}.section-copy{font-size:.94rem}.product-grid{grid-template-columns:repeat(3,78vw);gap:13px;margin-right:0}.product-media{height:260px}.product-media img{height:248px}.product-body{padding:19px}.product-title{font-size:1.08rem}.quality{padding-top:78px}.quality-points{grid-template-columns:1fr;gap:12px}.coa-stage{min-height:420px;margin:12px -6px 0}.coa-paper{width:330px;padding:24px;transform:rotate(1.5deg)}.coa-paper::before{font-size:1.55rem}.coa-chart{height:86px}.sample-pill{right:-8px}.benefits{grid-template-columns:1fr;margin-top:34px}.benefit,.benefit:nth-child(odd),.benefit:nth-child(even){border-right:0;border-bottom:1px solid var(--line);padding:25px 4px;display:grid;grid-template-columns:46px 1fr;column-gap:14px}.benefit-icon{grid-row:1/3;margin:0}.benefit h3{align-self:end}.research-list{grid-template-columns:1fr}.faq-support{gap:50px}.faq-answer p{margin-right:4px}.support-card{padding:30px 26px;border-radius:20px}.footer-main{padding:48px 0 34px;grid-template-columns:1fr 1fr;gap:32px}.footer-brand,.footer-newsletter{grid-column:1/-1}.footer-bottom{padding:18px 0;align-items:flex-start;flex-direction:column;gap:8px}.search-dialog{top:70px}.drawer{padding:22px}.ds-grid{padding:45px 0}.ds-panel{padding:20px}.swatches{grid-template-columns:repeat(2,1fr)}.type-display{font-size:2.8rem}.spacing-row{overflow-x:auto;padding-bottom:8px}
}
@media(max-width:390px){.hero h1{font-size:3.25rem}.hero-actions .btn{flex-basis:100%}.hero-visual{height:370px}.hero-visual img{width:420px}.product-grid{grid-template-columns:repeat(3,84vw)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.fade-up{opacity:1;transform:none}}

/* Phase 2 — catalog + product experience */
.approved-product-media{background:linear-gradient(150deg,#fbfdff,#eef6ff)}

.product-media .approved-crop{height:276px;width:auto;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(13,45,84,.09))}

.catalog-hero{padding:82px 0 70px;background:linear-gradient(180deg,#f8fbff 0,#fff 100%);border-bottom:1px solid var(--line);overflow:hidden}
.catalog-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}
.catalog-hero h1{font-size:clamp(3.2rem,5.3vw,5.7rem);line-height:.93;letter-spacing:-.065em;color:var(--navy);margin:22px 0 20px;font-weight:690}.catalog-hero h1 span{color:var(--blue)}
.catalog-hero p{max-width:600px;color:var(--muted);font-size:1.02rem;line-height:1.72;margin:0}
.catalog-vial-preview{min-height:400px;position:relative;display:grid;place-items:center}.catalog-vial-preview::before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(62,143,255,.13),rgba(62,143,255,0) 67%);border:1px solid rgba(22,100,255,.08)}
.catalog-vial-preview img{position:relative;z-index:2;width:min(620px,100%);height:auto;filter:drop-shadow(0 26px 36px rgba(18,54,96,.08))}.catalog-vial-preview span{position:absolute;right:5%;bottom:18px;z-index:3;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.68rem;font-weight:700;color:#52677e;box-shadow:var(--shadow-sm)}
.catalog-browser{padding-top:72px}
.catalog-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.catalog-search{height:46px;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 13px;color:#718198;background:#fbfdff}.catalog-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;color:var(--navy)}
.filter-pills{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-pill{border:1px solid var(--line);background:white;color:#5d6e82;border-radius:999px;padding:9px 13px;font-size:.74rem;font-weight:650;transition:.2s}.filter-pill:hover{border-color:#b7cae0;color:var(--navy)}.filter-pill.active{background:var(--navy);border-color:var(--navy);color:white}
.sort-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.74rem;font-weight:650}.sort-control select{height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);padding:0 32px 0 11px;outline:0}
.catalog-count{display:flex;align-items:center;justify-content:space-between;margin:28px 2px 16px;color:var(--muted);font-size:.76rem}.catalog-count strong{color:var(--navy);font-size:.84rem}.catalog-product-grid{transition:opacity .2s}.catalog-card[hidden]{display:none}.catalog-empty{text-align:center;padding:80px 20px;border:1px dashed var(--line-strong);border-radius:18px;background:#fbfdff}.catalog-empty .icon{width:30px;height:30px;color:var(--blue)}.catalog-empty h2{margin:13px 0 5px;color:var(--navy)}.catalog-empty p{margin:0;color:var(--muted);font-size:.86rem}
.breadcrumb{display:flex;align-items:center;gap:8px;padding-top:28px;color:#77869a;font-size:.73rem}.breadcrumb .icon{width:13px;height:13px;transform:rotate(-45deg)}.breadcrumb a:hover{color:var(--blue)}.breadcrumb span{color:var(--navy);font-weight:620}
.product-detail{padding:40px 0 96px}.product-detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:start}.product-gallery{min-width:0}.product-stage{height:590px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#fbfdff,#eef6ff);display:grid;place-items:center;position:relative;overflow:hidden}.stage-orbit{position:absolute;width:420px;height:420px;border:1px solid rgba(22,100,255,.09);border-radius:50%}.stage-orbit::before{content:"";position:absolute;inset:58px;border-radius:50%;border:1px solid rgba(22,100,255,.08)}.product-stage picture{position:relative;z-index:2}.product-stage img{height:430px;width:auto;filter:drop-shadow(0 28px 35px rgba(10,38,76,.11))}.stage-label{position:absolute;left:24px;top:22px;z-index:4;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-sm)}.stage-label span{display:block;color:var(--blue);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-weight:760}.stage-label strong{display:block;color:var(--navy);font-size:.75rem;margin-top:1px}.gallery-note{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff}.gallery-note .icon{color:var(--blue);flex:0 0 auto;margin-top:2px}.gallery-note strong,.gallery-note span{display:block}.gallery-note strong{font-size:.76rem;color:var(--navy)}.gallery-note span{font-size:.7rem;color:var(--muted);margin-top:2px;line-height:1.5}
.product-info{padding-top:18px;position:sticky;top:calc(var(--header-h) + 34px)}.product-info h1{font-size:clamp(3rem,5vw,5.3rem);line-height:.92;letter-spacing:-.065em;margin:12px 0 19px;color:var(--navy);font-weight:690}.product-lede{font-size:1.02rem;color:var(--muted);margin:0 0 24px}.research-badge{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid #cfe2fa;background:var(--ice);border-radius:12px;color:var(--blue)}.research-badge .icon{flex:0 0 auto}.research-badge span{font-size:.71rem;color:#56708b}.research-badge strong{display:block;color:var(--navy);font-size:.78rem}.spec-list{margin:27px 0 0;border-top:1px solid var(--line)}.spec-list div{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.spec-list dt{color:#718197;font-size:.72rem}.spec-list dd{margin:0;color:var(--navy);font-size:.77rem;font-weight:620}.product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.product-legal{color:#7b8999;font-size:.68rem;line-height:1.55;margin:17px 0 0;max-width:560px}
.product-tabs-section{padding:0 0 92px}.product-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.product-tabs::-webkit-scrollbar{display:none}.product-tab{border:0;background:transparent;color:#68798d;padding:16px 17px;white-space:nowrap;font-size:.78rem;font-weight:650;position:relative}.product-tab::after{content:"";position:absolute;left:17px;right:17px;bottom:-1px;height:2px;background:transparent}.product-tab.active{color:var(--navy)}.product-tab.active::after{background:var(--blue)}
.tab-panels{padding-top:34px}.tab-panel{display:none;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}.tab-panel.active{display:grid}.tab-copy h2{font-size:2.2rem;letter-spacing:-.045em;color:var(--navy);margin:10px 0 13px}.tab-copy p{color:var(--muted);max-width:700px;line-height:1.7;margin:0}.detail-callout,.document-placeholder{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:24px}.detail-callout .icon,.document-placeholder .icon{color:var(--blue);margin-bottom:15px}.detail-callout strong,.document-placeholder strong{display:block;color:var(--navy);font-size:.9rem}.detail-callout p,.document-placeholder p{font-size:.78rem;color:var(--muted);line-height:1.6;margin:7px 0 0}.document-placeholder{position:relative;min-height:180px;display:flex;flex-direction:column;justify-content:flex-end}.document-placeholder .sample-pill{right:18px;top:18px;transform:none}
.related-section{background:#f8fbff;border-top:1px solid var(--line)}.related-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.related-card{display:grid;grid-template-columns:96px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;transition:.25s}.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#c8d9ea}.related-card picture{grid-row:1/3;width:96px;height:112px;border-radius:12px;background:var(--ice);display:grid;place-items:center;overflow:hidden}.related-card img{height:106px;width:auto}.related-card span{font-size:.66rem;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-weight:730;align-self:end}.related-card strong{color:var(--navy);font-size:.92rem;align-self:start}.related-card>.icon{grid-column:3;grid-row:1/3;color:var(--blue)}
@media(max-width:900px){.catalog-hero-grid,.product-detail-grid{grid-template-columns:1fr}.catalog-hero{padding-top:64px}.catalog-vial-preview{min-height:340px}.catalog-toolbar{grid-template-columns:1fr}.filter-pills{order:2}.sort-control{order:3;justify-self:start}.catalog-product-grid{grid-template-columns:repeat(3,minmax(260px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.product-detail{padding-top:28px}.product-detail-grid{gap:30px}.product-info{position:relative;top:auto;padding-top:0}.product-stage{height:520px}.tab-panel{grid-template-columns:1fr;gap:24px}.related-row{grid-template-columns:1fr}}
@media(max-width:600px){.catalog-hero{padding:54px 0 42px}.catalog-hero-grid{gap:20px}.catalog-hero h1{font-size:2.95rem}.catalog-vial-preview{min-height:260px;margin:0 -15px}.catalog-vial-preview::before{width:290px;height:290px}.catalog-vial-preview img{width:430px;max-width:none}.catalog-vial-preview span{right:22px;bottom:4px}.catalog-browser{padding-top:46px}.catalog-toolbar{padding:12px}.filter-pills{display:grid;grid-template-columns:1fr 1fr}.filter-pill:first-child{grid-column:1/-1}.sort-control{width:100%;justify-content:space-between}.sort-control select{flex:1}.catalog-count{margin-top:22px}.catalog-product-grid{grid-template-columns:repeat(3,82vw);gap:13px}.breadcrumb{padding-top:20px;overflow:hidden;white-space:nowrap}.product-detail{padding:24px 0 70px}.product-stage{height:410px;border-radius:18px}.product-stage img{height:330px}.stage-orbit{width:315px;height:315px}.stage-label{left:14px;top:14px}.product-info h1{font-size:3.25rem}.spec-list div{grid-template-columns:118px 1fr}.product-actions .btn{flex:1}.product-tabs-section{padding-bottom:72px}.product-tab{padding:14px 13px}.tab-copy h2{font-size:1.8rem}.related-card{grid-template-columns:78px 1fr auto}.related-card picture{width:78px;height:98px}.related-card img{height:94px}}



/* =========================================================
   EMERGENCY PRODUCT IMAGE + MOBILE RENDERING REPAIR
   Safe rendering only: no masks, no destructive cutouts,
   no overlays covering product labels.
   ========================================================= */

/* Shared layered product visual system */
.product-visual{
  position:relative;
  isolation:isolate;
  min-width:0;
}
.product-visual__graphics{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 46%, rgba(22,100,255,.12) 0 13%, transparent 40%),
    radial-gradient(circle at 50% 46%, transparent 0 31%, rgba(22,100,255,.10) 31.3% 31.8%, transparent 32.1%),
    radial-gradient(circle at 50% 46%, transparent 0 43%, rgba(22,100,255,.06) 43.3% 43.7%, transparent 44%),
    linear-gradient(rgba(22,100,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,100,255,.035) 1px, transparent 1px);
  background-size:auto,auto,auto,28px 28px,28px 28px;
  opacity:.95;
}
.product-visual__image{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:100%;
  min-width:0;
}
.product-visual__image img{
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  transform:none !important;
  opacity:1;
}

/* Homepage hero: complete composition must always fit */
.hero-visual{
  height:auto;
  min-height:clamp(420px,44vw,650px);
  padding:clamp(16px,2.5vw,34px) 0;
  margin:0;
  overflow:visible;
}
.hero-photo.product-visual--hero{
  width:min(690px,100%);
  max-width:100%;
  margin-inline:auto;
  transform:none;
  padding:clamp(16px,2vw,24px);
}
.hero-photo.product-visual--hero .product-visual__graphics{
  inset:2% 0;
  border-radius:34px;
}
.hero-photo.product-visual--hero .product-visual__image{
  padding:0;
}
.hero-photo.product-visual--hero img{
  width:min(100%,690px) !important;
  max-width:100% !important;
  height:auto !important;
  border-radius:18px;
  box-shadow:0 26px 64px rgba(10,35,70,.08);
  filter:none !important;
}
.hero-orbit{
  z-index:0;
  pointer-events:none;
}
.lab-note{
  z-index:4;
}

/* Catalog hero uses same safe contain behavior */
.catalog-vial-preview.product-visual--catalog{
  width:100%;
  min-height:clamp(300px,34vw,420px);
  padding:clamp(14px,2vw,24px);
  margin:0;
  overflow:visible;
}
.catalog-vial-preview.product-visual--catalog .product-visual__graphics{
  inset:2%;
  border-radius:30px;
}
.catalog-vial-preview.product-visual--catalog .product-visual__image img{
  width:min(620px,100%);
  max-width:100%;
  height:auto;
  border-radius:16px;
  box-shadow:0 22px 56px rgba(10,35,70,.07);
  filter:none;
}

/* Product cards: intact source photo, deliberately framed; graphics behind */
.product-media.product-visual--card,
.approved-product-media.product-visual--card{
  position:relative;
  display:grid;
  place-items:center;
  height:auto;
  min-height:300px;
  aspect-ratio:1.1 / 1;
  padding:22px;
  overflow:hidden;
  background:linear-gradient(160deg,#fbfdff 0%,#eef6ff 100%);
}
.product-media.product-visual--card::before,
.product-media.product-visual--card::after,
.approved-product-media.product-visual--card::before,
.approved-product-media.product-visual--card::after{
  content:none !important;
  display:none !important;
}
.product-media.product-visual--card .product-visual__graphics{
  inset:12px;
  border-radius:16px;
}
.product-media.product-visual--card .product-visual__image{
  height:100%;
  padding:6px;
}
.product-media.product-visual--card .product-visual__image img,
.product-media .approved-crop{
  width:auto !important;
  height:min(254px,88%) !important;
  max-height:88%;
  max-width:78%;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:12px;
  filter:none !important;
  box-shadow:0 14px 34px rgba(9,32,64,.08);
}
.product-card:hover .product-media img{
  transform:none !important;
}

/* Product detail: no development badge, no label-cover overlay */
.product-stage.product-visual--detail{
  height:auto;
  min-height:0;
  aspect-ratio:1 / 1;
  padding:clamp(26px,4vw,48px);
  overflow:hidden;
  background:linear-gradient(145deg,#fbfdff,#eef6ff);
}
.product-stage.product-visual--detail::before,
.product-stage.product-visual--detail::after{
  content:none !important;
  display:none !important;
}
.product-stage.product-visual--detail .stage-orbit{
  position:absolute;
  inset:8%;
  width:auto;
  height:auto;
  border:1px solid rgba(22,100,255,.09);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 48%,rgba(22,100,255,.11),transparent 48%),
    linear-gradient(rgba(22,100,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,100,255,.03) 1px,transparent 1px);
  background-size:auto,30px 30px,30px 30px;
  z-index:0;
}
.product-stage.product-visual--detail .stage-orbit::before{
  content:"";
  position:absolute;
  inset:14%;
  border:1px solid rgba(22,100,255,.07);
  border-radius:50%;
}
.product-stage.product-visual--detail .product-visual__image{
  height:100%;
}
.product-stage.product-visual--detail .product-visual__image img{
  width:auto;
  height:auto;
  max-height:78%;
  max-width:68%;
  object-fit:contain;
  border-radius:14px;
  filter:none;
  box-shadow:0 22px 50px rgba(10,35,70,.10);
}
.stage-label{display:none !important}

/* Related/search thumbnails use contain, never cover */
.related-card picture{
  position:relative;
  overflow:hidden;
}
.related-card img,
.search-result img{
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
.related-card img{
  width:auto;
  height:98px;
  max-width:92%;
  border-radius:8px;
}

/* Stop accidental horizontal product carousels / partial cards */
@media(max-width:1024px){
  .product-grid,
  .catalog-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
    scroll-snap-type:none;
    padding-bottom:0;
    margin-right:0;
  }
}

@media(max-width:768px){
  .hero-visual{
    min-height:clamp(280px,75vw,450px);
    padding:12px 0 18px;
  }
  .hero-photo.product-visual--hero{
    width:100%;
    max-width:100%;
    padding:12px 0;
  }
  .hero-photo.product-visual--hero img{
    width:min(92vw,620px) !important;
    max-width:100% !important;
  }
  .catalog-vial-preview.product-visual--catalog{
    min-height:clamp(250px,64vw,360px);
    padding:12px 0;
  }
  .catalog-vial-preview.product-visual--catalog .product-visual__image img{
    width:min(92vw,600px);
    max-width:100%;
  }
  .product-stage.product-visual--detail{
    aspect-ratio:1 / 1;
    padding:28px;
  }
  .product-stage.product-visual--detail .product-visual__image img{
    max-height:76%;
    max-width:62%;
  }
}

@media(max-width:600px){
  .hero-visual{
    min-height:270px;
    height:auto;
    margin:0;
  }
  .hero-photo.product-visual--hero{
    width:100%;
    max-width:100%;
    transform:none;
  }
  .hero-photo.product-visual--hero img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }
  .hero-orbit{
    width:min(82vw,330px);
    height:min(82vw,330px);
    right:50%;
    transform:translate(50%,-50%);
  }
  .product-grid,
  .catalog-product-grid{
    grid-template-columns:1fr;
    gap:14px;
    overflow:visible;
  }
  .product-media.product-visual--card,
  .approved-product-media.product-visual--card{
    min-height:270px;
    aspect-ratio:1.08 / 1;
    padding:18px;
  }
  .product-media.product-visual--card .product-visual__image img,
  .product-media .approved-crop{
    height:min(228px,86%) !important;
    max-height:86%;
    max-width:74%;
  }
  .catalog-vial-preview.product-visual--catalog{
    margin:0;
    width:100%;
    min-height:240px;
  }
  .catalog-vial-preview.product-visual--catalog .product-visual__image img{
    width:100%;
    max-width:100%;
  }
  .product-stage.product-visual--detail{
    aspect-ratio:1 / 1;
    height:auto;
    min-height:0;
    padding:22px;
  }
  .product-stage.product-visual--detail .product-visual__image img{
    max-height:74%;
    max-width:68%;
  }
}

@media(max-width:430px){
  .hero-visual{min-height:250px}
  .product-media.product-visual--card,
  .approved-product-media.product-visual--card{min-height:250px}
  .product-stage.product-visual--detail{padding:18px}
  .product-stage.product-visual--detail .product-visual__image img{max-width:72%}
}

@media(max-width:360px){
  .hero-visual{min-height:230px}
  .product-media.product-visual--card,
  .approved-product-media.product-visual--card{min-height:235px;padding:14px}
  .product-media.product-visual--card .product-visual__image img,
  .product-media .approved-crop{max-width:76%;height:min(208px,84%) !important}
}

/* Prevent long product names from forcing the grid wider than the viewport. */
.product-detail-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.product-gallery,.product-info{min-width:0}
.product-info h1{overflow-wrap:anywhere;word-break:normal}
@media(max-width:900px){.product-detail-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.product-info h1{font-size:clamp(2.55rem,12vw,3.15rem);line-height:.94}}
@media(max-width:360px){.product-info h1{font-size:2.45rem}}

/* Anchor detail artwork to the stage itself so intrinsic image height cannot exceed it. */
.product-stage.product-visual--detail .product-visual__image{
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  padding:clamp(28px,5vw,54px);
  z-index:2;
  display:grid;
  place-items:center;
}
.product-stage.product-visual--detail .product-visual__image img{
  width:auto;
  height:auto;
  max-width:62%;
  max-height:82%;
}
@media(max-width:768px){
  .product-stage.product-visual--detail .product-visual__image{padding:28px}
  .product-stage.product-visual--detail .product-visual__image img{max-width:58%;max-height:80%}
}
@media(max-width:430px){
  .product-stage.product-visual--detail .product-visual__image{padding:24px}
  .product-stage.product-visual--detail .product-visual__image img{max-width:58%;max-height:78%}
}
@media(max-width:360px){
  .product-stage.product-visual--detail .product-visual__image{padding:20px}
  .product-stage.product-visual--detail .product-visual__image img{max-width:60%;max-height:78%}
}

/* Anchor card imagery to the media frame; never let intrinsic picture height overflow it. */
.product-media.product-visual--card .product-visual__image{
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  padding:22px;
  z-index:2;
  display:grid;
  place-items:center;
}
.product-media.product-visual--card .product-visual__image img,
.product-media .approved-crop{
  width:auto !important;
  height:auto !important;
  max-width:70%;
  max-height:82%;
}
@media(max-width:600px){
  .product-media.product-visual--card .product-visual__image{padding:18px}
  .product-media.product-visual--card .product-visual__image img,
  .product-media .approved-crop{max-width:66%;max-height:80%}
}
@media(max-width:360px){
  .product-media.product-visual--card .product-visual__image{padding:14px}
  .product-media.product-visual--card .product-visual__image img,
  .product-media .approved-crop{max-width:68%;max-height:80%}
}

/* Use an explicit responsive rendered height for complete card photos; percentage max-heights on picture elements are browser-dependent. */
.product-media.product-visual--card .product-visual__image img,
.product-media .approved-crop{
  width:auto !important;
  height:clamp(190px,19vw,250px) !important;
  max-width:70%;
  max-height:none;
}
@media(max-width:600px){
  .product-media.product-visual--card .product-visual__image img,
  .product-media .approved-crop{
    height:clamp(185px,55vw,220px) !important;
    max-width:68%;
  }
}
@media(max-width:360px){
  .product-media.product-visual--card .product-visual__image img,
  .product-media .approved-crop{
    height:clamp(175px,56vw,202px) !important;
    max-width:70%;
  }
}

/* =========================================================
   GLOBAL SINGLE-VIAL TRANSPARENT ASSET SYSTEM
   Applies ONLY to isolated one-vial product assets.
   Multi-vial hero/composition imagery is intentionally unchanged.
   ========================================================= */

.single-vial-product-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  transform:none !important;
  filter:drop-shadow(0 18px 20px rgba(10,35,70,.09)) !important;
}

/* Decorative layers always stay behind the vial. */
.product-visual--card .product-visual__graphics,
.product-visual--detail .product-visual__graphics{
  z-index:0;
}
.product-visual--card .product-visual__image,
.product-visual--detail .product-visual__image{
  z-index:2;
}

/* Single-vial cards: no photograph rectangle, only the isolated vial. */
.product-media.product-visual--card .product-visual__image{
  padding:clamp(16px,2vw,24px);
}
.product-media.product-visual--card .single-vial-product-image,
.product-media .approved-crop.single-vial-product-image{
  width:auto !important;
  height:clamp(210px,20vw,262px) !important;
  max-width:78% !important;
  max-height:86% !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 18px 20px rgba(10,35,70,.09)) !important;
}
.product-card:hover .single-vial-product-image{
  transform:translateY(-3px) !important;
  filter:drop-shadow(0 22px 24px rgba(10,35,70,.12)) !important;
}

/* Product detail pages: large, complete, centered transparent vial. */
.product-stage.product-visual--detail .product-visual__image{
  padding:clamp(24px,4vw,42px);
}
.product-stage.product-visual--detail .single-vial-product-image{
  width:auto !important;
  height:auto !important;
  max-width:72% !important;
  max-height:86% !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 24px 26px rgba(10,35,70,.11)) !important;
}

/* Related products + search: transparent vial stays centered over the UI surface. */
.related-card picture{
  isolation:isolate;
}
.related-card .single-vial-product-image{
  width:auto !important;
  height:100px !important;
  max-width:82% !important;
  filter:drop-shadow(0 8px 10px rgba(10,35,70,.08)) !important;
}
.search-result .single-vial-product-image{
  width:52px !important;
  height:52px !important;
  padding:2px;
  object-fit:contain !important;
  background:#f3f8fe;
  filter:drop-shadow(0 5px 6px rgba(10,35,70,.07)) !important;
}

/* Design-system / future single-vial slots inherit the same safe image behavior. */
.product-media > .single-vial-product-image{
  position:relative;
  z-index:2;
  object-fit:contain !important;
}

@media(max-width:768px){
  .product-media.product-visual--card .single-vial-product-image,
  .product-media .approved-crop.single-vial-product-image{
    height:clamp(205px,53vw,240px) !important;
    max-width:72% !important;
  }
  .product-stage.product-visual--detail .single-vial-product-image{
    max-width:68% !important;
    max-height:84% !important;
  }
}

@media(max-width:430px){
  .product-media.product-visual--card .product-visual__image{
    padding:16px;
  }
  .product-media.product-visual--card .single-vial-product-image,
  .product-media .approved-crop.single-vial-product-image{
    height:clamp(194px,54vw,224px) !important;
    max-width:70% !important;
  }
  .product-stage.product-visual--detail .product-visual__image{
    padding:20px;
  }
  .product-stage.product-visual--detail .single-vial-product-image{
    max-width:70% !important;
    max-height:82% !important;
  }
}

@media(max-width:360px){
  .product-media.product-visual--card .single-vial-product-image,
  .product-media .approved-crop.single-vial-product-image{
    height:clamp(182px,55vw,205px) !important;
    max-width:72% !important;
  }
  .product-stage.product-visual--detail .single-vial-product-image{
    max-width:72% !important;
    max-height:80% !important;
  }
}

/* Keep the complete vial inside product-detail stages at every breakpoint. */
.product-stage.product-visual--detail .single-vial-product-image{
  width:auto !important;
  height:78% !important;
  max-height:430px !important;
  max-width:72% !important;
}
@media(max-width:768px){
  .product-stage.product-visual--detail .single-vial-product-image{
    height:76% !important;
    max-height:none !important;
    max-width:68% !important;
  }
}
@media(max-width:430px){
  .product-stage.product-visual--detail .single-vial-product-image{
    height:74% !important;
    max-width:70% !important;
  }
}
@media(max-width:360px){
  .product-stage.product-visual--detail .single-vial-product-image{
    height:72% !important;
    max-width:72% !important;
  }
}

/* Final detail sizing uses explicit responsive image heights so intrinsic aspect ratio
   can never push the vial beyond the square stage. */
.product-stage.product-visual--detail .single-vial-product-image{
  width:auto !important;
  height:min(36vw,420px) !important;
  max-width:72% !important;
  max-height:none !important;
}
@media(max-width:768px){
  .product-stage.product-visual--detail .single-vial-product-image{
    height:min(66vw,380px) !important;
    max-width:72% !important;
  }
}
@media(max-width:768px){
  .product-stage.product-visual--detail .single-vial-product-image{
    height:min(74vw,440px) !important;
  }
}
@media(max-width:600px){
  .related-card .single-vial-product-image{
    height:88px !important;
    max-width:78% !important;
  }
}

/* =========================================================
   SINGLE-VIAL CENTER ALIGNMENT PATCH
   Position-only repair. No sizing, artwork, or hero changes.
   ========================================================= */

/* All single-vial wrappers share one mathematical center. */
.product-media.product-visual--card .product-visual__image,
.product-stage.product-visual--detail .product-visual__image,
.related-card picture{
  display:grid !important;
  place-items:center !important;
  justify-items:center !important;
  align-items:center !important;
  text-align:center;
}

/* The isolated vial canvas itself never carries horizontal nudges. */
.single-vial-product-image{
  margin-left:auto !important;
  margin-right:auto !important;
  justify-self:center !important;
  align-self:center !important;
  object-position:50% 50% !important;
}

/* Direct/future single-vial slots inherit the same center behavior. */
.product-media > .single-vial-product-image,
.product-stage > .single-vial-product-image{
  position:relative;
  left:auto !important;
  right:auto !important;
  margin-inline:auto !important;
}

/* Keep the graphics and vial on the exact same center point. */
.product-media.product-visual--card .product-visual__graphics{
  left:12px !important;
  right:12px !important;
  margin-inline:auto !important;
}
.product-stage.product-visual--detail .stage-orbit{
  left:8% !important;
  right:8% !important;
  margin-inline:auto !important;
}

/* Related/search slots: center the visible isolated asset without changing its size. */
.related-card .single-vial-product-image{
  margin-inline:auto !important;
}
.search-result .single-vial-product-image{
  object-position:center center !important;
  flex:0 0 auto;
}

/* Production data loading states. These preserve the existing layout while
   product content is retrieved from the centralized catalog API. */
.product-grid[aria-busy="true"]{min-height:220px}
.storefront-data-error{margin-top:18px}

/* Persistent cart */
.product-add{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:11px 0 0;border:0;background:none;color:var(--blue);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.product-add .icon{width:15px;height:15px}.cart-lines{overflow:auto;display:grid;gap:12px;padding:22px 0}.cart-line{display:grid;grid-template-columns:58px 1fr;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.cart-line img{width:58px;height:72px;object-fit:contain;background:var(--ice);border-radius:9px}.cart-line strong,.cart-line span{display:block}.cart-line strong{font-size:.87rem;color:var(--navy)}.cart-line span{font-size:.72rem;color:var(--muted);margin-top:4px}.cart-line__actions{display:flex;align-items:center;gap:8px;margin-top:8px}.cart-line__actions button{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font:inherit;font-size:.72rem;padding:3px 7px;cursor:pointer}.cart-line__actions button:last-child{margin-left:auto;color:#6a4d4d}.cart-summary{margin-top:auto;border-top:1px solid var(--line);padding:16px 0;display:grid;gap:8px}.cart-summary strong{color:var(--navy)}.cart-summary span{font-size:.75rem;color:var(--muted);line-height:1.4}.cart-summary .btn{margin-top:4px}

/* =========================================================
   PEPX v8 PRODUCT DESIGN + UX REFINEMENT
   Keeps approved white/navy/electric-blue system and vial art.
   ========================================================= */

/* Stronger interactive clarity without changing the visual identity. */
.icon-btn{position:relative}
.icon-btn[data-count]::after{content:attr(data-count);position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--blue);color:#fff;border:2px solid #fff;font-size:.58rem;font-weight:820;line-height:1;box-shadow:0 5px 12px rgba(22,100,255,.22)}
.product-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.product-state{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#eef7f4;color:#18745a;font-size:.58rem;font-weight:760;letter-spacing:.02em}.product-state::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.product-state--out{background:#fff2f2;color:#a44545}
.product-card__commerce{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}
.product-card__commerce .product-link{margin:0;padding:0;border:0;flex:1}.product-price{flex:0 0 auto;color:var(--navy);font-size:.88rem;letter-spacing:-.02em}
.product-add{min-height:42px;padding:10px 0 0}.product-add:disabled{cursor:not-allowed;color:#97a2b0}
.product-preview-state{flex:1 1 100%;display:grid;gap:2px;padding:12px 13px;border:1px solid #d7e3f3;border-radius:11px;background:#f7faff;color:#62758e}.product-preview-state strong{color:var(--navy);font-size:.76rem}.product-preview-state span{font-size:.68rem;line-height:1.45}
.cart-line__content{min-width:0}.cart-line__title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cart-line__title>span{flex:0 0 auto;margin-top:0;color:var(--navy);font-weight:720}.cart-line--unavailable{opacity:.68}.cart-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-summary__total{font-size:1rem!important;color:var(--navy)}
.mobile-search-results{display:grid;gap:4px;margin:-5px 18px 12px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 26px rgba(10,28,54,.08)}.mobile-search-results[hidden]{display:none}.mobile-search-results .search-result{padding:8px}.mobile-search-results .search-empty{padding:14px 10px}
.support-actions{position:relative;z-index:2;display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.support-card .support-actions .btn{margin-top:0}.support-card .support-actions .btn-secondary{background:transparent;color:#e9f2ff;border-color:rgba(255,255,255,.24)}.support-card .support-actions .btn-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.38)}
.footer-status-copy{font-size:.8rem;color:var(--muted);line-height:1.55;margin:0}.footer-status-link{display:inline-flex;margin-top:11px;color:var(--blue)!important;font-weight:720!important;font-size:.74rem!important}.footer-status-link:hover{text-decoration:underline}
.storefront-data-error{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f5f9ff);padding:36px 24px}
.filter-pill[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.product-tabs[role="tablist"] .product-tab:focus-visible{outline:3px solid rgba(22,100,255,.18);outline-offset:-3px;border-radius:8px 8px 0 0}

/* Checkout refinement */
.checkout-edit-link{float:right;margin-top:-27px;color:#2861d5;font-size:.72rem;font-weight:800;text-decoration:none}.checkout-edit-link:hover{text-decoration:underline}.checkout-pricing-status{margin:12px 0 0;color:#71809a;font-size:.7rem;line-height:1.5}.checkout-empty{display:grid;gap:8px}.checkout-empty strong{color:#071b3a}.checkout-empty span{font-size:.76rem;line-height:1.45}.checkout-empty .btn{justify-self:start;margin-top:6px}.checkout-item--unavailable{opacity:.62}

/* Mobile polish and iOS form resilience. */
@media(max-width:760px){
  input,select,textarea{font-size:16px!important}
  .site-header{box-shadow:0 8px 24px rgba(10,28,54,.035)}
  .product-card__commerce{align-items:flex-end}
  .product-card__commerce .product-link{font-size:.78rem}
  .support-actions{display:grid;grid-template-columns:1fr}
  .support-actions .btn{width:100%}
  .cart-line{grid-template-columns:52px minmax(0,1fr)}.cart-line img{width:52px;height:66px}
  .cart-line__title{display:grid;gap:2px}.cart-line__title>span{font-size:.7rem}
  .checkout-edit-link{float:none;display:inline-flex;margin:-3px 0 12px}
}
@media(max-width:390px){
  .product-card__meta{align-items:flex-start}.product-state{font-size:.55rem;padding:4px 6px}
  .product-card__commerce{display:grid;grid-template-columns:1fr auto}.product-add{min-height:44px}
}
@media(hover:hover){.product-card:hover{transform:translateY(-4px)}.btn:hover{transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.fade-up{opacity:1!important;transform:none!important}}
