{"id":11682,"date":"2026-10-18T17:38:24","date_gmt":"2026-10-18T21:38:24","guid":{"rendered":"https:\/\/crassulapharma.com\/?page_id=11682"},"modified":"2026-10-22T17:18:10","modified_gmt":"2026-10-22T21:18:10","slug":"social-responsibility","status":"publish","type":"page","link":"https:\/\/crassulapharma.com\/es\/social-responsibility\/","title":{"rendered":"Social Responsibility"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11682\" class=\"elementor elementor-11682\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-58a0797 e-con-full e-flex e-con e-parent\" data-id=\"58a0797\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-32fe882 elementor-widget elementor-widget-html\" data-id=\"32fe882\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\n     CRASSULA \u00b7 social-responsibility \u00b7 contenido para el widget HTML de Elementor\n     Pegar TODO este archivo en un widget HTML (contenedor a ancho\n     completo, sin padding; p\u00e1gina \"Elementor Full Width\" o \"Canvas\").\n     Incluye todo: SEO, fuentes, CSS, datos estructurados, contenido y JS.\n     ========================================================= -->\n\n<!-- SEO \u00b7 el script de abajo mueve estas etiquetas al <head> y reemplaza\n     las que traiga Rank Math\/Yoast o el tema. -->\n<title>Social Responsibility | Crassula Pharmaceuticals<\/title>\n<meta name=\"description\" content=\"Crassula advances global healthcare with innovative medicines that improve quality of life, address today\u2019s challenges, and elevate sustainability.\">\n<meta name=\"robots\" content=\"index, follow, max-image-preview:large\">\n<link rel=\"canonical\" href=\"https:\/\/crassulapharma.com\/social-responsibility\/\">\n<meta name=\"theme-color\" content=\"#101A42\">\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:site_name\" content=\"Crassula Pharmaceuticals\">\n<meta property=\"og:locale\" content=\"en_US\">\n<meta property=\"og:title\" content=\"Social Responsibility | Crassula Pharmaceuticals\">\n<meta property=\"og:description\" content=\"Crassula advances global healthcare with innovative medicines that improve quality of life, address today\u2019s challenges, and elevate sustainability.\">\n<meta property=\"og:url\" content=\"https:\/\/crassulapharma.com\/social-responsibility\/\">\n<meta property=\"og:image\" content=\"https:\/\/images.unsplash.com\/photo-1582213782179-e0d53f98f2ca?auto=format&fit=crop&w=1600&q=70\">\n<meta property=\"og:image:alt\" content=\"Hands stacked together in a show of community\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<meta name=\"twitter:site\" content=\"@crassula_llc\">\n<meta name=\"twitter:title\" content=\"Social Responsibility | Crassula Pharmaceuticals\">\n<meta name=\"twitter:description\" content=\"Crassula advances global healthcare with innovative medicines that improve quality of life, address today\u2019s challenges, and elevate sustainability.\">\n<meta name=\"twitter:image\" content=\"https:\/\/images.unsplash.com\/photo-1582213782179-e0d53f98f2ca?auto=format&fit=crop&w=1600&q=70\">\n<script>\n\/* Move this page's SEO tags into <head>; replace any duplicate set by the theme or SEO plugin *\/\n(function () {\n  var head = document.head, me = document.currentScript, el = me.previousElementSibling, tags = [];\n  while (el && \/^(META|LINK|TITLE)$\/.test(el.tagName)) { tags.unshift(el); el = el.previousElementSibling; }\n  tags.forEach(function (t) {\n    var sel = t.tagName === 'TITLE' ? 'title'\n      : t.tagName === 'LINK' ? 'link[rel=\"' + t.getAttribute('rel') + '\"]'\n      : t.hasAttribute('property') ? 'meta[property=\"' + t.getAttribute('property') + '\"]'\n      : 'meta[name=\"' + t.getAttribute('name') + '\"]';\n    [].slice.call(head.querySelectorAll(sel)).forEach(function (old) { old.parentNode.removeChild(old); });\n    head.appendChild(t);\n  });\n})();\n<\/script>\n\n<!-- Fuentes: Poppins 100\u2013900 + it\u00e1licas -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap\">\n\n<!-- Estilos incluidos para que la p\u00e1gina funcione sola (widget o navegador) -->\n<style>\nbody { margin: 0; }\n\/* =========================================================\n   CRASSULA PHARMACEUTICALS \u2014 about.css \u00b7 PALETTE v2 (navy #101A42 \u00b7 white \u00b7 green #5BA044 \u00b7 grey #ECECEC)\n   Base design system (tokens, components, motion) + About Us page.\n   Load FIRST on every page. Page add-ons (facilities.css, social.css, \u2026) load after it.\n   Palette: #5BA044 \u00b7 #5BA044 \u00b7 #FFFFFF \u00b7 #ECECEC + derived ink\n   Type: Poppins 100\u2013900 + italics (Google Fonts)\n\n   CONTENTS\n   00  WordPress \/ theme guard\n   01  Tokens\n   02  Base\n   03  Layout & surfaces\n   04  Typography\n   05  Components\n       05.1 Buttons            05.6 Figures\n       05.2 Page hero          05.7 Markers (pending \/ review)\n       05.3 Breadcrumbs        05.8 Cursor follower\n       05.4 Scroll cue         05.9 Page transition\n       05.5 Sub navigation\n   06  Sections (shared blocks)\n   07  Pages\n       07.1 About Us  (\/about-us\/)          \u2014 APPROVED v1.3\n       07.2 Facilities \u2192 facilities.css (separate file)\n       07.3 Social Responsibility \u2192 social.css (separate file)\n       07.4 Team \u00b7 07.5 Pharma\n       07.6 Supplements \u00b7 07.8 Media Releases\n       07.9 Contact \u00b7 07.10 Home\n   08  Motion system (reveals, keyframes, reduced motion)\n   09  Responsive\n   ========================================================= *\/\n\n\/* =========================================================\n   00  WORDPRESS \/ THEME GUARD\n   The Hello theme and Elementor kit style every <a>, <button> and\n   [type=button|submit] (magenta #c36 hover background, white text,\n   nowrap, border). These rules neutralise them inside .cr-page;\n   component rules below re-apply our own states.\n   ========================================================= *\/\n.cr-page a:hover, .cr-page a:focus, .cr-page a:active { color: inherit; }\n.cr-page button, .cr-page [type=\"button\"], .cr-page [type=\"submit\"] { white-space: normal; text-transform: none; font-family: inherit; letter-spacing: inherit; box-shadow: none; }\n.cr-page button:hover, .cr-page button:focus, .cr-page button:active { background-color: transparent; color: inherit; text-decoration: none; }\n\n\/* =========================================================\n   01  TOKENS\n   ========================================================= *\/\n:root {\n  \/* Palette *\/\n  --cr-green: #5BA044;\n  --cr-green-text: #3E7A2C;   \/* derived: brand green for text on white\/grey *\/        \/* primary \u00b7 CTAs \u00b7 impact sections (cream text 4.91:1) *\/\n  --cr-lime: #5BA044;         \/* accents \u00b7 hover \u00b7 data \u2014 never text on light *\/\n  --cr-cream: #FFFFFF;        \/* main light background *\/\n  --cr-peach: #ECECEC;        \/* alternate surfaces *\/\n  --cr-ink: #101A42;          \/* derived near-black green \u00b7 text + dark sections (15.4:1 on cream) *\/\n  --cr-ink-70: #454D6B;       \/* derived muted ink (7.97:1 on cream, 7.0:1 on peach) *\/\n  --cr-line: rgba(16, 26, 66, 0.16);\n  --cr-line-dark: rgba(255, 255, 255, 0.2);\n\n  \/* Type *\/\n  --cr-font: \"Poppins\", \"Segoe UI\", system-ui, sans-serif;\n  --cr-fs-display: clamp(2.4rem, 10.5vw, 9.5rem);\n  --cr-fs-h2: clamp(2.25rem, 1.2rem + 3.6vw, 4.5rem);\n  --cr-fs-h3: clamp(1.375rem, 1.1rem + 0.9vw, 1.875rem);\n  --cr-fs-quote: clamp(2rem, 1rem + 3.6vw, 4.25rem);\n  --cr-fs-lead: clamp(1.0625rem, 0.95rem + 0.45vw, 1.3125rem);\n  --cr-fs-body: 1rem;\n  --cr-fs-small: 0.875rem;\n  --cr-fs-label: 0.75rem;\n  --cr-tracking-label: 0.18em;\n\n  \/* Space *\/\n  --cr-s1: 4px; --cr-s2: 8px; --cr-s3: 12px; --cr-s4: 16px; --cr-s5: 24px; --cr-s6: 32px; --cr-s7: 48px; --cr-s8: 64px; --cr-s9: 96px; --cr-s10: 144px;\n  --cr-container: 1360px;\n  --cr-gutter: clamp(20px, 4.5vw, 64px);\n\n  \/* Shape & motion *\/\n  --cr-r-pill: 999px;\n  --cr-r-card: 20px;\n  --cr-ease: cubic-bezier(0.22, 1, 0.36, 1);\n  --cr-ease-io: cubic-bezier(0.65, 0, 0.35, 1);\n  --cr-t-fast: 300ms;\n  --cr-t-med: 560ms;\n  --cr-t-slow: 900ms;\n}\n\n\/* =========================================================\n   02  BASE\n   ========================================================= *\/\n.cr-page, .cr-page * { box-sizing: border-box; }\n.cr-page { margin: 0; background: var(--cr-cream); color: var(--cr-ink); font-family: var(--cr-font); font-size: var(--cr-fs-body); line-height: 1.65; -webkit-font-smoothing: antialiased; }\n.cr-page img { max-width: 100%; display: block; }\n.cr-page a { color: inherit; }\n.cr-page :focus-visible { outline: 2px solid var(--cr-green); outline-offset: 3px; border-radius: 4px; }\n.cr-dark :focus-visible, .cr-green-bg :focus-visible { outline-color: var(--cr-lime); }\n.cr-wrap { max-width: var(--cr-container); margin: 0 auto; padding: 0 var(--cr-gutter); }\n.cr-section { position: relative; padding: var(--cr-s10) 0; }\n.cr-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }\n\n\/* =========================================================\n   03  LAYOUT & SURFACES\n   ========================================================= *\/\n.cr-cream { background: var(--cr-cream); }\n.cr-peach { background: var(--cr-peach); }\n.cr-dark { background: var(--cr-ink); color: var(--cr-cream); }\n.cr-green-bg { background: var(--cr-green); color: var(--cr-cream); }\n\n\/* =========================================================\n   04  TYPOGRAPHY\n   ========================================================= *\/\n.cr-label {\n  display: inline-flex; align-items: center; gap: var(--cr-s3);\n  font-weight: 500; font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; line-height: 1.4;\n}\n.cr-label__idx { font-variant-numeric: tabular-nums; }\n.cr-label__bar { width: 40px; height: 1px; background: currentColor; opacity: .5; }\n.cr-h2 { font-weight: 600; font-size: var(--cr-fs-h2); line-height: 1.02; letter-spacing: -0.035em; margin: var(--cr-s5) 0 0; }\n.cr-h2 .t-200 { font-weight: 200; }\n.cr-h2 em, .cr-display em { font-style: italic; }\n.cr-h3 { font-weight: 600; font-size: var(--cr-fs-h3); line-height: 1.2; letter-spacing: -0.015em; margin: 0; }\n.cr-lead { font-size: var(--cr-fs-lead); line-height: 1.6; font-weight: 400; margin: var(--cr-s5) 0 0; max-width: 60ch; }\n.cr-muted { color: var(--cr-ink-70); }\n.cr-dark .cr-muted, .cr-green-bg .cr-muted { color: rgba(255, 255, 255, 0.86); }\n.t-100 { font-weight: 100; } .t-200 { font-weight: 200; } .t-300 { font-weight: 300; } .t-800 { font-weight: 800; }\n\n\/* Line-split reveal: lines are pre-marked in HTML (text always in DOM) *\/\n.cr-ln { display: block; overflow: hidden; padding-bottom: 0.06em; }\n.cr-ln > span { display: block; }\n\n\/* =========================================================\n   05  COMPONENTS\n   ========================================================= *\/\n\/* 05.1 Buttons *\/\n.cr-btn {\n  position: relative; display: inline-flex; align-items: center; gap: var(--cr-s3);\n  min-height: 52px; padding: 0 10px 0 26px; border-radius: var(--cr-r-pill);\n  font-family: var(--cr-font); font-weight: 500; font-size: 0.9375rem; letter-spacing: 0.01em; text-decoration: none;\n  border: 1.5px solid transparent; overflow: hidden; isolation: isolate;\n  transition: color var(--cr-t-med) var(--cr-ease), border-color var(--cr-t-med) var(--cr-ease);\n}\n.cr-btn__icon { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; transition: transform 700ms var(--cr-ease), background-color var(--cr-t-med) var(--cr-ease), color var(--cr-t-med) var(--cr-ease); }\n.cr-btn::before { content: \"\"; position: absolute; inset: 0; z-index: -1; border-radius: inherit; transform: scaleX(0); transform-origin: left; transition: transform 700ms var(--cr-ease); }\n.cr-btn--primary { background: var(--cr-green); color: var(--cr-cream); }\n.cr-btn--primary .cr-btn__icon { background: var(--cr-cream); color: var(--cr-green-text); }\n.cr-btn--primary::before { background: var(--cr-ink); }\n.cr-btn--ghost { background: transparent; color: var(--cr-cream); border-color: rgba(255, 255, 255, 0.6); }\n.cr-btn--ghost .cr-btn__icon { background: var(--cr-cream); color: var(--cr-ink); }\n.cr-btn--ghost::before { background: var(--cr-cream); }\n@media (hover: hover) {\n  .cr-btn:hover::before { transform: scaleX(1); }\n  .cr-btn:hover .cr-btn__icon { transform: rotate(-45deg); }\n  .cr-btn--ghost:hover { color: var(--cr-ink); border-color: var(--cr-cream); }\n  .cr-btn--ghost:hover .cr-btn__icon { background: var(--cr-ink); color: var(--cr-cream); }\n}\n\n\/* 05.2 Page hero (shared pattern) *\/\n.cr-hero { position: relative; isolation: isolate; overflow: hidden; min-height: min(100svh, 980px); display: flex; align-items: flex-end; color: var(--cr-cream); background: var(--cr-ink); }\n.cr-hero__media { position: absolute; inset: -10% 0; z-index: -2; }\n.cr-hero__media img { width: 100%; height: 100%; object-fit: cover; }\n.cr-hero::before { content: \"\"; position: absolute; inset: 0; z-index: -1;\n  background: linear-gradient(180deg, rgba(16, 26, 66,.62) 0%, rgba(16, 26, 66,.78) 55%, rgba(16, 26, 66,.94) 100%); }\n.cr-hero__grid { position: absolute; inset: 0; z-index: -1; pointer-events: none;\n  background-image: linear-gradient(to right, rgba(255, 255, 255,.07) 1px, transparent 1px);\n  background-size: calc((min(100vw, var(--cr-container)) - 2 * var(--cr-gutter)) \/ 12) 100%; background-position: center; }\n.cr-hero__inner { width: 100%; padding-top: calc(var(--cr-s10) + var(--cr-s6)); padding-bottom: var(--cr-s9); }\n.cr-hero__top { display: flex; justify-content: space-between; gap: var(--cr-s5); flex-wrap: wrap; }\n\/* 05.3 Breadcrumbs *\/\n.cr-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--cr-s2); margin: 0; padding: 0; font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; }\n.cr-crumbs li + li::before { content: \"\/\"; margin-right: var(--cr-s2); opacity: .6; }\n.cr-crumbs a { text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255,.5); }\n.cr-crumbs [aria-current] { color: var(--cr-lime); }\n\/* Hero display title *\/\n.cr-display { font-size: var(--cr-fs-display); line-height: 0.9; letter-spacing: -0.055em; margin: var(--cr-s7) 0 0; font-weight: 200; }\n.cr-display .t-800 { letter-spacing: -0.06em; }\n.cr-display__pre { display: block; font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; margin-bottom: var(--cr-s5); color: var(--cr-lime); }\n.cr-hero__foot { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cr-s7); margin-top: var(--cr-s8); align-items: end; }\n.cr-answer { font-size: var(--cr-fs-lead); line-height: 1.6; margin: 0; max-width: 54ch; color: var(--cr-cream); }\n.cr-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cr-line-dark); margin: 0; }\n.cr-specs div { padding: var(--cr-s4) var(--cr-s4) 0 0; }\n.cr-specs dt { font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; color: var(--cr-lime); }\n.cr-specs dd { margin: var(--cr-s2) 0 0; font-weight: 500; }\n\/* 05.4 Scroll cue *\/\n.cr-scroll { position: absolute; left: 50%; bottom: var(--cr-s5); transform: translateX(-50%); width: 48px; height: 64px; display: flex; align-items: center; justify-content: center; color: var(--cr-cream); }\n.cr-scroll__mouse { width: 26px; height: 40px; border: 2px solid rgba(255, 255, 255,.85); border-radius: 14px; position: relative; }\n.cr-scroll__wheel { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--cr-lime); }\n\n\/* Hero: display size inside heroes (moderate, max ~100px) *\/\n.cr-hero .cr-display { font-size: clamp(2.25rem, 1rem + 5.2vw, 6.25rem); line-height: .95; }\n\n\/* Hero variant: centered content *\/\n.cr-hero--center { align-items: center; text-align: center; }\n.cr-hero--center::before { background: linear-gradient(180deg, rgba(16, 26, 66,.55) 0%, rgba(16, 26, 66,.66) 50%, rgba(16, 26, 66,.82) 100%); }\n.cr-hero--center .cr-hero__inner { padding-top: var(--cr-s10); padding-bottom: calc(var(--cr-s10) + var(--cr-s5)); }\n.cr-hero--center .cr-hero__top { justify-content: center; }\n.cr-hero--center .cr-crumbs ol { justify-content: center; }\n.cr-hero--center .cr-display { margin-left: auto; margin-right: auto; }\n.cr-hero--center .cr-hero__foot { grid-template-columns: 1fr; justify-items: center; gap: var(--cr-s6); margin-top: var(--cr-s7); }\n.cr-hero--center .cr-answer { margin: 0 auto; max-width: 62ch; }\n.cr-hero--center .cr-specs { width: min(100%, 760px); }\n.cr-hero--center .cr-specs div { padding: var(--cr-s4) var(--cr-s3) 0; }\n\n\/* 05.5 Sub navigation (in-page) *\/\n.cr-subnav { position: sticky; top: var(--cr-sticky-offset, 0px); z-index: 30; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px) saturate(1.2); border-bottom: 1px solid var(--cr-line); }\n.cr-subnav ol { list-style: none; margin: 0 auto; padding: 0 var(--cr-gutter); max-width: var(--cr-container); display: flex; gap: var(--cr-s6); overflow-x: auto; scrollbar-width: none; }\n.cr-subnav ol::-webkit-scrollbar { display: none; }\n.cr-subnav a { position: relative; display: inline-flex; align-items: center; gap: var(--cr-s2); min-height: 56px; white-space: nowrap; text-decoration: none; font-size: var(--cr-fs-small); font-weight: 500; color: var(--cr-ink-70); transition: color var(--cr-t-fast) var(--cr-ease); }\n.cr-subnav a span { font-size: var(--cr-fs-label); letter-spacing: .1em; }\n.cr-subnav a::after { content: \"\"; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--cr-green); transform: scaleX(0); transform-origin: left; transition: transform var(--cr-t-med) var(--cr-ease); }\n.cr-subnav a:hover, .cr-subnav a[aria-current=\"true\"] { color: var(--cr-ink); }\n.cr-subnav a[aria-current=\"true\"]::after { transform: scaleX(1); }\n.cr-progress { position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--cr-lime); transform-origin: left; transform: scaleX(0); }\n\n\/* 05.6 Figures (official images, parallax inside frame) *\/\n.cr-figure { margin: var(--cr-s8) 0 0; }\n.cr-figure__frame { position: relative; overflow: hidden; border-radius: var(--cr-r-card); background: var(--cr-peach); }\n.cr-figure__frame img { width: 100%; height: 118%; object-fit: cover; will-change: transform; transition: scale 1.2s var(--cr-ease); }\n.cr-figure--wide .cr-figure__frame { aspect-ratio: 21 \/ 9; }\n.cr-figure--banner .cr-figure__frame { aspect-ratio: 1024 \/ 328; background: var(--cr-cream); }\n.cr-figure--split .cr-figure__frame { aspect-ratio: 16 \/ 7; }\n.cr-figure__cap { display: flex; gap: var(--cr-s4); align-items: center; margin-top: var(--cr-s3); font-size: var(--cr-fs-small); color: var(--cr-ink-70); }\n.cr-figure__cap .cr-label { color: var(--cr-green-text); }\n.cr-peach .cr-figure__cap .cr-label { color: var(--cr-ink); } \/* green on peach < 4.5:1 *\/\n@media (hover: hover) { .cr-figure:hover .cr-figure__frame img { scale: 1.04; } }\n\n\/* =========================================================\n   06  SECTIONS (shared blocks)\n   ========================================================= *\/\n\/* Section head: label + H2 left, intro right *\/\n.cr-head { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--cr-s7); align-items: start; }\n.cr-dark .cr-label, .cr-green-bg .cr-label { color: var(--cr-lime); }\n.cr-green-bg .cr-label { color: var(--cr-cream); }\n\n\/* =========================================================\n   07  PAGES\n   ========================================================= *\/\n\n\/* ---------------------------------------------------------\n   07.1 ABOUT US  (\/about-us\/) \u2014 APPROVED v1.3\n   --------------------------------------------------------- *\/\n\/* Who we are *\/\n.cr-quote { font-size: var(--cr-fs-quote); line-height: 1.04; letter-spacing: -0.04em; font-weight: 200; font-style: italic; margin: 0; color: var(--cr-green-text); }\n.cr-quote strong { font-weight: 700; font-style: normal; color: var(--cr-ink); }\n.cr-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--cr-s8) 0 0; border-top: 1px solid var(--cr-line); }\n.cr-facts div { padding: var(--cr-s5) var(--cr-s5) 0 0; border-right: 1px solid var(--cr-line); }\n.cr-facts div:last-child { border-right: 0; padding-left: var(--cr-s5); }\n.cr-facts div:nth-child(2) { padding-left: var(--cr-s5); }\n.cr-facts dt { font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; color: var(--cr-ink-70); }\n.cr-facts dd { margin: var(--cr-s3) 0 0; font-size: var(--cr-fs-h3); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; }\n.cr-facts dd small { display: block; font-size: var(--cr-fs-small); font-weight: 400; letter-spacing: 0; color: var(--cr-ink-70); margin-top: var(--cr-s2); }\n\n\/* What we do *\/\n.cr-tags { list-style: none; margin: var(--cr-s6) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--cr-s2); }\n.cr-tags li { padding: 10px 18px; border: 1px solid var(--cr-ink); border-radius: var(--cr-r-pill); font-weight: 500; font-size: var(--cr-fs-small); transition: background-color var(--cr-t-med) var(--cr-ease), color var(--cr-t-med) var(--cr-ease); }\n@media (hover: hover) { .cr-tags li:hover { background: var(--cr-ink); color: var(--cr-cream); } }\n.cr-chain { list-style: none; margin: var(--cr-s9) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; }\n.cr-chain::before { content: \"\"; position: absolute; left: 0; right: 0; top: 11px; height: 1px; background: var(--cr-ink); transform-origin: left; transform: scaleX(var(--cr-draw, 1)); transition: transform 1.4s var(--cr-ease-io); }\n.cr-chain li { position: relative; padding-right: var(--cr-s4); }\n.cr-chain__dot { display: block; width: 23px; height: 23px; border-radius: 50%; background: var(--cr-peach); border: 1.5px solid var(--cr-ink); position: relative; transition: background-color var(--cr-t-med) var(--cr-ease), transform var(--cr-t-slow) var(--cr-ease); }\n.cr-chain__dot::after { content: \"\"; position: absolute; inset: 5px; border-radius: 50%; background: var(--cr-green); }\n.cr-chain li:hover .cr-chain__dot { transform: scale(1.15); background: var(--cr-lime); }\n.cr-chain__n { display: block; margin-top: var(--cr-s5); font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); font-weight: 500; color: var(--cr-ink-70); }\n.cr-chain__t { display: block; margin-top: var(--cr-s2); font-size: var(--cr-fs-h3); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }\n.cr-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cr-s5); margin-top: var(--cr-s9); }\n.cr-channel { background: var(--cr-cream); border-radius: var(--cr-r-card); padding: var(--cr-s6); display: flex; gap: var(--cr-s5); align-items: flex-start; transition: transform 700ms var(--cr-ease), box-shadow 700ms var(--cr-ease); }\n.cr-channel__k { font-size: clamp(2.5rem, 1.5rem + 3vw, 4rem); font-weight: 800; letter-spacing: -0.05em; line-height: .9; color: var(--cr-green-text); }\n@media (hover: hover) { .cr-channel:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -26px rgba(16, 26, 66,.5); } }\n\n\/* Platforms & brands (dark) *\/\n.cr-sub { margin-top: var(--cr-s9); }\n.cr-sub__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--cr-s4); padding-bottom: var(--cr-s5); border-bottom: 1px solid var(--cr-line-dark); }\n.cr-sub__head p { margin: 0; max-width: 48ch; }\n.cr-table { list-style: none; margin: 0; padding: 0; }\n.cr-table li { position: relative; display: grid; grid-template-columns: 80px minmax(0, 4fr) minmax(0, 6fr); gap: var(--cr-s5); align-items: baseline; padding: var(--cr-s6) 0; border-bottom: 1px solid var(--cr-line-dark); transition: background-color var(--cr-t-med) var(--cr-ease); }\n.cr-table li > * { transition: transform var(--cr-t-med) var(--cr-ease); }\n.cr-table li::before { content: \"\"; position: absolute; left: 0; top: -1px; height: 2px; width: 100%; background: var(--cr-lime); transform: scaleX(0); transform-origin: left; transition: transform 700ms var(--cr-ease); }\n.cr-table__i { font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); font-weight: 500; color: var(--cr-lime); }\n.cr-table__n { font-size: var(--cr-fs-h3); font-weight: 600; letter-spacing: -0.02em; }\n.cr-table__d { color: rgba(255, 255, 255,.86); }\n@media (hover: hover) {\n  .cr-table li:hover > * { transform: translateX(12px); }\n  .cr-table li:hover::before { transform: scaleX(1); }\n}\n\/* Product families (category column turns green when active; image swaps per product) *\/\n.cr-families { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cr-s3); }\n.cr-family { padding: var(--cr-s6) var(--cr-s6) var(--cr-s4); border: 1px solid var(--cr-line-dark); border-radius: var(--cr-r-card); transition: background-color 600ms var(--cr-ease), color 600ms var(--cr-ease); }\n.cr-family h4 { margin: 0; font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; color: var(--cr-lime); }\n.cr-family__img { margin: var(--cr-s5) 0 0; aspect-ratio: 4 \/ 3; border-radius: 14px; background: #FFFFFF; overflow: hidden; }\n.cr-family__img img { width: 100%; height: 100%; object-fit: contain; padding: var(--cr-s4); transition: opacity 450ms var(--cr-ease); }\n.cr-family__img img.is-swap { opacity: 0; }\n.cr-family ul { list-style: none; margin: var(--cr-s5) 0 0; padding: 0; }\n.cr-family li { border-bottom: 1px solid var(--cr-line-dark); }\n.cr-family a, .cr-family span.cr-plain { display: flex; justify-content: space-between; align-items: center; gap: var(--cr-s3); padding: var(--cr-s3) 0; text-decoration: none; font-size: 1.0625rem; font-weight: 500; transition: color var(--cr-t-med) var(--cr-ease); }\n.cr-family a svg { opacity: 0; transform: translateX(-8px); transition: opacity var(--cr-t-med) var(--cr-ease), transform 600ms var(--cr-ease); color: var(--cr-lime); }\n.cr-family a:hover svg, .cr-family a:focus-visible svg { opacity: 1; transform: none; }\n.cr-family a:hover { color: var(--cr-lime); }\n.cr-family .cr-note { display: block; font-size: var(--cr-fs-small); font-weight: 400; color: rgba(255, 255, 255,.86); }\n.cr-family.is-active { background: var(--cr-green); }\n.cr-family.is-active h4 { color: var(--cr-cream); }\n.cr-family.is-active li { border-bottom-color: rgba(255, 255, 255,.3); }\n.cr-family.is-active a:hover { color: var(--cr-cream); }\n.cr-family.is-active a svg { color: var(--cr-cream); }\n.cr-services { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cr-s4); }\n.cr-service { height: 100%; padding: var(--cr-s6) var(--cr-s5); border: 1px solid var(--cr-line-dark); border-radius: var(--cr-r-card); position: relative; overflow: hidden; transition: border-color 700ms var(--cr-ease), transform 700ms var(--cr-ease); }\n.cr-service::after { content: \"\"; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: var(--cr-lime); transform: scaleX(0); transform-origin: left; transition: transform 700ms var(--cr-ease); }\n.cr-service h4 { margin: var(--cr-s7) 0 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em; line-height: 1.25; }\n.cr-service p { margin: var(--cr-s3) 0 0; color: rgba(255, 255, 255,.86); font-size: 0.9375rem; }\n.cr-service__i { font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); font-weight: 500; color: var(--cr-lime); }\n@media (hover: hover) { .cr-service:hover { transform: translateY(-3px); border-color: rgba(255, 255, 255,.45); } .cr-service:hover::after { transform: scaleX(1); } }\n\n\/* Quality & compliance *\/\n.cr-quality { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cr-s5); margin-top: var(--cr-s8); }\n.cr-qcard { border-top: 1px solid var(--cr-ink); padding-top: var(--cr-s5); }\n.cr-qcard__n { display: block; font-size: clamp(4rem, 2rem + 6vw, 8rem); font-weight: 100; line-height: .9; letter-spacing: -0.06em; color: var(--cr-green-text); transform-origin: left bottom; transition: transform var(--cr-t-slow) var(--cr-ease), opacity var(--cr-t-slow) var(--cr-ease); }\n.cr-qcard h3 { margin-top: var(--cr-s5); }\n.cr-qcard p { margin: var(--cr-s3) 0 0; color: var(--cr-ink-70); }\n@media (hover: hover) { .cr-qcard:hover .cr-qcard__n { transform: translateY(-6px) scale(1.06); } }\n.cr-seal { width: 132px; height: 132px; border-radius: 50%; background: #fff; border: 1px solid var(--cr-line); display: flex; align-items: center; justify-content: center; padding: 16px; box-shadow: 0 10px 24px -18px rgba(16, 26, 66,.6); transition: transform var(--cr-t-med) var(--cr-ease); }\n.cr-seal img { width: 100%; height: auto; }\n@media (hover: hover) { .cr-seal:hover { transform: scale(1.06); } }\n\n\/* R&D + Medical affairs (green) *\/\n.cr-rd { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cr-s9); margin-top: var(--cr-s8); }\n.cr-rd__col { border-top: 1px solid var(--cr-line-dark); padding-top: var(--cr-s6); }\n.cr-rd__col .cr-lead { font-style: italic; font-weight: 300; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); line-height: 1.4; max-width: none; }\n.cr-points { list-style: none; margin: var(--cr-s6) 0 0; padding: 0; display: grid; gap: var(--cr-s4); }\n.cr-points li { display: grid; grid-template-columns: 14px 1fr; gap: var(--cr-s4); align-items: start; }\n.cr-points li::before { content: \"\"; width: 10px; height: 10px; border-radius: 50%; background: var(--cr-lime); margin-top: 9px; }\n\n\/* Locations *\/\n.cr-locs > li { min-width: 0; }\n.cr-locs { list-style: none; margin: var(--cr-s8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cr-s5); }\n.cr-loc { height: 100%; display: flex; flex-direction: column; gap: var(--cr-s5); padding: var(--cr-s6); background: var(--cr-peach); border-radius: var(--cr-r-card); position: relative; overflow: hidden; transition: transform 700ms var(--cr-ease), background-color 700ms var(--cr-ease); }\n.cr-loc__country { font-size: clamp(2.5rem, 1.5rem + 3.2vw, 4.5rem); font-weight: 800; letter-spacing: -0.06em; line-height: .9; color: var(--cr-green-text); margin: 0; }\n.cr-loc address { font-style: normal; color: var(--cr-ink-70); }\n.cr-loc__contact { margin-top: auto; display: grid; gap: var(--cr-s2); padding-top: var(--cr-s4); border-top: 1px solid var(--cr-line); font-weight: 500; font-size: 0.9375rem; }\n.cr-loc__contact a { overflow-wrap: anywhere; text-decoration: none; border-bottom: 1px solid transparent; width: fit-content; transition: border-color var(--cr-t-fast) var(--cr-ease); }\n.cr-loc__contact a:hover { border-color: currentColor; }\n@media (hover: hover) { .cr-loc:hover { transform: translateY(-4px); } }\n\n\/* ---------------------------------------------------------\n   07.4 TEAM \u00b7 07.5 PHARMA \u00b7 07.6 SUPPLEMENTS\n   07.8 MEDIA RELEASES \u00b7 07.9 CONTACT \u00b7 07.10 HOME\n   (each page adds its own block here, reusing 05\/06 first)\n   --------------------------------------------------------- *\/\n\n\/* Shared closing CTA band (06) *\/\n.cr-cta { padding: var(--cr-s10) 0; }\n.cr-cta .cr-display { margin: 0; font-size: clamp(3rem, 1rem + 7vw, 8rem); }\n.cr-cta__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--cr-s6); margin-top: var(--cr-s7); }\n.cr-cta__row p { margin: 0; max-width: 46ch; }\n.cr-cta__actions { display: flex; flex-wrap: wrap; gap: var(--cr-s3); }\n\n\/* 05.7 Markers (pending content \/ review) *\/\n.cr-pending { display: inline-block; font-size: 0.8125rem; font-weight: 500; color: #6B3E00; background: #FFE9B8; border: 1px dashed #B97A12; border-radius: 4px; padding: 2px 8px; }\n\n\/* 05.8 Cursor follower (decorative, pointer devices) *\/\n.cr-cursor { position: fixed; left: 0; top: 0; width: 36px; height: 36px; margin: -18px 0 0 -18px; border: 1.5px solid var(--cr-green); border-radius: 50%; pointer-events: none; z-index: 90; opacity: 0; transition: width 600ms var(--cr-ease), height 600ms var(--cr-ease), margin 600ms var(--cr-ease), background-color 600ms var(--cr-ease), border-color 600ms var(--cr-ease), opacity 400ms var(--cr-ease); mix-blend-mode: multiply; }\n.cr-cursor.is-on { opacity: 1; }\n.cr-cursor.is-hover { width: 72px; height: 72px; margin: -36px 0 0 -36px; background: rgba(91, 160, 68,.35); border-color: var(--cr-lime); }\n.cr-cursor.is-dark { border-color: var(--cr-lime); mix-blend-mode: normal; }\n\n\/* 05.9 Page transition *\/\n.cr-transition { position: fixed; inset: 0; z-index: 100; background: var(--cr-green); transform: scaleY(0); transform-origin: bottom; pointer-events: none; }\n.cr-transition.is-enter { animation: cr-wipe-out 900ms var(--cr-ease-io) forwards; }\n.cr-transition.is-leave { transform-origin: bottom; animation: cr-wipe-in 600ms var(--cr-ease-io) forwards; }\n@keyframes cr-wipe-out { from { transform: scaleY(1); transform-origin: top; } to { transform: scaleY(0); transform-origin: top; } }\n@keyframes cr-wipe-in { from { transform: scaleY(0); } to { transform: scaleY(1); } }\n\n\/* =========================================================\n   08  MOTION SYSTEM (JS adds .cr-js on <html>)\n   ========================================================= *\/\n@media (prefers-reduced-motion: no-preference) {\n  .cr-js [data-reveal] { opacity: 0; transform: translateY(32px); transition: opacity 900ms var(--cr-ease), transform 900ms var(--cr-ease); transition-delay: var(--cr-d, 0ms); }\n  .cr-js [data-reveal].is-in { opacity: 1; transform: none; }\n  .cr-js [data-lines] .cr-ln > span { transform: translateY(105%); transition: transform 1100ms var(--cr-ease); }\n  .cr-js [data-lines] .cr-ln:nth-child(2) > span { transition-delay: 90ms; }\n  .cr-js [data-lines] .cr-ln:nth-child(3) > span { transition-delay: 180ms; }\n  .cr-js [data-lines].is-in .cr-ln > span { transform: none; }\n  .cr-js .cr-chain { --cr-draw: 0; }\n  .cr-js .cr-chain.is-in { --cr-draw: 1; }\n  .cr-scroll__wheel { animation: cr-wheel 1.6s var(--cr-ease) infinite; }\n}\n@keyframes cr-wheel { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } 70% { opacity: 1; transform: translateY(12px); } 100% { opacity: 0; transform: translateY(14px); } }\n@media (prefers-reduced-motion: reduce) {\n  .cr-page *, .cr-page *::before, .cr-page *::after { transition-duration: 0.01ms !important; animation: none !important; }\n  .cr-cursor, .cr-transition { display: none; }\n}\n\n\/* =========================================================\n   09  RESPONSIVE\n   ========================================================= *\/\n@media (max-width: 1100px) {\n  .cr-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n  .cr-hero__foot { grid-template-columns: 1fr; gap: var(--cr-s6); }\n}\n@media (max-width: 900px) {\n  .cr-section { padding: var(--cr-s9) 0; }\n  .cr-head, .cr-rd { grid-template-columns: 1fr; gap: var(--cr-s5); }\n  .cr-rd { gap: var(--cr-s7); }\n  .cr-families, .cr-quality, .cr-locs { grid-template-columns: 1fr; }\n  .cr-family { padding: var(--cr-s5); }\n  .cr-chain { grid-template-columns: 1fr; gap: var(--cr-s5); padding-left: 40px; }\n  .cr-chain::before { left: 11px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; transform-origin: top; transform: scaleY(var(--cr-draw, 1)); }\n  .cr-chain__dot { position: absolute; left: -40px; top: 4px; }\n  .cr-chain__n { margin-top: 0; }\n  .cr-channels { grid-template-columns: 1fr; }\n  .cr-table li { grid-template-columns: 48px 1fr; }\n  .cr-table__d { grid-column: 2; }\n}\n@media (max-width: 600px) {\n  .cr-figure--wide .cr-figure__frame, .cr-figure--split .cr-figure__frame { aspect-ratio: 4 \/ 3; }\n  .cr-figure--banner .cr-figure__frame { aspect-ratio: 16 \/ 9; }\n  .cr-hero__inner { padding-top: var(--cr-s10); padding-bottom: calc(var(--cr-s9) + 24px); }\n  .cr-specs, .cr-facts { grid-template-columns: 1fr; }\n  .cr-facts div, .cr-facts div:nth-child(2), .cr-facts div:last-child { border-right: 0; padding-left: 0; border-bottom: 1px solid var(--cr-line); padding-bottom: var(--cr-s4); }\n  .cr-services { grid-template-columns: 1fr; }\n  .cr-subnav ol { gap: var(--cr-s5); }\n  .cr-cta__actions, .cr-cta__actions .cr-btn { width: 100%; }\n  .cr-cta__actions .cr-btn { justify-content: space-between; }\n}\n\n\n\/* =========================================================\n   BUTTON STATES \u2014 protected against the theme guard and the\n   Elementor kit link colors (text never matches the hover fill)\n   ========================================================= *\/\n.cr-page a.cr-btn, .cr-page a.cr-btn:hover, .cr-page a.cr-btn:focus { text-decoration: none !important; }\n.cr-page a.cr-btn--primary, .cr-page a.cr-btn--primary:visited, .cr-page a.cr-btn--primary:focus, .cr-page a.cr-btn--primary:active { color: var(--cr-cream) !important; }\n.cr-page a.cr-btn--ghost, .cr-page a.cr-btn--ghost:visited, .cr-page a.cr-btn--ghost:focus, .cr-page a.cr-btn--ghost:active { color: var(--cr-cream) !important; }\n@media (hover: hover) {\n  .cr-page a.cr-btn--primary:hover { color: var(--cr-cream) !important; }\n  .cr-page a.cr-btn--ghost:hover { color: var(--cr-ink) !important; }\n}\n\n\/* PALETTE v2 \u2014 contrast fixes (white on #5BA044 is 3.1:1 \u2192 green surfaces carry navy text) *\/\n.cr-green-bg { color: var(--cr-ink); }\n.cr-green-bg .cr-muted { color: rgba(16, 26, 66, 0.86); }\n.cr-green-bg .cr-label, .cr-green-bg .cr-label__idx { color: var(--cr-ink); }\n.cr-green-bg :focus-visible { outline-color: var(--cr-ink); }\n.cr-btn--primary { color: var(--cr-ink); }\n.cr-btn--primary .cr-btn__icon { background: var(--cr-ink); color: #FFFFFF; }\n.cr-btn--primary:hover .cr-btn__icon { background: #FFFFFF; color: var(--cr-ink); }\n.cr-page a.cr-btn--primary, .cr-page a.cr-btn--primary:visited, .cr-page a.cr-btn--primary:focus, .cr-page a.cr-btn--primary:active { color: var(--cr-ink) !important; }\n@media (hover: hover) { .cr-page a.cr-btn--primary:hover { color: #FFFFFF !important; } }\n.cr-family.is-active, .cr-family.is-active h4, .cr-family.is-active a, .cr-family.is-active a:hover, .cr-family.is-active a svg, .cr-family.is-active .cr-note { color: var(--cr-ink); }\n.cr-family.is-active li { border-bottom-color: rgba(16, 26, 66, 0.25); }\n.cr-page .cr-green-bg a.cr-btn--ghost, .cr-page .cr-green-bg a.cr-btn--ghost:visited, .cr-page .cr-green-bg a.cr-btn--ghost:focus { color: var(--cr-ink) !important; border-color: var(--cr-ink) !important; }\n.cr-green-bg .cr-btn--ghost .cr-btn__icon { background: var(--cr-ink); color: #FFFFFF; }\n.cr-green-bg .cr-btn--ghost::before { background: var(--cr-ink); }\n@media (hover: hover) { .cr-page .cr-green-bg a.cr-btn--ghost:hover { color: #FFFFFF !important; } .cr-green-bg .cr-btn--ghost:hover .cr-btn__icon { background: #FFFFFF; color: var(--cr-ink); } }\n.cr-dark .cr-quote, .cr-dark .cr-qcard__n, .cr-dark .cr-channel__k, .cr-dark .cr-loc__country { color: var(--cr-lime); }\n\n\/* Product families: Pharma (wide, two-column list) + Dietary supplements *\/\n.cr-families--2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }\n.cr-family--wide ul { columns: 2; column-gap: var(--cr-s6); }\n.cr-family--wide li { break-inside: avoid; }\n.cr-family--wide .cr-family__img { aspect-ratio: 16 \/ 7; }\n@media (max-width: 900px) { .cr-families--2 { grid-template-columns: 1fr; } }\n@media (max-width: 600px) { .cr-family--wide ul { columns: 1; } }\n\n\/* =========================================================\n   CRASSULA PHARMACEUTICALS \u2014 social.css\n   Social Responsibility page (\/social-responsibility\/) add-on.\n   Requires about.css (base design system) loaded before it.\n   ========================================================= *\/\n\n\/* ---------------------------------------------------------\n   07.3 SOCIAL RESPONSIBILITY (\/social-responsibility\/) \u2014 v1 (pending approval)\n   --------------------------------------------------------- *\/\n\/* 01 Ethical line: numbered principles grid *\/\n.cr-principles { list-style: none; margin: var(--cr-s8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--cr-ink); }\n.cr-principles li { position: relative; padding: var(--cr-s5) var(--cr-s5) var(--cr-s6) 0; border-bottom: 1px solid var(--cr-line); }\n.cr-principles li:not(:nth-child(4n+1)) { padding-left: var(--cr-s5); border-left: 1px solid var(--cr-line); }\n.cr-principles li::after { content: \"\"; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--cr-green); transform: scaleX(0); transform-origin: left; transition: transform 700ms var(--cr-ease); }\n.cr-principles__n { display: block; font-size: clamp(2.25rem, 1.5rem + 2vw, 3.25rem); font-weight: 100; letter-spacing: -0.05em; line-height: 1; color: var(--cr-green-text); transition: transform 700ms var(--cr-ease); transform-origin: left bottom; }\n.cr-principles p { margin: var(--cr-s4) 0 0; font-weight: 500; line-height: 1.45; }\n@media (hover: hover) { .cr-principles li:hover::after { transform: scaleX(1); } .cr-principles li:hover .cr-principles__n { transform: translateY(-4px); } }\n\n\/* 02 \/ 06 Split: image + commitments *\/\n.cr-split2 { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--cr-s8); align-items: center; }\n.cr-split2--rev > :first-child { order: 2; }\n.cr-split2 .cr-figure { margin: 0; }\n.cr-split2 .cr-figure__frame { aspect-ratio: 5 \/ 4; }\n.cr-commit { list-style: none; margin: var(--cr-s6) 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--cr-line); }\n.cr-commit li { display: grid; grid-template-columns: 28px 1fr; gap: var(--cr-s4); padding: var(--cr-s4) 0; border-bottom: 1px solid var(--cr-line); align-items: start; }\n.cr-commit li::before { content: \"\"; width: 14px; height: 14px; margin-top: 6px; border-radius: 50%; border: 1.5px solid var(--cr-green); background: transparent; transition: background-color var(--cr-t-med) var(--cr-ease), transform 600ms var(--cr-ease); }\n@media (hover: hover) { .cr-commit li:hover::before { background: var(--cr-green); transform: scale(1.15); } }\n\n\/* 03 Quality & integral management (dark): single-column technical rows (extends .cr-table) *\/\n.cr-table--single li { grid-template-columns: 80px minmax(0, 1fr); }\n.cr-table--single .cr-table__n { font-weight: 300; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); letter-spacing: -0.015em; line-height: 1.3; }\n\n\/* 04 Reputation & communication: 4-step chain (extends .cr-chain) *\/\n.cr-chain--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--cr-s8); }\n.cr-chain--4 .cr-chain__t { font-size: 1.125rem; font-weight: 500; letter-spacing: 0; line-height: 1.45; max-width: 26ch; }\n\n\/* 05 CSR program (green): three program cards *\/\n.cr-programs { list-style: none; margin: var(--cr-s8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cr-s5); }\n.cr-program { height: 100%; display: flex; flex-direction: column; background: var(--cr-cream); color: var(--cr-ink); border-radius: var(--cr-r-card); overflow: hidden; transition: transform 700ms var(--cr-ease), box-shadow 700ms var(--cr-ease); }\n.cr-program__img { aspect-ratio: 4 \/ 3; overflow: hidden; background: var(--cr-peach); }\n.cr-program__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--cr-ease); }\n.cr-program__body { padding: var(--cr-s6); display: flex; flex-direction: column; gap: var(--cr-s3); flex: 1; }\n.cr-program__tag { font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; color: var(--cr-green-text); }\n.cr-program h3 { margin: 0; font-size: var(--cr-fs-h3); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; }\n.cr-program p { margin: 0; color: var(--cr-ink-70); }\n@media (hover: hover) { .cr-program:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -30px rgba(16, 26, 66,.7); } .cr-program:hover .cr-program__img img { transform: scale(1.05); } }\n\n\/* 06 Foundation callout *\/\n.cr-callout { margin-top: var(--cr-s9); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cr-s7); align-items: center; padding: var(--cr-s7); background: var(--cr-ink); color: var(--cr-cream); border-radius: var(--cr-r-card); }\n.cr-callout .cr-label { color: var(--cr-lime); }\n.cr-callout__name { margin: var(--cr-s4) 0 0; font-size: clamp(2.25rem, 1.2rem + 3.2vw, 4rem); font-weight: 200; font-style: italic; letter-spacing: -0.04em; line-height: 1; }\n.cr-callout p { margin: 0; font-size: var(--cr-fs-lead); color: rgba(255, 255, 255,.86); }\n.cr-callout .cr-figure { margin: 0; }\n.cr-callout .cr-figure__frame { aspect-ratio: 16 \/ 9; }\n.cr-callout .cr-figure__cap { color: rgba(255, 255, 255,.86); }\n.cr-callout .cr-figure__cap .cr-label { color: var(--cr-lime); }\n\n\n@media (max-width: 900px) {\n  .cr-split2, .cr-callout { grid-template-columns: 1fr; gap: var(--cr-s6); }\n  .cr-split2--rev > :first-child { order: 0; }\n  .cr-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n  .cr-principles li:not(:nth-child(4n+1)) { padding-left: 0; border-left: 0; }\n  .cr-principles li:nth-child(even) { padding-left: var(--cr-s5); border-left: 1px solid var(--cr-line); }\n  .cr-programs { grid-template-columns: 1fr; }\n  .cr-chain--4 { grid-template-columns: 1fr; }\n  .cr-callout { padding: var(--cr-s6); }\n}\n@media (max-width: 600px) {\n  .cr-principles { grid-template-columns: 1fr; }\n  .cr-principles li:nth-child(even) { padding-left: 0; border-left: 0; }\n  .cr-table--single li { grid-template-columns: 48px 1fr; }\n}\n\n<\/style>\n\n<!-- GEO \/ AIO \u00b7 datos estructurados -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@graph\":[\n {\"@type\":\"AboutPage\",\"@id\":\"https:\/\/crassulapharma.com\/social-responsibility\/#page\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/\",\"name\":\"Social Responsibility \u2014 Crassula Pharmaceuticals\",\"description\":\"Crassula advances global healthcare with innovative medicines that improve quality of life, address today\u2019s challenges, and elevate sustainability.\",\"inLanguage\":\"en\",\"about\":{\"@id\":\"https:\/\/crassulapharma.com\/#organization\"},\"breadcrumb\":{\"@id\":\"https:\/\/crassulapharma.com\/social-responsibility\/#breadcrumb\"},\n  \"hasPart\":[\n   {\"@type\":\"WebPageElement\",\"name\":\"Ethical Line\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/#ethics\"},\n   {\"@type\":\"WebPageElement\",\"name\":\"Corporate Social Responsibility Policy\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/#csr\"},\n   {\"@type\":\"WebPageElement\",\"name\":\"Quality & Integral Management Policy\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/#quality\"},\n   {\"@type\":\"WebPageElement\",\"name\":\"Corporate Reputation & Communication Policy\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/#communication\"},\n   {\"@type\":\"WebPageElement\",\"name\":\"Corporate Social Responsibility Program\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/#program\"},\n   {\"@type\":\"WebPageElement\",\"name\":\"Corporate Social Management Policy\",\"url\":\"https:\/\/crassulapharma.com\/social-responsibility\/#management\"}]},\n {\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/crassulapharma.com\/social-responsibility\/#breadcrumb\",\"itemListElement\":[\n  {\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/crassulapharma.com\/\"},\n  {\"@type\":\"ListItem\",\"position\":2,\"name\":\"Social Responsibility\",\"item\":\"https:\/\/crassulapharma.com\/social-responsibility\/\"}]},\n {\"@type\":\"Organization\",\"@id\":\"https:\/\/crassulapharma.com\/#organization\",\"name\":\"Crassula Pharmaceuticals\",\"legalName\":\"CRASSULA LLC\",\"url\":\"https:\/\/crassulapharma.com\/\",\"ethicsPolicy\":\"https:\/\/crassulapharma.com\/social-responsibility\/#ethics\",\n  \"subOrganization\":{\"@type\":\"Organization\",\"name\":\"Luz del Velador\",\"description\":\"Crassula's foundation for social work.\"},\n  \"sameAs\":[\"https:\/\/www.facebook.com\/Crassulapharmaceuticals\/\",\"https:\/\/www.linkedin.com\/company\/crassula-pharmaceuticals\",\"https:\/\/www.youtube.com\/@CrassulaPharmaceuticals\",\"https:\/\/x.com\/crassula_llc\"]}\n]}\n<\/script>\n\n<!-- Contenido -->\n<div class=\"cr-transition\" aria-hidden=\"true\"><\/div>\n\n<main id=\"content\" class=\"cr-page\" data-page=\"social\">\n\n  <!-- ===== HERO ===== -->\n  <section class=\"cr-section cr-hero cr-hero--center\" aria-labelledby=\"sr-title\" style=\"padding:0\">\n    <div class=\"cr-hero__media\" data-parallax=\"0.18\">\n      <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1582213782179-e0d53f98f2ca?auto=format&amp;fit=crop&amp;w=1920&amp;q=70\" alt=\"\" width=\"1920\" height=\"1200\" fetchpriority=\"high\" data-source=\"unsplash\" title=\"\">\n    <\/div>\n    <div class=\"cr-hero__grid\" aria-hidden=\"true\"><\/div>\n    <div class=\"cr-wrap cr-hero__inner\">\n      <div class=\"cr-hero__top\">\n        <nav class=\"cr-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"\/\">Home<\/a><\/li><li aria-current=\"page\">Social Responsibility<\/li><\/ol><\/nav>\n      <\/div>\n      <h1 class=\"cr-display\" id=\"sr-title\" data-lines>\n        <span class=\"cr-ln\"><span class=\"t-800\">Social<\/span><\/span>\n        <span class=\"cr-ln\"><span><em>Responsibility<\/em><\/span><\/span>\n      <\/h1>\n      <div class=\"cr-hero__foot\">\n        <p class=\"cr-answer\" data-reveal>Crassula contributes to global health care by developing innovative medicines that improve quality of life and help overcome today\u2019s health challenges. Its social responsibility rests on an ethical line, policies for people, quality and communication, employee programs and the Luz del Velador foundation, while it elevates its sustainability strategy.<\/p>\n      <\/div>\n    <\/div>\n    <a class=\"cr-scroll\" href=\"#ethics\" aria-label=\"Scroll to Ethical line\"><span class=\"cr-scroll__mouse\" aria-hidden=\"true\"><span class=\"cr-scroll__wheel\"><\/span><\/span><\/a>\n  <\/section>\n\n  <!-- ===== SUB NAV ===== -->\n  <nav class=\"cr-subnav\" aria-label=\"On this page\">\n    <ol>\n      <li><a href=\"#ethics\"><span>01<\/span> Ethical line<\/a><\/li>\n      <li><a href=\"#csr\"><span>02<\/span> CSR policy<\/a><\/li>\n      <li><a href=\"#quality\"><span>03<\/span> Quality &amp; integral management<\/a><\/li>\n      <li><a href=\"#communication\"><span>04<\/span> Reputation &amp; communication<\/a><\/li>\n      <li><a href=\"#program\"><span>05<\/span> CSR program<\/a><\/li>\n      <li><a href=\"#management\"><span>06<\/span> Social management<\/a><\/li>\n    <\/ol>\n    <span class=\"cr-progress\" aria-hidden=\"true\"><\/span>\n  <\/nav>\n\n  <!-- ===== 01 ETHICAL LINE ===== -->\n  <section class=\"cr-section cr-cream\" id=\"ethics\" aria-labelledby=\"s1-title\">\n    <div class=\"cr-wrap\">\n      <div class=\"cr-head\">\n        <div data-reveal>\n          <span class=\"cr-label\"><span class=\"cr-label__idx\">01<\/span><span class=\"cr-label__bar\"><\/span>Ethical line<\/span>\n          <h2 class=\"cr-h2\" id=\"s1-title\">Ethical <span class=\"t-200\"><em>line<\/em><\/span><\/h2>\n        <\/div>\n        <div>\n          <blockquote class=\"cr-quote\" data-lines>\n            <span class=\"cr-ln\"><span>Values and principles<\/span><\/span>\n            <span class=\"cr-ln\"><span><strong>guide performance.<\/strong><\/span><\/span>\n          <\/blockquote>\n          <p class=\"cr-lead cr-muted\" data-reveal>Crassula\u2019s values and principles guide performance, supported by the professional ethics of our collaborators.<\/p>\n        <\/div>\n      <\/div>\n      <ol class=\"cr-principles\" data-stagger>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">01<\/span><p>Transparency and honesty in all actions.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">02<\/span><p>An organizational culture with shared values.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">03<\/span><p>Acting with equality, freedom, assertive communication, respect and solidarity.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">04<\/span><p>Satisfying the needs of internal and external customers.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">05<\/span><p>Promoting social responsibility with visible impact.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">06<\/span><p>Minimizing internal conflicts between areas.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">07<\/span><p>Maintaining information confidentiality.<\/p><\/li>\n        <li data-reveal><span class=\"cr-principles__n\" aria-hidden=\"true\">08<\/span><p>Reporting unethical behavior to the appropriate area.<\/p><\/li>\n      <\/ol>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 02 CSR POLICY ===== -->\n  <section class=\"cr-section cr-peach\" id=\"csr\" aria-labelledby=\"s2-title\">\n    <div class=\"cr-wrap cr-split2\">\n      <figure class=\"cr-figure\" data-reveal>\n        <div class=\"cr-figure__frame\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1572021335469-31706a17aaef?auto=format&amp;fit=crop&amp;w=1200&amp;q=70\" alt=\"Colleagues smiling around a laptop at work\" width=\"1200\" height=\"960\" loading=\"lazy\" data-source=\"unsplash\" data-parallax-img title=\"\"><\/div>\n      <\/figure>\n      <div data-reveal style=\"--cr-d:120ms\">\n        <span class=\"cr-label\"><span class=\"cr-label__idx\">02<\/span><span class=\"cr-label__bar\"><\/span>CSR policy<\/span>\n        <h2 class=\"cr-h2\" id=\"s2-title\">People, community <span class=\"t-200\"><em>&amp; planet<\/em><\/span><\/h2>\n        <p class=\"cr-lead\">Our corporate social responsibility policy defines our commitment to employees, customers and the broader community: improving quality of life and protecting the environment, in line with our values.<\/p>\n        <ul class=\"cr-commit\">\n          <li>Respecting rights, fair wages and safe working conditions.<\/li>\n          <li>Promoting diversity and equal opportunities in a safe environment.<\/li>\n          <li>Supporting employees and their families with benefits and strong relations.<\/li>\n          <li>Supporting neighboring communities with sustainable programs.<\/li>\n          <li>Facilitating health initiatives, such as PCR testing for medical personnel and their families.<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 03 QUALITY & INTEGRAL MANAGEMENT ===== -->\n  <section class=\"cr-section cr-dark\" id=\"quality\" aria-labelledby=\"s3-title\">\n    <div class=\"cr-wrap\">\n      <div class=\"cr-head\">\n        <div data-reveal>\n          <span class=\"cr-label\"><span class=\"cr-label__idx\">03<\/span><span class=\"cr-label__bar\"><\/span>Quality &amp; integral management<\/span>\n          <h2 class=\"cr-h2\" id=\"s3-title\">Quality <span class=\"t-200\"><em>&amp; integral management<\/em><\/span><\/h2>\n        <\/div>\n        <p class=\"cr-lead cr-muted\" data-reveal style=\"--cr-d:120ms;margin-top:0\">We improve health by offering high-quality, effective medicines with excellent service. We commit to:<\/p>\n      <\/div>\n      <ol class=\"cr-table cr-table--single\" style=\"margin-top:48px\">\n        <li data-reveal><span class=\"cr-table__i\">01<\/span><span class=\"cr-table__n\">Providing decent, safe working conditions.<\/span><\/li>\n        <li data-reveal><span class=\"cr-table__i\">02<\/span><span class=\"cr-table__n\">Guaranteeing the quality and reliability of our products and services.<\/span><\/li>\n        <li data-reveal><span class=\"cr-table__i\">03<\/span><span class=\"cr-table__n\">Using resources rationally to help mitigate climate change.<\/span><\/li>\n        <li data-reveal><span class=\"cr-table__i\">04<\/span><span class=\"cr-table__n\">Meeting needs and complying with legal, regulatory and stakeholder requirements.<\/span><\/li>\n        <li data-reveal><span class=\"cr-table__i\">05<\/span><span class=\"cr-table__n\">Maintaining information security and confidentiality.<\/span><\/li>\n      <\/ol>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 04 REPUTATION & COMMUNICATION ===== -->\n  <section class=\"cr-section cr-cream\" id=\"communication\" aria-labelledby=\"s4-title\">\n    <div class=\"cr-wrap\">\n      <div class=\"cr-head\">\n        <div data-reveal>\n          <span class=\"cr-label\"><span class=\"cr-label__idx\">04<\/span><span class=\"cr-label__bar\"><\/span>Reputation &amp; communication<\/span>\n          <h2 class=\"cr-h2\" id=\"s4-title\">Honest, transparent, <span class=\"t-200\"><em>coherent<\/em><\/span><\/h2>\n        <\/div>\n        <p class=\"cr-lead cr-muted\" data-reveal style=\"--cr-d:120ms;margin-top:0\">We communicate to promote and protect Crassula\u2019s reputation honestly, transparently and coherently, inside and outside the organization. We will:<\/p>\n      <\/div>\n      <ol class=\"cr-chain cr-chain--4\" aria-label=\"Communication commitments\">\n        <li><span class=\"cr-chain__dot\" aria-hidden=\"true\"><\/span><span class=\"cr-chain__n\">01<\/span><span class=\"cr-chain__t\">Preserve and promote our image with planned, integrated communications.<\/span><\/li>\n        <li><span class=\"cr-chain__dot\" aria-hidden=\"true\"><\/span><span class=\"cr-chain__n\">02<\/span><span class=\"cr-chain__t\">Plan short-, mid- and long-term actions across efficient channels.<\/span><\/li>\n        <li><span class=\"cr-chain__dot\" aria-hidden=\"true\"><\/span><span class=\"cr-chain__n\">03<\/span><span class=\"cr-chain__t\">Strengthen internal culture with training in assertive communication.<\/span><\/li>\n        <li><span class=\"cr-chain__dot\" aria-hidden=\"true\"><\/span><span class=\"cr-chain__n\">04<\/span><span class=\"cr-chain__t\">Continuously improve techniques to face new communication challenges.<\/span><\/li>\n      <\/ol>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 05 CSR PROGRAM ===== -->\n  <section class=\"cr-section cr-green-bg\" id=\"program\" aria-labelledby=\"s5-title\">\n    <div class=\"cr-wrap\">\n      <div class=\"cr-head\">\n        <div data-reveal>\n          <span class=\"cr-label\"><span class=\"cr-label__idx\">05<\/span><span class=\"cr-label__bar\"><\/span>CSR program<\/span>\n          <h2 class=\"cr-h2\" id=\"s5-title\">Programs <span class=\"t-200\"><em>for our people<\/em><\/span><\/h2>\n        <\/div>\n        <p class=\"cr-lead\" data-reveal style=\"--cr-d:120ms;margin-top:0\">We contribute to social programs so our employees feel proud to belong to a company focused on improving lives.<\/p>\n      <\/div>\n      <ul class=\"cr-programs\" data-stagger>\n        <li data-reveal><article class=\"cr-program\">\n          <div class=\"cr-program__img\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1560220604-1985ebfe28b1?auto=format&amp;fit=crop&amp;w=800&amp;q=70\" alt=\"Volunteers in yellow shirts\" width=\"800\" height=\"600\" loading=\"lazy\" data-source=\"unsplash\" title=\"\"><\/div>\n          <div class=\"cr-program__body\"><span class=\"cr-program__tag\">Program 01<\/span><h3>Angel Volunteers<\/h3><p>Community solidarity and open collaboration on planned activities.<\/p><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-program\">\n          <div class=\"cr-program__img\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1607962837359-5e7e89f86776?auto=format&amp;fit=crop&amp;w=800&amp;q=70\" alt=\"Man running outdoors\" width=\"800\" height=\"600\" loading=\"lazy\" data-source=\"unsplash\" title=\"\"><\/div>\n          <div class=\"cr-program__body\"><span class=\"cr-program__tag\">Program 02<\/span><h3>Healthy Living<\/h3><p>Guidance and plans for healthier lifestyles, plus extracurricular physical activities.<\/p><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-program\">\n          <div class=\"cr-program__img\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1758691462878-6edc3d3da1be?auto=format&amp;fit=crop&amp;w=800&amp;q=70\" alt=\"Doctor consulting with a patient\" width=\"800\" height=\"600\" loading=\"lazy\" data-source=\"unsplash\" title=\"\"><\/div>\n          <div class=\"cr-program__body\"><span class=\"cr-program__tag\">Program 03<\/span><h3>Protect Your Health<\/h3><p>Promotion and prevention initiatives that support emotional, physical and social well-being.<\/p><\/div>\n        <\/article><\/li>\n      <\/ul>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 06 SOCIAL MANAGEMENT ===== -->\n  <section class=\"cr-section cr-peach\" id=\"management\" aria-labelledby=\"s6-title\">\n    <div class=\"cr-wrap\">\n      <div class=\"cr-split2 cr-split2--rev\">\n        <figure class=\"cr-figure\" data-reveal>\n          <div class=\"cr-figure__frame\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1542323228-002ac256e7b8?auto=format&amp;fit=crop&amp;w=1200&amp;q=70\" alt=\"People joining hands in a circle\" width=\"1200\" height=\"960\" loading=\"lazy\" data-source=\"unsplash\" data-parallax-img title=\"\"><\/div>\n        <\/figure>\n        <div data-reveal style=\"--cr-d:120ms\">\n          <span class=\"cr-label\"><span class=\"cr-label__idx\">06<\/span><span class=\"cr-label__bar\"><\/span>Social management<\/span>\n          <h2 class=\"cr-h2\" id=\"s6-title\">Social <span class=\"t-200\"><em>commitment<\/em><\/span><\/h2>\n          <p class=\"cr-lead\">We promote an organizational social commitment aligned with our values, providing:<\/p>\n          <ul class=\"cr-commit\">\n            <li>Respect for diversity and equal opportunities.<\/li>\n            <li>Assertive, constructive communication that impacts the community.<\/li>\n            <li>Stronger social work through our foundation, Luz del Velador.<\/li>\n            <li>Sustainable working conditions that enable our mission.<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n      <div class=\"cr-callout\" data-reveal>\n        <div>\n          <span class=\"cr-label\">Our foundation<\/span>\n          <p class=\"cr-callout__name\">Luz del Velador<\/p>\n        <\/div>\n        <p>Crassula strengthens its social work through its own foundation, Luz del Velador.<\/p>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== CLOSING ===== -->\n  <section class=\"cr-section cr-cta cr-closing cr-dark\" aria-labelledby=\"sc-title\">\n    <div class=\"cr-wrap\">\n      <span class=\"cr-label\" data-reveal>Crassula Pharmaceuticals<\/span>\n      <h2 class=\"cr-display\" id=\"sc-title\" data-lines style=\"margin-top:24px\">\n        <span class=\"cr-ln\"><span>Social responsibility is at the heart<\/span><\/span>\n        <span class=\"cr-ln\"><span class=\"t-800\">of our science and our people.<\/span><\/span>\n      <\/h2>\n      <div class=\"cr-cta__row\">\n        <p class=\"cr-muted cr-lead\" data-reveal style=\"margin:0\">Near-term, we\u2019re elevating our sustainability strategy as part of our responsibility to the planet.<\/p>\n        <div class=\"cr-cta__actions\" data-reveal style=\"--cr-d:120ms\">\n          <a class=\"cr-btn cr-btn--primary\" href=\"\/contact\/\">Contact us <span class=\"cr-btn__icon\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/a>\n          <a class=\"cr-btn cr-btn--ghost\" href=\"\/about-us\/\">About Crassula <span class=\"cr-btn__icon\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/main>\n\n<!-- JS de la p\u00e1gina (main.js) -->\n<script>\n\/* =========================================================\n   CRASSULA PHARMACEUTICALS \u2014 main.js\n   Single script for every page (vanilla, loaded with defer).\n   Rule: animations only change transform\/opacity of content that\n   already exists in the HTML. No content is injected with JS.\n\n   CONTENTS\n   01  Core (flags + module runner)\n   02  Global modules (run on every page; skip if markup is absent)\n       reveal \u00b7 subnav \u00b7 heroParallax \u00b7 figureParallax \u00b7 heroVideo \u00b7 hscroll \u00b7 dialogs \u00b7 countUp \u00b7 cursor \u00b7 pageTransition\n   03  Shared section modules\n       productFamilies\n   04  Page modules (keyed by data-page=\"\u2026\" on <body> or <main>)\n       about \u00b7 facilities \u00b7 social \u00b7 team \u00b7 pharma \u00b7 supplements\n       media \u00b7 contact \u00b7 home\n   05  Boot\n   ========================================================= *\/\n(function () {\n  'use strict';\n\n  \/* ---------- 01 CORE ---------- *\/\n  var html = document.documentElement;\n  var RM = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var FINE = window.matchMedia('(hover: hover) and (pointer: fine)').matches;\n  var HAS_IO = 'IntersectionObserver' in window;\n  var $ = function (sel, ctx) { return (ctx || document).querySelector(sel); };\n  var $$ = function (sel, ctx) { return [].slice.call((ctx || document).querySelectorAll(sel)); };\n  var onScroll = function (fn) {\n    var ticking = false;\n    window.addEventListener('scroll', function () {\n      if (ticking) return; ticking = true;\n      requestAnimationFrame(function () { fn(); ticking = false; });\n    }, { passive: true });\n    fn();\n  };\n  html.classList.add('cr-js');\n\n  \/* ---------- 02 GLOBAL MODULES ---------- *\/\n  var Global = {\n\n    \/* Reveal on scroll: [data-reveal], [data-lines], .cr-chain; [data-stagger] staggers children *\/\n    reveal: function () {\n      var els = $$('[data-reveal], [data-lines], .cr-chain');\n      if (!els.length) return;\n      if (RM || !HAS_IO) { els.forEach(function (el) { el.classList.add('is-in'); }); return; }\n      $$('[data-stagger]').forEach(function (group) {\n        [].slice.call(group.children).forEach(function (c, i) { c.style.setProperty('--cr-d', (i * 90) + 'ms'); });\n      });\n      var io = new IntersectionObserver(function (entries) {\n        entries.forEach(function (e) { if (e.isIntersecting) { e.target.classList.add('is-in'); io.unobserve(e.target); } });\n      }, { rootMargin: '0px 0px -10% 0px', threshold: 0.05 });\n      els.forEach(function (el) { io.observe(el); });\n    },\n\n    \/* Sticky in-page navigation: active section + reading progress *\/\n    subnav: function () {\n      var nav = $('.cr-subnav'); if (!nav) return;\n      var links = $$('a[href^=\"#\"]', nav), list = $('ol', nav), bar = $('.cr-progress', nav), map = {};\n      links.forEach(function (a) { map[a.getAttribute('href').slice(1)] = a; });\n      if (HAS_IO) {\n        var io = new IntersectionObserver(function (entries) {\n          entries.forEach(function (e) {\n            if (!e.isIntersecting) return;\n            links.forEach(function (a) { a.removeAttribute('aria-current'); });\n            var a = map[e.target.id]; if (!a) return;\n            a.setAttribute('aria-current', 'true');\n            list.scrollTo({ left: a.offsetLeft - (list.clientWidth - a.offsetWidth) \/ 2, behavior: RM ? 'auto' : 'smooth' });\n          });\n        }, { rootMargin: '-35% 0px -60% 0px' });\n        Object.keys(map).forEach(function (id) { var s = document.getElementById(id); if (s) io.observe(s); });\n      }\n      if (bar) {\n        var main = $('main');\n        onScroll(function () {\n          var r = main.getBoundingClientRect(), h = r.height - window.innerHeight;\n          bar.style.transform = 'scaleX(' + Math.min(1, Math.max(0, -r.top \/ (h || 1))).toFixed(3) + ')';\n        });\n      }\n    },\n\n    \/* Hero background parallax: [data-parallax=\"speed\"] *\/\n    heroParallax: function () {\n      var els = $$('[data-parallax]'); if (!els.length || RM) return;\n      onScroll(function () {\n        els.forEach(function (el) {\n          var speed = parseFloat(el.getAttribute('data-parallax')) || 0.2;\n          var r = el.parentElement.getBoundingClientRect();\n          if (r.bottom > 0 && r.top < window.innerHeight) el.style.transform = 'translate3d(0,' + (-r.top * speed).toFixed(1) + 'px,0)';\n        });\n      });\n    },\n\n    \/* Image parallax inside framed figures: img[data-parallax-img] *\/\n    figureParallax: function () {\n      var imgs = $$('[data-parallax-img]'); if (!imgs.length || RM) return;\n      onScroll(function () {\n        var vh = window.innerHeight;\n        imgs.forEach(function (img) {\n          var r = img.parentElement.getBoundingClientRect();\n          if (r.bottom < 0 || r.top > vh) return;\n          var p = (r.top + r.height \/ 2 - vh \/ 2) \/ vh;\n          img.style.transform = 'translate3d(0,' + (-8 + p * -8).toFixed(2) + '%,0)';\n        });\n      });\n    },\n\n    \/* Hero background video (YouTube): loads only when motion is allowed; pause\/play control (WCAG 2.2.2) *\/\n    heroVideo: function () {\n      var box = $('.cr-hero__video[data-yt]'); if (!box) return;\n      var btn = $('.cr-hero__toggle');\n      if (RM) return; \/* poster image only *\/\n      var id = box.getAttribute('data-yt');\n      var f = document.createElement('iframe');\n      f.src = 'https:\/\/www.youtube-nocookie.com\/embed\/' + id + '?autoplay=1&mute=1&loop=1&playlist=' + id + '&controls=0&rel=0&modestbranding=1&playsinline=1&enablejsapi=1';\n      f.title = box.getAttribute('data-title') || 'Background video';\n      f.setAttribute('allow', 'autoplay; encrypted-media; picture-in-picture');\n      f.setAttribute('tabindex', '-1'); f.setAttribute('aria-hidden', 'true');\n      f.addEventListener('load', function () { setTimeout(function () { box.classList.add('is-ready'); }, 600); });\n      box.appendChild(f);\n      if (!btn) return;\n      btn.hidden = false;\n      var playing = true;\n      btn.addEventListener('click', function () {\n        playing = !playing;\n        f.contentWindow.postMessage(JSON.stringify({ event: 'command', func: playing ? 'playVideo' : 'pauseVideo', args: [] }), '*');\n        btn.setAttribute('aria-pressed', String(!playing));\n        btn.setAttribute('aria-label', playing ? 'Pause background video' : 'Play background video');\n        var ico = $('.cr-ico', btn); ico.setAttribute('d', playing ? 'M8 5v14M16 5v14' : 'M8 5l11 7-11 7z'); ico.setAttribute('fill', playing ? 'none' : 'currentColor');\n      });\n    },\n\n    \/* Horizontal sequence pinned on scroll: section[data-hscroll] (vertical grid on small screens \/ reduced motion) *\/\n    hscroll: function () {\n      $$('[data-hscroll]').forEach(function (root) {\n        var sec = $('.cr-hs__pin', root) || root;\n        var track = $('.cr-hs__track', root), meter = $('.cr-hs__meter span', root);\n        if (!track) return;\n        var mq = window.matchMedia('(min-width: 901px)');\n        var dist = 0;\n        var setup = function () {\n          if (RM || !mq.matches || window.innerHeight < 560) { root.classList.add('cr-hs--static'); sec.style.height = ''; track.style.transform = ''; dist = 0; return; }\n          root.classList.remove('cr-hs--static');\n          dist = Math.max(0, track.scrollWidth - window.innerWidth);\n          sec.style.height = (window.innerHeight + dist) + 'px';\n        };\n        var upd = function () {\n          if (!dist) return;\n          var r = sec.getBoundingClientRect();\n          var p = Math.min(1, Math.max(0, -r.top \/ dist));\n          track.style.transform = 'translate3d(' + (-p * dist).toFixed(1) + 'px,0,0)';\n          if (meter) meter.style.transform = 'scaleX(' + p.toFixed(3) + ')';\n        };\n        setup(); onScroll(upd);\n        window.addEventListener('resize', function () { setup(); upd(); });\n        window.addEventListener('load', function () { setup(); upd(); });\n      });\n    },\n\n    \/* Dialogs: [data-dialog-open=\"id\"] opens <dialog id>; close button, Esc and backdrop click close it *\/\n    dialogs: function () {\n      $$('[data-dialog-open]').forEach(function (btn) {\n        var dlg = document.getElementById(btn.getAttribute('data-dialog-open'));\n        if (!dlg || typeof dlg.showModal !== 'function') return;\n        btn.addEventListener('click', function () { dlg.showModal(); html.style.overflow = 'hidden'; });\n        dlg.addEventListener('close', function () { html.style.overflow = ''; btn.focus(); });\n        dlg.addEventListener('click', function (e) { if (e.target === dlg) dlg.close(); });\n        $$('[data-dialog-close]', dlg).forEach(function (x) { x.addEventListener('click', function () { dlg.close(); }); });\n      });\n    },\n\n    \/* Count-up figures: [data-count=\"N\"] (text already in the HTML; animates from 0 when visible) *\/\n    countUp: function () {\n      var els = $$('[data-count]'); if (!els.length || RM || !HAS_IO) return;\n      var io = new IntersectionObserver(function (entries) {\n        entries.forEach(function (e) {\n          if (!e.isIntersecting) return; io.unobserve(e.target);\n          var el = e.target, to = +el.getAttribute('data-count'), t0 = performance.now();\n          (function step(t) { var p = Math.min(1, (t - t0) \/ 1100); el.textContent = Math.round(to * (1 - Math.pow(1 - p, 3))).toLocaleString('en-US'); if (p < 1) requestAnimationFrame(step); })(t0);\n        });\n      }, { threshold: 0.6 });\n      els.forEach(function (el) { io.observe(el); });\n    },\n\n    \/* Cursor follower ring (decorative; native cursor stays visible) *\/\n    cursor: function () {\n      if (RM || !FINE) return;\n      var c = document.createElement('div'); c.className = 'cr-cursor'; c.setAttribute('aria-hidden', 'true'); document.body.appendChild(c);\n      var x = 0, y = 0, cx = 0, cy = 0;\n      document.addEventListener('mousemove', function (e) { x = e.clientX; y = e.clientY; c.classList.add('is-on'); });\n      document.addEventListener('mouseleave', function () { c.classList.remove('is-on'); });\n      (function loop() { cx += (x - cx) * 0.2; cy += (y - cy) * 0.2; c.style.transform = 'translate3d(' + cx + 'px,' + cy + 'px,0)'; requestAnimationFrame(loop); })();\n      document.addEventListener('mouseover', function (e) {\n        c.classList.toggle('is-hover', !!e.target.closest('a, button, [data-cursor]'));\n        c.classList.toggle('is-dark', !!e.target.closest('.cr-dark, .cr-green-bg, .cr-hero'));\n      });\n    },\n\n    \/* Page transitions (no SPA): wipe in on internal navigation, wipe out on load *\/\n    pageTransition: function () {\n      var tr = $('.cr-transition'); if (!tr || RM) return;\n      tr.classList.add('is-enter');\n      document.addEventListener('click', function (e) {\n        var a = e.target.closest('a[href]'); if (!a) return;\n        var href = a.getAttribute('href');\n        if (!href || href.charAt(0) === '#' || a.target === '_blank' || e.metaKey || e.ctrlKey || e.shiftKey || \/^(mailto:|tel:)\/.test(href)) return;\n        var url = new URL(a.href, location.href); if (url.origin !== location.origin) return;\n        e.preventDefault();\n        tr.classList.remove('is-enter'); tr.classList.add('is-leave');\n        setTimeout(function () { location.href = url.href; }, 560);\n      });\n      window.addEventListener('pageshow', function (ev) { if (ev.persisted) { tr.classList.remove('is-leave'); tr.classList.add('is-enter'); } });\n    }\n  };\n\n  \/* ---------- 03 SHARED SECTION MODULES ---------- *\/\n  var Sections = {\n\n    \/* Product families: active column + product image swap on hover\/focus *\/\n    productFamilies: function () {\n      var fams = $$('.cr-family'); if (!fams.length) return;\n      fams.forEach(function (fam) {\n        var target = $('.cr-family__img img', fam);\n        var activate = function () { fams.forEach(function (f) { f.classList.toggle('is-active', f === fam); }); };\n        fam.addEventListener('mouseenter', activate);\n        fam.addEventListener('focusin', activate);\n        if (!target) return;\n        var show = function (a) {\n          var src = a.getAttribute('data-img'); if (!src || target.getAttribute('src') === src) return;\n          if (RM) { target.src = src; target.alt = a.getAttribute('data-alt'); return; }\n          target.classList.add('is-swap');\n          setTimeout(function () {\n            target.src = src; target.alt = a.getAttribute('data-alt');\n            target.onload = function () { target.classList.remove('is-swap'); };\n            setTimeout(function () { target.classList.remove('is-swap'); }, 400);\n          }, 300);\n        };\n        $$('a[data-img]', fam).forEach(function (a) {\n          a.addEventListener('mouseenter', function () { show(a); });\n          a.addEventListener('focus', function () { show(a); });\n        });\n      });\n    }\n  };\n\n  \/* ---------- 04 PAGE MODULES ([data-page] on <body> or <main>) ---------- *\/\n  var Pages = {\n    about: function () { \/* About Us \u2014 APPROVED v1.3: uses Global + Sections.productFamilies only *\/ },\n    facilities: function () { \/* Facilities \u2014 v1: uses Global.heroVideo + Global.hscroll *\/ },\n    social: function () { \/* Social Responsibility \u2014 v1: Global modules only *\/ },\n    team: function () { \/* Team \u2014 v1: uses Global.dialogs for bios *\/ },\n    pharma: function () { \/* Pharma \u2014 uses Global modules (subnav, countUp, reveal) *\/ },\n    supplements: function () { \/* Supplements \u2014 uses Global modules *\/ },\n    \/* Media Releases: category filter (shows\/hides releases already in the HTML) *\/\n    media: function () {\n      var btns = $$('.cr-filter'); if (!btns.length) return;\n      var rels = $$('.cr-rel'), years = $$('.cr-year');\n      btns.forEach(function (b) {\n        b.addEventListener('click', function () {\n          var cat = b.getAttribute('data-filter');\n          btns.forEach(function (x) { x.setAttribute('aria-pressed', String(x === b)); });\n          rels.forEach(function (r) { r.hidden = !(cat === 'all' || r.getAttribute('data-cat') === cat); });\n          years.forEach(function (y) { y.hidden = !$$('.cr-rel:not([hidden])', y).length; });\n        });\n      });\n    },\n    \/* Contact: route cards preset the form topic; copy-address buttons; visual-only form (no backend) *\/\n    contact: function () {\n      var form = $('#contact-form'), topic = $('#cf-topic'), status = $('.cr-form__status');\n      $$('[data-topic]').forEach(function (b) {\n        b.addEventListener('click', function () {\n          if (topic) topic.value = b.getAttribute('data-topic');\n          var target = $('#form'); if (target) target.scrollIntoView({ behavior: RM ? 'auto' : 'smooth' });\n          setTimeout(function () { var f = $('#cf-first'); if (f) f.focus({ preventScroll: true }); }, RM ? 0 : 700);\n        });\n      });\n      $$('[data-copy]').forEach(function (b) {\n        b.addEventListener('click', function () {\n          var txt = b.getAttribute('data-copy'), label = b.textContent;\n          var done = function () { b.textContent = 'Copied'; setTimeout(function () { b.textContent = label; }, 1800); };\n          if (navigator.clipboard) navigator.clipboard.writeText(txt).then(done, done); else done();\n        });\n      });\n      if (form) form.addEventListener('submit', function (e) {\n        if (form.getAttribute('data-handler') === 'none') { e.preventDefault(); if (status) status.hidden = false; }\n      });\n    },\n    \/* Home: business-area panels expand on hover\/focus\/click (content already in the HTML) *\/\n    home: function () {\n      var areas = $$('.cr-area'); if (!areas.length) return;\n      var open = function (a) { areas.forEach(function (x) { var on = x === a; x.classList.toggle('is-open', on); var b = $('.cr-area__toggle', x); if (b) b.setAttribute('aria-expanded', String(on)); }); };\n      areas.forEach(function (a) {\n        a.addEventListener('mouseenter', function () { open(a); });\n        a.addEventListener('focusin', function () { open(a); });\n        var b = $('.cr-area__toggle', a); if (b) b.addEventListener('click', function () { open(a); });\n      });\n    }\n  };\n\n  \/* ---------- 05 BOOT ---------- *\/\n  Object.keys(Global).forEach(function (k) { Global[k](); });\n  Object.keys(Sections).forEach(function (k) { Sections[k](); });\n  \/* data-page can sit on <body> or on any wrapper (e.g. <main> inside an Elementor HTML widget) *\/\n  var holder = document.querySelector('[data-page]');\n  var page = holder && holder.getAttribute('data-page');\n  if (page && Pages[page]) Pages[page]();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Social Responsibility | Crassula Pharmaceuticals Home Social Responsibility Social Responsibility Crassula contributes to global health care by developing innovative medicines that improve quality of life and help overcome today\u2019s health challenges. Its social responsibility rests on an ethical line, policies for people, quality and communication, employee programs and the Luz del Velador foundation, while it [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-11682","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages\/11682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/comments?post=11682"}],"version-history":[{"count":29,"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages\/11682\/revisions"}],"predecessor-version":[{"id":12139,"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages\/11682\/revisions\/12139"}],"wp:attachment":[{"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/media?parent=11682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}