:root {
  color-scheme: light;
  --ink: #2c1648;
  --ink-soft: #4d3567;
  --paper: #ffffff;
  --canvas: #fbf9ff;
  --panel: #f7f2fc;
  --panel-bright: #efe4fa;
  --line: #e5d9f0;
  --purple: #6e318f;
  --purple-dark: #51206f;
  --lavender: #b796d7;
  --gold: #b48231;
  --muted: #786b87;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
}
body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 94% 4%, rgba(203, 169, 233, .28), transparent 26rem),
    radial-gradient(circle at 8% 48%, rgba(234, 220, 247, .52), transparent 30rem);
}
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.skip-link { position: absolute; left: -999px; top: 0; z-index: 10; padding: .75rem 1rem; background: var(--purple); color: #fff; }
.skip-link:focus { left: 1rem; top: 1rem; }
.utility-bar, .site-header, main, footer { max-width: 1320px; margin: 0 auto; }
.utility-bar { min-height: 38px; padding: .5rem 2.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-bottom: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.72); font-size: .68rem; font-weight: 700; letter-spacing: .03em; }
.utility-bar div { display: flex; align-items: center; gap: .75rem; }
.utility-bar div span { padding-left: .75rem; border-left: 1px solid var(--line); color: var(--muted); font-weight: 500; }
.utility-bar a { color: var(--purple); }
.utility-bar a:hover, .utility-bar a:focus-visible { color: var(--gold); outline: 0; }
.site-header {
  min-height: 84px;
  padding: .95rem 2.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; align-items: center; gap: .72rem; color: var(--ink); font-size: .82rem; font-weight: 800; line-height: 1.05; letter-spacing: .09em; text-transform: uppercase; }
