/* Ingredient portfolio: shared brand tokens, self-contained FTP assets. */
.ingredient-page { --portfolio-ink:var(--bone); }
.ingredient-page .site-header { background:var(--bg); }
.ingredient-page main { overflow:clip; }
.ingredient-skip { position:fixed;top:1rem;left:1rem;z-index:200;padding:.8rem 1.2rem;background:var(--bg);color:var(--text);transform:translateY(-200%); }
.ingredient-skip:focus { transform:none; }
.ingredient-hero { position:relative;background:var(--abyss);color:var(--bone); }
.ingredient-hero__grid { display:grid;grid-template-columns:1.2fr 1fr;min-height:650px; }
.ingredient-hero__copy { padding:2rem 3rem 4.5rem 0;align-self:center;position:relative;z-index:1; }
.ingredient-crumbs { display:flex;flex-wrap:wrap;gap:.65rem;font-size:.78rem;color:var(--mint);margin-bottom:3.5rem; }
.ingredient-crumbs a:hover { text-decoration:underline; }
.ingredient-hero .eyebrow { color:var(--amber);font-size:.7rem;letter-spacing:.18em; }
.ingredient-hero h1 { color:var(--bone);font-size:clamp(2.7rem,4.4vw,4.4rem);max-width:13ch; }
.ingredient-hero h1 em { color:var(--amber);font-style:normal; }
.ingredient-hero .lead { color:color-mix(in srgb,var(--bone) 78%,transparent);font-size:1.04rem;max-width:47ch;margin-top:1.5rem; }
.ingredient-hero__image { position:relative;min-width:0; }
.ingredient-hero__image img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 67%; }
.ingredient-hero__image::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--abyss),transparent 28%),linear-gradient(0deg,var(--abyss),transparent 24%); }
.ingredient-hero__caption { position:absolute;bottom:2.5rem;left:2.5rem;right:1rem;z-index:1;font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mint); }
.ingredient-hero .hero-cta { gap:.8rem; }
.ingredient-hero .btn { font-size:.88rem; }
.ingredient-facts { display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-block:1.75rem;border-bottom:1px solid var(--line); }
.ingredient-facts div { display:flex;align-items:center;gap:1rem; }
.ingredient-facts b { font-family:var(--display);font-size:2.05rem;color:var(--eyebrow);line-height:1;white-space:nowrap; }
.ingredient-facts span { font-size:.8rem;line-height:1.45;color:var(--muted);max-width:16ch; }
.ingredient-jump { position:sticky;top:74px;z-index:30;background:var(--bg);border-bottom:1px solid var(--line); }
.ingredient-jump .container { display:flex;align-items:center;gap:1.8rem;min-height:64px; }
.ingredient-jump__label { font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-right:auto; }
.ingredient-jump a { padding:1.2rem 0;font-size:.8rem;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent; }
.ingredient-jump a:hover,.ingredient-jump a:focus-visible { color:var(--eyebrow);border-bottom-color:var(--orange); }
.ingredient-section { padding-block:clamp(4rem,7vw,6.5rem);scroll-margin-top:160px; }
.ingredient-section h2 { font-size:clamp(2rem,3.1vw,3rem);max-width:20ch; }
.ingredient-section h2 em { font-style:normal;color:var(--eyebrow); }
.ingredient-intro { display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:end; }
.ingredient-intro .lead { font-size:1rem; }
.ingredient-network { display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.4rem;border:1px solid var(--line);border-radius:16px;overflow:hidden; }
.ingredient-network a { padding:1.8rem 1.4rem;display:flex;flex-direction:column;align-items:flex-start;position:relative;transition:background .2s; }
.ingredient-network a+a { border-left:1px solid var(--line); }
.ingredient-network a:hover { background:var(--bg-alt); }
.ingredient-network .ingredient-number { font-family:var(--mono);font-size:.73rem;color:var(--eyebrow);margin-bottom:1.7rem; }
.ingredient-network h3 { font-size:1.1rem; }
.ingredient-network p { color:var(--muted);font-size:.84rem;margin-top:.6rem; }
.ingredient-network .arrow { position:absolute;top:1.8rem;right:1.4rem;color:var(--eyebrow); }
.ingredient-trust { display:flex;flex-wrap:wrap;gap:.7rem 2rem;margin-top:1.5rem;color:var(--muted);font-size:.79rem; }
.ingredient-trust span::before { content:"✓";color:var(--eyebrow);margin-right:.6rem; }
.ingredient-feature { display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(2rem,5vw,4.5rem);align-items:center; }
.ingredient-photo { border-radius:18px;overflow:hidden;position:relative;min-width:0;background:var(--deep); }
.ingredient-photo img { width:100%;object-fit:cover; }
.ingredient-photo--portrait img { height:530px;object-position:50% 48%; }
.ingredient-photo figcaption { position:absolute;bottom:1.3rem;left:1.3rem;right:1.3rem;padding:1rem 1.2rem;background:var(--abyss);border:1px solid color-mix(in srgb,var(--mint) 22%,transparent);border-radius:10px;color:var(--bone);font-size:.82rem; }
.ingredient-photo figcaption b { display:block;color:var(--amber);font-family:var(--display);font-size:1.35rem; }
.ingredient-copy .lead { margin-top:1.3rem;font-size:1.03rem; }
.ingredient-brand { display:inline-flex;align-items:center;margin-bottom:1.5rem;padding:.75rem 1rem;background:var(--bone);border-radius:8px; }
.ingredient-brand img { height:31px;width:auto;max-width:180px;object-fit:contain; }
.ingredient-tag { font-family:var(--mono);font-size:.65rem;color:var(--eyebrow);letter-spacing:.09em;text-transform:uppercase;display:block;margin-bottom:.7rem; }
.ingredient-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem; }
.ingredient-card { padding:1.4rem;border:1px solid var(--line);border-radius:12px;background:var(--surface); }
.ingredient-card h3 { font-size:1.08rem;line-height:1.25; }
.ingredient-card p { font-size:.88rem;color:var(--muted);margin-top:.65rem; }
.ingredient-copy .btn-text { margin-top:1.8rem; }
.ingredient-note { font-size:.78rem;color:var(--muted);line-height:1.7;margin-top:1.15rem; }
.ingredient-delivery { background:var(--abyss);color:var(--bone); }
.ingredient-delivery .eyebrow,.ingredient-delivery h2 em { color:var(--amber); }
.ingredient-delivery h2,.ingredient-delivery h3 { color:var(--bone); }
.ingredient-delivery .lead { color:color-mix(in srgb,var(--bone) 76%,transparent); }
.ingredient-delivery__head { display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center; }
.ingredient-delivery .ingredient-photo img { height:320px; }
.ingredient-delivery .ingredient-photo::after { content:"";position:absolute;inset:0;box-shadow:inset 0 0 70px color-mix(in srgb,var(--abyss) 35%,transparent); }
.ingredient-steps { list-style:none;counter-reset:delivery;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:2.8rem 0;margin:2.7rem 0 0;border-top:1px solid color-mix(in srgb,var(--mint) 20%,transparent); }
.ingredient-steps li { counter-increment:delivery; }
.ingredient-steps li::before { content:"0" counter(delivery);display:block;font-family:var(--mono);font-size:.74rem;color:var(--amber);margin-bottom:1rem; }
.ingredient-steps h3 { font-size:1rem;line-height:1.35; }
.ingredient-steps p { color:color-mix(in srgb,var(--bone) 72%,transparent);font-size:.84rem;margin-top:.6rem; }
.ingredient-results { border:1px solid color-mix(in srgb,var(--mint) 24%,transparent);border-radius:14px;padding:1.8rem; }
.ingredient-results h3 { font-size:1.1rem;margin-bottom:1.5rem; }
.ingredient-results dl { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.3rem; }
.ingredient-results dt { font-size:.75rem;color:var(--mint);margin-bottom:.4rem; }
.ingredient-results dd { font-family:var(--display);font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:600;color:var(--amber); }
.ingredient-delivery .ingredient-note { color:color-mix(in srgb,var(--bone) 70%,transparent); }
.ingredient-delivery .btn-text { color:var(--mint);margin-top:1.6rem; }
.ingredient-microbio { grid-template-columns:1fr 1fr; }
.ingredient-microbio .ingredient-photo img { height:400px; }
.ingredient-science { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:2.7rem; }
.ingredient-science article { border-top:3px solid var(--orange);background:var(--surface);border-radius:0 0 12px 12px;padding:2rem;border-inline:1px solid var(--line);border-bottom:1px solid var(--line); }
.ingredient-science h3 { font-size:1.6rem; }
.ingredient-science p { color:var(--muted);font-size:.94rem;margin-top:1rem; }
.ingredient-science .btn-text { margin-top:1.5rem;font-size:.85rem; }
.ingredient-pills { display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem; }
.ingredient-pills span { padding:.4rem .75rem;border-radius:6px;background:var(--bg-alt);border:1px solid var(--line);font-size:.75rem; }
.ingredient-supply { display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:start; }
.ingredient-supply .ingredient-grid { margin-top:0; }
.ingredient-route { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:1.7rem;margin-top:2rem;gap:1rem; }
.ingredient-route b { display:block;font-family:var(--display);font-size:1.8rem;color:var(--eyebrow); }
.ingredient-route span { display:block;font-size:.75rem;color:var(--muted); }
.ingredient-download { padding-block:3rem;border-top:1px solid var(--line);background:var(--bg-alt); }
.ingredient-download .container { display:flex;justify-content:space-between;align-items:center;gap:2rem; }
.ingredient-download h2 { font-size:1.55rem; }
.ingredient-download p { color:var(--muted);font-size:.92rem;margin-top:.5rem; }
.ingredient-page .cta-band { padding-block:5rem; }
.ingredient-page .cta-band .actions { flex-direction:column;align-items:flex-start; }
.ingredient-page .cta-band .ingredient-email { color:var(--mint);font-size:.92rem; }
.ingredient-page .cta-band .ingredient-email:hover { text-decoration:underline; }
/* Homepage entry point, deliberately scoped to this component. */
.portfolio-promo { padding-block:4.5rem;background:var(--bg-alt);border-block:1px solid var(--line); }
.portfolio-promo__inner { display:grid;grid-template-columns:1fr 1.5fr;gap:3.5rem;align-items:center; }
.portfolio-promo__photo { width:100%;height:330px;object-fit:cover;object-position:50% 70%;border-radius:16px; }
.portfolio-promo h2 { max-width:22ch; }
.portfolio-promo .lead { margin:1rem 0 1.5rem;font-size:1.02rem; }
.portfolio-promo__partners { display:block;font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-top:1.3rem;line-height:1.8; }
@media (max-width:1050px) {
  .ingredient-hero__copy { padding-right:1.5rem; }
  .ingredient-jump .container { gap:1.2rem; }
  .ingredient-jump__label { display:none; }
  .ingredient-jump .container { justify-content:space-between; }
  .ingredient-feature,.ingredient-delivery__head,.ingredient-supply { gap:2rem; }
  .ingredient-facts { gap:1rem; }
  .ingredient-results dl { grid-template-columns:repeat(3,1fr);gap:1.5rem; }
}
@media (max-width:820px) {
  .ingredient-hero__grid { min-height:600px;grid-template-columns:1.2fr .8fr; }
  .ingredient-hero h1 { font-size:2.9rem; }
  .ingredient-hero__caption { left:1rem;font-size:.58rem; }
  .ingredient-network { grid-template-columns:repeat(2,1fr); }
  .ingredient-network a:nth-child(3) { border-left:0; }
  .ingredient-network a:nth-child(n+3) { border-top:1px solid var(--line); }
  .ingredient-intro,.ingredient-feature,.ingredient-delivery__head,.ingredient-supply { grid-template-columns:1fr; }
  .ingredient-photo--portrait { max-height:420px; }
  .ingredient-photo--portrait img { height:420px;object-position:50% 47%; }
  .ingredient-intro { gap:1.3rem; }
  .ingredient-steps { grid-template-columns:1fr 1fr; }
  .ingredient-jump a { font-size:.74rem; }
  .ingredient-facts div { flex-direction:column;align-items:flex-start;gap:.7rem; }
  .portfolio-promo__inner { gap:2rem;grid-template-columns:1fr 1.4fr; }
  .ingredient-page .nav.mobile { max-height:calc(100dvh - 74px);overflow-y:auto;visibility:hidden; }
  .ingredient-page.nav-open .nav.mobile { visibility:visible; }
}
@media (max-width:560px) {
  .ingredient-page .header-tools { margin-left:auto;gap:.55rem; }
  .ingredient-page .header-tools > .btn { display:none; }
  .ingredient-page .header-tools .lang { display:inline-flex; }
  .ingredient-page .header-tools .lang a { padding:.4rem .5rem; }
  .ingredient-page .site-header .container { gap:.5rem; }
  .ingredient-page .brand img { height:28px; }
  .ingredient-hero__grid { grid-template-columns:1fr;min-height:0; }
  .ingredient-hero__copy { padding:1.5rem 0 2.5rem; }
  .ingredient-crumbs { margin-bottom:2.2rem; }
  .ingredient-hero h1 { font-size:clamp(2.6rem,10vw,3.5rem);max-width:15ch; }
  .ingredient-hero__image { height:280px;margin-inline:calc(-1 * var(--gutter)); }
  .ingredient-hero__image img { object-position:50% 70%; }
  .ingredient-hero__image::after { background:linear-gradient(180deg,var(--abyss),transparent 22%),linear-gradient(0deg,var(--abyss),transparent 25%); }
  .ingredient-hero__caption { left:var(--gutter);bottom:1.5rem;font-size:.62rem; }
  .ingredient-facts { gap:.9rem;padding-block:1.4rem; }
  .ingredient-facts b { font-size:1.7rem; }
  .ingredient-facts span { font-size:.69rem; }
  .ingredient-jump .container { overflow-x:auto;justify-content:flex-start;gap:1.35rem;min-height:58px; }
  .ingredient-jump a { flex:none;padding:1rem 0; }
  .ingredient-grid,.ingredient-science { grid-template-columns:1fr; }
  .ingredient-network a { padding:1.4rem 1rem; }
  .ingredient-network h3 { font-size:1rem; }
  .ingredient-network p { font-size:.8rem; }
  .ingredient-network .arrow { right:1rem;top:1.4rem; }
  .ingredient-results { padding:1.3rem; }
  .ingredient-results dl { grid-template-columns:1fr 1fr; }
  .ingredient-science article { padding:1.5rem; }
  .ingredient-delivery .ingredient-photo img,.ingredient-microbio .ingredient-photo img { height:280px; }
  .ingredient-download .container { flex-direction:column;align-items:flex-start; }
  .ingredient-page .btn { max-width:100%;white-space:normal;text-align:center;justify-content:center; }
  .portfolio-promo__inner { grid-template-columns:1fr; }
  .portfolio-promo__photo { height:220px; }
}

/* SynBio Cosmetics: catalogue and formulation support. */
.cosmetics-page [hidden] { display:none !important; }
.cosmetics-page .ingredient-hero h1 { max-width:15ch;font-size:clamp(2.65rem,4vw,4rem); }
.cosmetics-page .ingredient-hero .eyebrow { font-size:.65rem;letter-spacing:.13em; }
.cosmetics-page .ingredient-section { scroll-margin-top:155px; }
.cosmetic-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:3rem;border-top:1px solid var(--line);padding-top:2rem; }
.cosmetic-benefits article > span { display:block;font-family:var(--mono);font-size:.75rem;color:var(--eyebrow);margin-bottom:1.1rem; }
.cosmetic-benefits h3 { font-size:1.15rem;line-height:1.3; }
.cosmetic-benefits p { font-size:.92rem;color:var(--muted);margin-top:.8rem; }
.cosmetic-footprint { border:1px solid color-mix(in srgb,var(--mint) 25%,transparent);border-radius:12px; }
.cosmetic-footprint summary { padding:1.2rem 1.5rem;cursor:pointer;font-family:var(--display);font-weight:500;font-size:1.1rem; }
.cosmetic-footprint summary span { float:right;color:var(--amber); }
.cosmetic-footprint[open] summary { border-bottom:1px solid color-mix(in srgb,var(--mint) 25%,transparent); }
.cosmetic-footprint > div { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding:1.5rem; }
.cosmetic-footprint h4 { color:var(--mint);font-size:1rem; }
.cosmetic-footprint p { color:var(--bone);font-size:.85rem;margin-top:.6rem; }
.cosmetic-filters { display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:1rem;align-items:end;padding:1.5rem;border:1px solid var(--line);border-radius:12px;background:var(--bg-alt);margin-top:2.5rem; }
.cosmetic-filters > div { min-width:0; }
.cosmetic-filters label { display:block;font-size:.78rem;font-weight:600;margin-bottom:.45rem; }
.cosmetic-filters input,.cosmetic-filters select { width:100%;min-width:0;min-height:48px;font:inherit;font-size:.88rem;color:var(--text);background:var(--surface);padding:.65rem .75rem;border:1px solid var(--line-2);border-radius:7px; }
.cosmetic-filters .btn { padding:.7rem 1rem;font-size:.85rem;min-height:48px; }
.cosmetic-result-count { font-family:var(--mono);font-size:.77rem;color:var(--muted);margin-top:1.25rem; }
.cosmetic-group-heading { margin:2rem 0 1.2rem;font-size:1.35rem; }
.cosmetic-actives { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem; }
.cosmetic-active { border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:1.8rem;display:flex;flex-direction:column;align-items:flex-start; }
.cosmetic-active h4 { font-size:1.6rem;color:var(--text-strong);line-height:1.15; }
.cosmetic-active p { color:var(--muted);font-size:.92rem;margin-top:.9rem; }
.cosmetic-active .cosmetic-inci { font-size:.82rem;overflow-wrap:anywhere; }
.cosmetic-inci b { font-family:var(--mono);font-size:.65rem;color:var(--eyebrow);padding-right:.4rem; }
.cosmetic-active > p:not(.cosmetic-inci) { flex:1; }
.cosmetic-dose { margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--line);width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem; }
.cosmetic-dose span { color:var(--muted);font-size:.75rem; }
.cosmetic-dose strong { color:var(--text-strong);font-family:var(--mono);font-size:.85rem;white-space:nowrap; }
.cosmetic-tags { display:flex;gap:.4rem;flex-wrap:wrap; }
.cosmetic-active .cosmetic-tags { margin-top:1rem; }
.cosmetic-tag { display:inline-block;font-size:.64rem;line-height:1.5;padding:.25rem .45rem;border:1px solid var(--line);border-radius:5px;background:var(--bg-alt);color:var(--text); }
.cosmetic-tag--e { color:var(--mint-ink);background:var(--mint-2);border-color:var(--mint); }
:root[data-theme="dark"] .cosmetic-tag--e { color:var(--mint);background:var(--deep);border-color:var(--teal); }
.cosmetic-active .btn-text { font-size:.82rem;margin-top:1.25rem; }
.cosmetic-table-wrap { overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-top:1.2rem; }
.cosmetic-table { border-collapse:collapse;width:100%;font-size:.85rem;min-width:710px;text-align:left; }
.cosmetic-table caption { text-align:left;padding:1.1rem 1.3rem;background:var(--surface);font-size:.8rem;color:var(--muted); }
.cosmetic-table th,.cosmetic-table td { padding:1rem 1.1rem;border-top:1px solid var(--line);vertical-align:middle; }
.cosmetic-table thead { background:var(--deep);color:var(--bone); }
.cosmetic-table thead th { font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;font-weight:500; }
.cosmetic-table tbody tr:nth-child(even) { background:var(--bg-alt); }
.cosmetic-table tbody th { font-family:var(--display);font-size:.91rem;font-weight:600;min-width:165px; }
.cosmetic-table td:nth-child(2) { max-width:240px;color:var(--muted); }
.cosmetic-table td:last-child { min-width:180px; }
.cosmetic-empty { padding:3rem;border:1px dashed var(--line-2);border-radius:12px;margin-top:2rem;text-align:center; }
.cosmetic-empty p { margin-top:1rem;color:var(--muted); }
.cosmetic-cert-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:2.5rem; }
.cosmetic-cert-grid article { background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:2rem; }
.cosmetic-cert-logo { width:108px;height:100px;background:var(--bone);padding:.35rem;border-radius:8px;margin-bottom:1.5rem; }
.cosmetic-cert-logo img { width:100%;height:100%;object-fit:contain; }
.cosmetic-origin { width:100px;height:100px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;background:var(--bg-alt);font-family:var(--display);font-size:3rem;color:var(--eyebrow);margin-bottom:1.5rem; }
.cosmetic-cert-grid article > b { font-family:var(--mono);font-size:.8rem;color:var(--eyebrow); }
.cosmetic-cert-grid h3 { margin-top:.75rem;font-size:1.25rem; }
.cosmetic-cert-grid p { color:var(--muted);font-size:.92rem;margin-top:.85rem; }
.cosmetic-quality { margin-top:2rem;padding-block:1.3rem;border-block:1px solid var(--line); }
.cosmetic-quality summary { cursor:pointer;font-weight:600; }
.cosmetic-quality p { color:var(--muted);margin-top:1rem;font-size:.9rem; }
#certifications > .container > .btn-text { margin-top:1.5rem; }
.cosmetic-support-list { display:grid;gap:1.4rem;margin-top:2rem; }
.cosmetic-support-list h3 { font-size:1rem; }
.cosmetic-support-list p { font-size:.9rem;color:var(--muted);margin-top:.35rem; }
.cosmetic-contact { display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:start; }
.cosmetic-contact .lead { margin-top:1.5rem;font-size:1.05rem; }
.cosmetic-contact-links { display:grid;gap:.8rem;margin-top:2rem; }
.cosmetic-contact-links a { font-weight:600; }
.cosmetic-contact-links a:hover { color:var(--eyebrow); }
.cosmetic-contact-links span { font-size:.85rem;color:var(--muted); }
.cosmetic-form .field { min-width:0; }
.cosmetic-form .field input,.cosmetic-form .field textarea { min-width:0;width:100%; }
.cosmetic-form-note { font-size:.76rem;color:var(--muted);margin-bottom:1rem; }
.cosmetic-form-error { border:1px solid var(--orange);border-radius:6px;padding:1rem;margin-top:1rem;font-size:.85rem; }
.cosmetic-form-error a { text-decoration:underline; }
#cosmetics-sent p { color:var(--muted);margin-top:1rem; }
.cosmetic-shortlist { margin-top:1.5rem;color:var(--muted);font-size:.8rem;line-height:1.8; }
.cosmetic-shortlist strong { font-weight:600;color:var(--text); }
@media(max-width:1050px) {
  .cosmetic-filters { grid-template-columns:1fr 1fr; }
  .cosmetic-contact { gap:2rem; }
  .cosmetic-cert-grid article { padding:1.5rem; }
}
@media(max-width:820px) {
  .cosmetic-benefits { gap:1.5rem; }
  .cosmetic-contact { grid-template-columns:1fr; }
  .cosmetic-footprint > div { grid-template-columns:1fr 1fr; }
  .cosmetic-active { padding:1.3rem; }
  .cosmetic-cert-grid { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .cosmetics-page .ingredient-hero h1 { font-size:clamp(2.5rem,10vw,3.1rem); }
  .cosmetic-benefits,.cosmetic-actives { grid-template-columns:1fr; }
  .cosmetic-benefits article+article { border-top:1px solid var(--line);padding-top:1.5rem; }
  .cosmetic-filters { grid-template-columns:1fr;padding:1rem;gap:.8rem; }
  .cosmetic-filters > div:first-child { grid-column:1 / -1; }
  .cosmetic-filters .btn { grid-column:1 / -1; }
  .cosmetic-filters select { font-size:.8rem; }
  .cosmetic-footprint > div { grid-template-columns:1fr; }
  .cosmetic-dose { align-items:flex-start; }
  .cosmetic-table { min-width:650px; }
  .cosmetic-empty { padding:2rem 1rem; }
}