.brand em { color: var(--purple); font-family: var(--serif); font-size: 1rem; font-weight: 400; letter-spacing: .02em; text-transform: none; }
.brand-mark { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; color: var(--purple); font-family: var(--serif); font-size: 1.35rem; }
.tiger-mark { object-fit: contain; filter: drop-shadow(0 5px 8px rgba(77, 39, 95, .14)); }
nav { display: flex; gap: 1.6rem; font-size: .86rem; font-weight: 700; color: var(--ink-soft); }
nav a { text-shadow: 0 1px 0 rgba(255,255,255,.9); }
nav a:hover, nav a:focus-visible { color: var(--purple); outline: 0; }
.header-note { color: var(--purple); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.header-cta { display: inline-flex; align-items: center; gap: .45rem; color: var(--purple); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.header-cta:hover, .header-cta:focus-visible { color: var(--gold); outline: 0; }
main { padding: 0 2.25rem; }
.home-hero { position: relative; min-height: 570px; margin-top: 1.4rem; padding: 4.8rem 5.2rem; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(370px, .9fr); gap: 2rem; overflow: hidden; border: 1px solid #d9c8ea; border-radius: 12px; background: linear-gradient(118deg, #fff 0%, #fcf9ff 48%, #f0e4fb 100%); box-shadow: 0 25px 50px rgba(68, 34, 97, .08); }
.home-hero::before { content: ""; position: absolute; width: 54rem; height: 54rem; top: -39rem; right: -16rem; border: 1px solid rgba(135, 76, 170, .14); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(185, 145, 215, .06), 0 0 0 9rem rgba(185, 145, 215, .035); pointer-events: none; }
.home-hero::after { content: "LEGENDPEPTIDE"; position: absolute; right: -1.3rem; bottom: 1rem; color: rgba(98, 42, 132, .05); font-size: clamp(3rem, 8vw, 8rem); font-weight: 800; letter-spacing: -.08em; pointer-events: none; }
.home-copy { position: relative; z-index: 1; align-self: center; }
.home-copy h1 { max-width: 670px; margin-bottom: 1.35rem; font-size: clamp(3.25rem, 6.1vw, 6.1rem); }
.home-copy > p:not(.eyebrow) { max-width: 560px; margin-bottom: 2rem; color: var(--muted); font-size: 1.04rem; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.home-primary, .home-secondary { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 46px; padding: .7rem 1.05rem; border-radius: 4px; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease; }
.home-primary { background: var(--purple); color: #fff; box-shadow: 0 10px 21px rgba(81, 32, 111, .16); }
.home-primary:hover, .home-primary:focus-visible { background: var(--purple-dark); color: #fff; outline: 0; transform: translateY(-2px); }
.home-secondary { border: 1px solid #d4c0e4; background: rgba(255,255,255,.72); color: var(--purple); }
.home-secondary:hover, .home-secondary:focus-visible { border-color: var(--purple); background: #fff; outline: 0; transform: translateY(-2px); }
.home-search { display: flex; align-items: center; gap: .4rem; width: min(100%, 450px); padding: .35rem .4rem .35rem 1rem; border: 1px solid #dac9e8; border-radius: 999px; background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(68, 34, 97, .06); }
.header-search { flex: 1 1 300px; max-width: 370px; margin-left: auto; }
.home-search:focus-within { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(110, 49, 143, .12); }
.home-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .9rem; }
.home-search input::placeholder { color: #9789a8; }
.home-search button { width: 2.7rem; height: 2.7rem; flex: 0 0 2.7rem; border: 0; border-radius: 50%; background: var(--purple); color: #fff; font-size: 1.28rem; line-height: 1; transition: background .2s ease, transform .2s ease; }
.home-search button:hover, .home-search button:focus-visible { background: var(--purple-dark); outline: 0; transform: scale(1.04); }
.home-stats { display: flex; flex-wrap: wrap; gap: 1.1rem 2rem; margin-top: 3.3rem; }
.home-stats div { display: grid; gap: .13rem; padding-right: 1.75rem; border-right: 1px solid #d9cae5; }
.home-stats div:last-child { padding-right: 0; border-right: 0; }
.home-stats strong { color: var(--purple); font-family: var(--serif); font-size: 1.7rem; font-weight: 400; line-height: 1; }
.home-stats span { color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-visual { position: relative; z-index: 1; min-height: 450px; overflow: hidden; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(.2px); }
.orb-one { width: 380px; height: 380px; top: 48px; right: 0; background: radial-gradient(circle at 35% 33%, rgba(255,255,255,.86), rgba(211,172,235,.52) 50%, rgba(126,56,163,.18) 72%, transparent 73%); }
.orb-two { width: 225px; height: 225px; bottom: -25px; left: 27px; background: radial-gradient(circle at 42% 35%, rgba(255,255,255,.86), rgba(218,185,239,.3) 54%, transparent 71%); }
.hero-vial { position: absolute; display: block; }
.hero-vial > img { display: block; width: 100%; height: 100%; object-fit: fill; mix-blend-mode: multiply; }
.hero-vial-back { width: 235px; height: 294px; top: 127px; right: 250px; opacity: .94; transform: rotate(-17deg); }
.hero-vial-side { width: 235px; height: 294px; right: 5px; bottom: 4px; transform: rotate(15deg); }
.hero-vial-front { width: 330px; height: 413px; right: 65px; top: 17px; }
.hero-label { position: absolute; left: 23.2%; top: 38.9%; width: 53.1%; height: 37.3%; display: grid; grid-template-rows: 30% 42% 28%; overflow: hidden; border-radius: 9% / 4%; color: var(--purple-dark); text-align: center; transform: perspective(360px) rotateY(-4.5deg) rotateX(2deg) rotateZ(-.25deg) scaleX(.94); box-shadow: inset 10px 0 11px rgba(74, 31, 92, .10), inset -9px 0 10px rgba(255,255,255,.21); }
.hero-label::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(104deg, transparent 10%, rgba(255,255,255,.08) 32%, rgba(255,255,255,.52) 48%, rgba(255,255,255,.09) 63%, transparent 88%); mix-blend-mode: screen; }
.hero-label span { display: flex; align-items: center; justify-content: center; gap: .22rem; color: #50256f; font-size: .48rem; font-weight: 800; white-space: nowrap; }
.hero-label span img { width: 16%; height: 70%; object-fit: contain; filter: saturate(.85) contrast(.96); opacity: .88; }
.hero-label b { display: grid; place-items: center; padding: .12rem; background: linear-gradient(100deg, rgba(83,31,117,.92), rgba(118,64,151,.9) 48%, rgba(78,27,111,.93)); color: #fff; font-size: .6rem; font-weight: 800; line-height: 1.03; letter-spacing: .02em; }
.hero-label small { display: grid; place-items: center; color: #54316e; font-size: .29rem; font-weight: 800; letter-spacing: .02em; }
.hero-label-mini span { font-size: .35rem; }
.hero-label-mini b { font-size: .42rem; }
.hero-label-mini small { font-size: .22rem; }
.home-categories { padding: 5.2rem 0 1.4rem; }
.home-categories-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.45rem; }
.home-categories-heading h2 { max-width: 610px; margin: 0; font-size: clamp(2.2rem, 4vw, 3.7rem); }
.home-categories-heading .text-link { margin: 0 0 .35rem; }
.home-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }
.home-category-grid a { position: relative; min-height: 210px; padding: 1.25rem; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-category-grid a::after { content: ""; position: absolute; width: 140px; height: 140px; right: -65px; bottom: -71px; border: 1px solid rgba(110, 49, 143, .12); border-radius: 50%; box-shadow: 0 0 0 22px rgba(183, 137, 215, .045); }
.home-category-grid a:hover, .home-category-grid a:focus-visible { border-color: #b998d5; box-shadow: 0 13px 26px rgba(68, 34, 97, .09); outline: 0; transform: translateY(-3px); }
.home-category-grid span { color: var(--gold); font-family: var(--serif); font-size: 1.1rem; }
.home-category-grid h3 { max-width: 170px; margin: 2.3rem 0 .6rem; font-family: var(--serif); font-size: 1.46rem; font-weight: 400; line-height: 1.06; }
.home-category-grid p { margin: 0; color: var(--muted); font-size: .77rem; }
.home-category-grid b { position: absolute; right: 1.15rem; top: 1.1rem; color: var(--purple); font-size: 1rem; }
.home-introduction { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr); gap: 5rem; padding: 6.2rem 0; }
.home-introduction h2 { max-width: 690px; margin: 0; font-size: clamp(2.3rem, 4vw, 4rem); }
.home-introduction > p { align-self: end; max-width: 490px; margin: 0; color: var(--muted); font-size: 1rem; }
.home-lines { padding: 0 0 5.5rem; }
.home-action-panel { display: grid; grid-template-columns: minmax(0, .73fr) minmax(0, 1.1fr); overflow: hidden; border: 1px solid #d8c8e8; border-radius: 22px; background: #fff; box-shadow: 0 18px 38px rgba(68, 34, 97, .07); }
.action-panel-main { padding: 3.3rem 2.8rem; background: linear-gradient(135deg, #542176, #773aa0); color: #fff; }
.action-panel-main .eyebrow { color: #ead9fa; }
.action-panel-main h2 { margin-bottom: 1rem; font-family: var(--sans); font-size: clamp(2rem, 3vw, 3rem); font-weight: 800; letter-spacing: -.05em; }
.action-panel-main > p:not(.eyebrow) { max-width: 390px; margin-bottom: 1.85rem; color: #f0e7f6; }
.action-panel-main a { display: inline-flex; align-items: center; gap: .6rem; min-height: 45px; padding: .7rem 1rem; border-radius: 999px; background: #fff; color: var(--purple); font-size: .71rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.action-panel-main a:hover, .action-panel-main a:focus-visible { color: var(--gold); outline: 0; transform: translateY(-2px); }
.action-panel-links { display: grid; }
.action-panel-links a { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.55rem 1.75rem; border-bottom: 1px solid var(--line); transition: background .2s ease; }
.action-panel-links a:last-child { border-bottom: 0; }
.action-panel-links a:hover, .action-panel-links a:focus-visible { background: #fcf9ff; outline: 0; }
.action-icon { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: 50%; background: #f0e7f8; color: var(--purple); font-size: 1.05rem; }
.action-panel-links strong { display: block; margin-bottom: .22rem; font-size: .98rem; }
.action-panel-links small { display: block; max-width: 490px; color: var(--muted); font-size: .8rem; }
.action-panel-links > a > b { color: var(--purple); font-size: 1.25rem; font-weight: 400; }
.home-documentary { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 5rem; padding: 5.5rem 0; border-top: 1px solid var(--line); }
.home-documentary h2 { margin-bottom: 1.25rem; }
.home-documentary > div > p:not(.eyebrow) { max-width: 525px; color: var(--muted); }
.home-document-list { border-top: 1px solid var(--line); }
.home-document-list article { display: grid; grid-template-columns: 3rem 1fr; gap: .8rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.home-document-list article > span { color: var(--gold); font-family: var(--serif); font-size: 1.2rem; }
.home-document-list h3 { margin: 0 0 .35rem; font-size: 1rem; }
.home-document-list p { margin: 0; color: var(--muted); font-size: .89rem; }
.home-contact-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; margin: 0 0 5.5rem; overflow: hidden; border: 1px solid #ddcfe9; border-radius: 24px; background: rgba(255,255,255,.7); box-shadow: 0 14px 32px rgba(68, 34, 97, .045); }
.home-contact-card { min-height: 172px; display: grid; justify-items: center; align-content: center; gap: .3rem; padding: 1.65rem 1.25rem; color: var(--ink); text-align: center; }
.home-contact-card + .home-contact-card { border-left: 1px solid var(--line); }
a.home-contact-card { transition: background .2s ease, color .2s ease; }
a.home-contact-card:hover, a.home-contact-card:focus-visible { background: #fff; color: var(--purple); outline: 0; }
.home-contact-icon { width: 2.55rem; height: 2.55rem; display: grid; place-items: center; margin-bottom: .15rem; border-radius: 50%; background: #f0e7f8; color: var(--purple); font-size: 1.1rem; line-height: 1; }
.home-contact-label { color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.home-contact-card strong { max-width: 100%; overflow-wrap: anywhere; color: var(--ink); font-size: .98rem; line-height: 1.25; }
.home-contact-card small { max-width: 280px; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.intro { padding: 6.8rem 0 5.4rem; border-bottom: 1px solid var(--line); }
.eyebrow { margin: 0 0 .8rem; color: var(--purple); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.intro-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(275px, .75fr); gap: 5rem; align-items: end; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
h1 { max-width: 810px; margin-bottom: 1.5rem; font-size: clamp(3.2rem, 7vw, 6.6rem); }
h1 span { color: var(--purple); }
h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.intro-copy { max-width: 620px; color: var(--muted); font-size: 1.08rem; }
.intro-link, .text-link { display: inline-flex; gap: .65rem; align-items: center; margin-top: .85rem; color: var(--purple); font-size: .79rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.intro-link:hover, .text-link:hover { color: var(--gold); }
.intro-panel { display: grid; border-top: 2px solid var(--purple); }
.intro-panel div { display: grid; grid-template-columns: 84px 1fr; gap: .6rem; align-items: baseline; padding: 1.05rem 0; border-bottom: 1px solid var(--line); }
.intro-panel strong { color: var(--purple); font-family: var(--serif); font-size: 1.7rem; font-weight: 400; }
.intro-panel span { color: var(--muted); font-size: .86rem; }
.catalogue { padding: 5.5rem 0 6.5rem; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.8rem; }
.section-heading h2 { margin-bottom: 0; }
.search-field { display: flex; align-items: center; gap: .5rem; min-width: min(100%, 300px); padding: .72rem .95rem; border: 1px solid var(--line); border-radius: 5px; background: #fff; box-shadow: 0 8px 25px rgba(68, 34, 97, .04); }
.search-field:focus-within { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(110, 49, 143, .12); }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .92rem; }
.search-field input::placeholder { color: #aa9db8; }
.search-field span { color: var(--purple); font-size: 1.25rem; }
.filters { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 .65rem; }
.filter-button { padding: .5rem .8rem; border: 1px solid var(--line); border-radius: 100px; background: #fff; color: var(--muted); font-size: .78rem; transition: .18s ease; }
.filter-button:hover, .filter-button:focus-visible, .filter-button[aria-pressed="true"] { border-color: var(--purple); background: var(--purple); color: #fff; outline: 0; }
.result-status { min-height: 1.5rem; margin-bottom: 1.15rem; color: var(--muted); font-size: .82rem; }
.catalogue-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin: 1.3rem 0 1.5rem; color: var(--muted); font-size: .78rem; }
.catalogue-legend span { display: inline-flex; gap: .4rem; align-items: center; }
.catalogue-legend i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--lavender); }
.catalogue-legend .mint-dot { background: var(--purple); }
.catalogue-legend p { flex: 1 1 330px; margin: 0; text-align: right; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.05rem; }
.product-card { position: relative; min-height: 555px; padding: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 8px 28px rgba(68, 34, 97, .045); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.product-card:hover, .product-card:focus-visible { border-color: #b998d5; box-shadow: 0 17px 35px rgba(68, 34, 97, .12); outline: 0; transform: translateY(-4px); }
.product-open { width: 100%; padding: 0; display: flex; flex: 1 0 auto; flex-direction: column; border: 0; background: transparent; color: inherit; text-align: left; }
.product-open:focus-visible { outline: 3px solid rgba(110, 49, 143, .35); outline-offset: -3px; }
.product-content { flex: 0 0 auto; padding: 1.3rem 1.35rem 1rem; }
.card-code { display: block; color: var(--purple); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-card h3 { max-width: 92%; margin: .48rem 0 .45rem; font-family: var(--serif); font-size: 1.72rem; font-weight: 400; line-height: 1.04; }
.product-card p.vial-strength { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 700; }
.product-media { display: grid; height: 267px; min-height: 267px; place-items: center; overflow: hidden; background: linear-gradient(145deg, #fff 5%, #f8f2fc 100%); border-top: 1px solid #eee6f5; border-bottom: 1px solid #eee6f5; }
.bottle-frame { position: relative; height: 405px; aspect-ratio: 1122 / 1402; align-self: start; }
.bottle-photo { display: block; width: 100%; height: 100%; object-fit: fill; }
.bottle-label, .dialog-bottle-label { position: absolute; left: 23.2%; top: 38.9%; width: 53.1%; height: 37.3%; display: grid; grid-template-rows: 30% 38% 32%; overflow: hidden; border-radius: 9% / 4%; color: var(--purple-dark); text-align: center; transform: perspective(360px) rotateY(-4.5deg) rotateX(2deg) rotateZ(-.25deg) scaleX(.94); transform-origin: center; box-shadow: inset 10px 0 11px rgba(74, 31, 92, .10), inset -9px 0 10px rgba(255,255,255,.2); }
.bottle-frame.is-oil .bottle-label, .dialog-product-visual.is-oil .dialog-bottle-label { left: 25.2%; top: 44%; width: 49.5%; height: 34.8%; grid-template-rows: 28% 43% 29%; transform: perspective(360px) rotateY(-5.5deg) rotateX(2deg) rotateZ(-.2deg) scaleX(.93); }
.bottle-frame.is-tablet .bottle-label, .dialog-product-visual.is-tablet .dialog-bottle-label { left: 15%; top: 38.9%; width: 70%; height: 39.7%; grid-template-rows: 30% 40% 30%; transform: perspective(460px) rotateY(-3deg) rotateX(1deg) rotateZ(-.1deg) scaleX(.96); }
.bottle-label::before, .dialog-bottle-label::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, rgba(61, 18, 82, .13), transparent 17%, transparent 79%, rgba(255,255,255,.2)); mix-blend-mode: multiply; }
.bottle-label::after, .dialog-bottle-label::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(104deg, transparent 12%, rgba(255,255,255,.14) 43%, rgba(255,255,255,.44) 52%, rgba(255,255,255,.1) 59%, transparent 85%); mix-blend-mode: screen; opacity: .8; }
.label-brand { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: .18rem; padding: 0 .2rem; color: #50256f; font-family: var(--sans); font-size: clamp(.34rem, .62vw, .55rem); font-weight: 800; letter-spacing: .01em; line-height: 1; text-shadow: 0 1px 0 rgba(255,255,255,.55); white-space: nowrap; }
.label-brand img { width: 16%; height: 70%; object-fit: contain; filter: saturate(.85) contrast(.96); opacity: .88; }
.label-name { position: relative; z-index: 1; display: grid; place-items: center; padding: .18rem .22rem; background: linear-gradient(100deg, rgba(83,31,117,.92), rgba(118,64,151,.9) 48%, rgba(78,27,111,.93)); color: #fff; font-family: var(--sans); font-size: clamp(.42rem, .82vw, .73rem); font-weight: 800; line-height: 1.05; box-shadow: inset 0 1px rgba(255,255,255,.12), inset 0 -1px rgba(45,15,68,.25); letter-spacing: .005em; overflow-wrap: anywhere; text-shadow: 0 1px 1px rgba(34,9,55,.28); }
.label-reference { position: relative; z-index: 1; display: grid; place-items: center; padding: .12rem .22rem; color: #54316e; font-family: var(--sans); font-size: clamp(.27rem, .47vw, .42rem); font-weight: 800; letter-spacing: .01em; line-height: 1.05; text-shadow: 0 1px 0 rgba(255,255,255,.5); }
.package-panel { padding: .68rem 1.35rem .8rem; border-bottom: 1px solid var(--line); background: #fdfbff; }
.pack-heading, .from-label { display: block; color: var(--muted); font-size: .61rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pack-options { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; margin-top: .42rem; }
.pack-options > span { display: grid; gap: .07rem; padding: .05rem .35rem; border-right: 1px solid var(--line); text-align: center; }
.pack-options > span:first-child { padding-left: 0; }
.pack-options > span:last-child { padding-right: 0; border-right: 0; }
.pack-options b { color: var(--ink); font-size: .8rem; line-height: 1.1; }
.pack-options small { color: var(--muted); font-size: .56rem; line-height: 1.15; }
.product-footer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .88rem 1.35rem; background: #fff; }
.product-quote { color: inherit; }
.price-inquiry { display: block; margin-top: .05rem; color: var(--ink); font-family: var(--serif); font-size: 1.15rem; font-weight: 400; line-height: 1.05; }
.whatsapp-link { display: inline-flex; align-items: center; gap: .7rem; padding: .6rem .85rem .6rem 1rem; border-radius: 999px; background: var(--purple); color: #fff; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; transition: background .2s ease, transform .2s ease; }
.whatsapp-link:hover, .whatsapp-link:focus-visible { background: var(--purple-dark); outline: 0; transform: translateX(2px); }
.whatsapp-link b { font-size: 1rem; font-weight: 400; }
.empty-state { grid-column: 1 / -1; padding: 4rem 1rem; color: var(--muted); text-align: center; }
.quality-section { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); gap: 5rem; padding: 5.5rem 0; border-top: 1px solid var(--line); }
.quality-section h2 { margin-bottom: 1.35rem; }
.quality-section > div > p:not(.eyebrow) { max-width: 550px; color: var(--muted); }
.quality-list { border-top: 1px solid var(--line); }
.quality-list article { display: grid; grid-template-columns: 3rem 1fr; column-gap: .8rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.quality-list span { color: var(--gold); font-family: var(--serif); font-size: 1.2rem; }
.quality-list h3 { margin: 0 0 .35rem; color: var(--ink); font-size: 1rem; }
.quality-list p { grid-column: 2; margin: 0; color: var(--muted); font-size: .9rem; }
.document-index, .research-areas { padding: 5.5rem 0; border-top: 1px solid var(--line); }
.index-note { max-width: 280px; margin: 0; color: var(--muted); font-size: .88rem; }
.document-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; }
.document-grid article { padding: 1.1rem; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.document-grid span { color: var(--purple); font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.document-grid h3 { margin: .55rem 0 .3rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; line-height: 1.05; }
.document-grid p { margin: 0; color: var(--muted); font-size: .76rem; }
.area-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; }
.area-grid a { min-height: 220px; padding: 1.25rem; border: 1px solid var(--line); border-radius: 5px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.area-grid a:hover, .area-grid a:focus-visible { border-color: #b998d5; box-shadow: 0 13px 26px rgba(68, 34, 97, .09); outline: 0; transform: translateY(-3px); }
.area-grid span { color: var(--gold); font-family: var(--serif); font-size: 1.1rem; }
.area-grid h3 { margin: 2.6rem 0 .7rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; line-height: 1.05; }
.area-grid p { margin: 0; color: var(--muted); font-size: .8rem; }
.inquiry { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 5.5rem; padding: 2.6rem; border: 1px solid #6d318f; border-radius: 7px; background: linear-gradient(125deg, #51206f, #7b3d9d); color: #fff; box-shadow: 0 22px 45px rgba(74, 29, 104, .17); }
.inquiry .eyebrow { color: #ecd9ff; }
.inquiry h2 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.6rem); }
.inquiry > p { align-self: end; margin: 0; color: #f0e7f6; }
footer { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; padding: 1.7rem 2.25rem 2.3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; }
.footer-brand { color: var(--ink); font-size: .72rem; }
.footer-brand .brand-mark { width: 1.85rem; height: 1.85rem; }
dialog { width: min(92vw, 690px); padding: 2.4rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); box-shadow: 0 26px 80px rgba(43, 15, 68, .28); }
dialog::backdrop { background: rgba(46, 19, 67, .46); backdrop-filter: blur(4px); }
.dialog-close { position: absolute; top: 1rem; right: 1rem; width: 2.25rem; height: 2.25rem; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); font-size: 1.5rem; line-height: 1; }
.dialog-close:hover, .dialog-close:focus-visible { border-color: var(--purple); color: var(--purple); outline: 0; }
.dialog-topline { display: flex; gap: .8rem; margin-right: 2.4rem; color: var(--purple); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dialog-topline span + span { padding-left: .8rem; border-left: 1px solid var(--line); color: var(--muted); }
.dialog-product-visual { position: relative; width: 190px; height: 238px; margin: .85rem 0 -.35rem; }
.dialog-image { display: block; width: 100%; height: 100%; object-fit: fill; }
.dialog-bottle-label .label-brand { font-size: .34rem; }
.dialog-bottle-label .label-name { font-size: .48rem; }
.dialog-bottle-label .label-reference { font-size: .27rem; }
dialog h2 { margin: .9rem 0 1rem; font-size: clamp(2.6rem, 6vw, 4.5rem); }
.dialog-summary { max-width: 520px; color: var(--muted); }
.product-details { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 2.1rem 0 1.2rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.product-details div { min-height: 90px; padding: 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
dt { margin-bottom: .35rem; color: var(--purple); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
dd { margin: 0; color: var(--ink-soft); font-size: .84rem; }
.dialog-note { margin: 0; color: var(--gold); font-size: .82rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1050px) { .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 840px) {
  .utility-bar { padding: .5rem 1.25rem; }
  .site-header { padding: 1rem 1.25rem; gap: 1rem; flex-wrap: wrap; }
  .header-search { order: 3; flex-basis: 100%; max-width: none; margin-left: 0; }
  .header-note { display: none; }
  .header-cta { display: none; }
  nav { gap: 1rem; }
  main { padding: 0 1.25rem; }
  .home-hero { min-height: 0; padding: 3.5rem 2.5rem; grid-template-columns: 1fr; }
  .home-visual { min-height: 355px; max-width: 490px; width: 100%; margin: -.5rem auto -1rem; }
  .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-introduction, .home-documentary { grid-template-columns: 1fr; gap: 2rem; }
  .home-introduction { padding: 4.7rem 0; }
  .home-action-panel { grid-template-columns: 1fr; }
  .intro { padding: 5rem 0 4rem; }
  .intro-grid, .quality-section, .inquiry { grid-template-columns: 1fr; gap: 2rem; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-grid, .area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  footer { grid-template-columns: 1fr; gap: .8rem; padding: 1.5rem 1.25rem 2rem; }
}
@media (max-width: 560px) {
  .utility-bar { min-height: 0; padding: .48rem 1.25rem; font-size: .62rem; }
  .utility-bar div span { display: none; }
  .utility-bar > a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .site-header { align-items: flex-start; }
  .header-search { width: 100%; }
  nav { display: grid; gap: .25rem; padding-top: .15rem; font-size: .78rem; text-align: right; }
  .brand { font-size: .7rem; }
  .brand-mark { width: 2.15rem; height: 2.15rem; }
  .home-hero { margin-top: 0; padding: 3.2rem 1.45rem 2.4rem; border-width: 0 0 1px; border-radius: 0; }
  .home-copy h1 { font-size: clamp(3rem, 16vw, 4.2rem); }
  .home-copy > p:not(.eyebrow) { font-size: .95rem; }
  .home-stats { gap: 1rem; margin-top: 2.4rem; }
  .home-stats div { padding-right: 1rem; }
  .home-stats strong { font-size: 1.45rem; }
  .home-stats span { font-size: .56rem; }
  .home-visual { min-height: 285px; margin: .3rem auto -1.1rem; }
  .hero-vial-front { width: 225px; height: 282px; right: calc(50% - 110px); top: 1px; }
  .hero-vial-back { width: 155px; height: 194px; right: calc(50% + 45px); top: 82px; }
  .hero-vial-side { width: 155px; height: 194px; right: calc(50% - 190px); bottom: -6px; }
  .orb-one { width: 260px; height: 260px; top: 24px; right: calc(50% - 132px); }
  .orb-two { width: 170px; height: 170px; left: calc(50% - 145px); }
  .home-categories { padding: 3.6rem 0 1.1rem; }
  .home-categories-heading { align-items: flex-start; flex-direction: column; gap: .6rem; }
  .home-categories-heading .text-link { margin: 0; }
  .home-category-grid { grid-template-columns: 1fr; }
  .home-introduction { padding: 3.6rem 0; }
  .home-action-panel { border-radius: 14px; }
  .action-panel-main { padding: 2.4rem 1.45rem; }
  .action-panel-links a { padding: 1.25rem 1.1rem; gap: .75rem; }
  .action-panel-links small { font-size: .75rem; }
  .home-documentary { padding: 3.6rem 0; }
  .home-contact-strip { grid-template-columns: 1fr; margin-bottom: 3.5rem; border-radius: 16px; }
  .home-contact-card { min-height: 146px; padding: 1.35rem 1rem; }
  .home-contact-card + .home-contact-card { border-top: 1px solid var(--line); border-left: 0; }
  .section-heading { align-items: stretch; flex-direction: column; }
  .search-field { min-width: 100%; }
  .product-grid, .document-grid, .area-grid { grid-template-columns: 1fr; }
  .catalogue-legend p { text-align: left; }
  .product-card { min-height: 540px; }
  .product-media { height: 267px; min-height: 267px; }
  .product-details { grid-template-columns: 1fr; }
  dialog { padding: 1.5rem; }
}
