{"id":11747,"date":"2026-10-19T15:48:50","date_gmt":"2026-10-19T19:48:50","guid":{"rendered":"https:\/\/crassulapharma.com\/?page_id=11747"},"modified":"2026-10-22T17:15:09","modified_gmt":"2026-10-22T21:15:09","slug":"contact","status":"publish","type":"page","link":"https:\/\/crassulapharma.com\/es\/contact\/","title":{"rendered":"Contact"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11747\" class=\"elementor elementor-11747\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a87b582 e-con-full e-flex e-con e-parent\" data-id=\"a87b582\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-584fda5 elementor-widget elementor-widget-html\" data-id=\"584fda5\" 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 contact \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>Contact Crassula Pharmaceuticals | R&amp;D &amp; Partnerships<\/title>\n<meta name=\"description\" content=\"Speak with Crassula about R&amp;D, CDMO, raw materials, products, media and medical information. Offices in the USA, India and Latin America.\">\n<meta name=\"robots\" content=\"index, follow, max-image-preview:large\">\n<link rel=\"canonical\" href=\"https:\/\/crassulapharma.com\/contact\/\">\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=\"Contact Crassula Pharmaceuticals | R&amp;D &amp; Partnerships\">\n<meta property=\"og:description\" content=\"Speak with Crassula about R&amp;D, CDMO, raw materials, products, media and medical information. Offices in the USA, India and Latin America.\">\n<meta property=\"og:url\" content=\"https:\/\/crassulapharma.com\/contact\/\">\n<meta property=\"og:image\" content=\"https:\/\/images.unsplash.com\/photo-1614935151651-0bea6508db6b?auto=format&amp;fit=crop&amp;w=1600&amp;q=70\">\n<meta property=\"og:image:alt\" content=\"Scientist working in a laboratory\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<meta name=\"twitter:site\" content=\"@crassula_llc\">\n<meta name=\"twitter:title\" content=\"Contact Crassula Pharmaceuticals | R&amp;D &amp; Partnerships\">\n<meta name=\"twitter:description\" content=\"Speak with Crassula about R&amp;D, CDMO, raw materials, products, media and medical information. Offices in the USA, India and Latin America.\">\n<meta name=\"twitter:image\" content=\"https:\/\/images.unsplash.com\/photo-1614935151651-0bea6508db6b?auto=format&amp;fit=crop&amp;w=1600&amp;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\/* =========================================================\n   CRASSULA PHARMACEUTICALS \u2014 contact.css\n   Contact page (\/contact\/) add-on. Requires about.css.\n   ========================================================= *\/\n\/* Contact routes *\/\n.cr-routes { list-style: none; margin: var(--cr-s8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--cr-s4); }\n.cr-route { position: relative; height: 100%; display: flex; flex-direction: column; gap: var(--cr-s3); padding: var(--cr-s6) var(--cr-s5); border-radius: var(--cr-r-card); background: var(--cr-peach); color: var(--cr-ink); text-align: left; border: 0; font: inherit; cursor: pointer; transition: transform 700ms var(--cr-ease), background-color 600ms var(--cr-ease), color 600ms var(--cr-ease); }\n.cr-route__n { font-size: var(--cr-fs-label); letter-spacing: var(--cr-tracking-label); font-weight: 500; color: var(--cr-ink); transition: color 600ms var(--cr-ease); }\n.cr-route h3 { margin: var(--cr-s5) 0 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em; line-height: 1.25; }\n.cr-route p { margin: 0; font-size: 0.9375rem; color: var(--cr-ink-70); transition: color 600ms var(--cr-ease); overflow-wrap: anywhere; }\n.cr-route__go { margin-top: auto; padding-top: var(--cr-s4); display: inline-flex; align-items: center; gap: 6px; font-weight: 500; font-size: 0.9375rem; }\n.cr-route__go svg { transition: transform 600ms var(--cr-ease); }\n.cr-route:focus-visible { outline: 2px solid var(--cr-green); outline-offset: 3px; }\n@media (hover: hover) {\n  button.cr-route:hover { transform: translateY(-4px); background: var(--cr-green); color: var(--cr-cream); }\n  .cr-route:hover .cr-route__n, .cr-route:hover p { color: var(--cr-cream); }\n  .cr-route:hover .cr-route__go svg { transform: translateX(4px); }\n}\n\n\/* Form + direct contact *\/\n.cr-contact { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cr-s8); align-items: start; }\n.cr-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cr-s5) var(--cr-s4); margin-top: var(--cr-s6); }\n.cr-field { display: flex; flex-direction: column; gap: 8px; }\n.cr-field--full { grid-column: 1 \/ -1; }\n.cr-field label { 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-field label span { color: var(--cr-green-text); }\n.cr-field input, .cr-field select, .cr-field textarea {\n  width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid rgba(16, 26, 66,.28); border-radius: 12px;\n  background: #FFFFFF; color: var(--cr-ink); font: inherit; font-size: 1rem;\n  transition: border-color var(--cr-t-med) var(--cr-ease), box-shadow var(--cr-t-med) var(--cr-ease);\n}\n.cr-field textarea { min-height: 160px; resize: vertical; }\n.cr-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--cr-ink) 50%), linear-gradient(135deg, var(--cr-ink) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 44px; }\n.cr-field input:hover, .cr-field select:hover, .cr-field textarea:hover { border-color: var(--cr-ink); }\n.cr-field input:focus-visible, .cr-field select:focus-visible, .cr-field textarea:focus-visible { outline: none; border-color: var(--cr-green-text); box-shadow: 0 0 0 3px rgba(91, 160, 68,.25); }\n.cr-form__foot { grid-column: 1 \/ -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cr-s4); margin-top: var(--cr-s2); }\n.cr-form__note { margin: 0; font-size: var(--cr-fs-small); color: var(--cr-ink-70); max-width: 44ch; }\n.cr-form button.cr-btn { cursor: pointer; font: inherit; font-weight: 500; }\n.cr-form__status { grid-column: 1 \/ -1; margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--cr-peach); font-size: 0.9375rem; }\n.cr-form__status[hidden] { display: none; }\n.cr-direct { position: sticky; top: calc(var(--cr-sticky-offset, 0px) + 32px); padding: var(--cr-s7) var(--cr-s6); border-radius: var(--cr-r-card); background: var(--cr-ink); color: var(--cr-cream); }\n.cr-direct .cr-label { color: var(--cr-lime); }\n.cr-direct h3 { margin: var(--cr-s4) 0 0; font-size: var(--cr-fs-h3); font-weight: 600; letter-spacing: -0.02em; }\n.cr-direct dl { margin: var(--cr-s5) 0 0; display: grid; gap: var(--cr-s4); }\n.cr-direct dt { font-size: 0.75rem; letter-spacing: var(--cr-tracking-label); text-transform: uppercase; font-weight: 500; color: rgba(255, 255, 255,.86); }\n.cr-direct dd { margin: 4px 0 0; font-size: 1.0625rem; }\n.cr-direct a { color: var(--cr-cream); text-underline-offset: 4px; text-decoration-color: rgba(255, 255, 255,.5); transition: text-decoration-color var(--cr-t-med) var(--cr-ease), color var(--cr-t-med) var(--cr-ease); }\n.cr-direct a:hover { color: var(--cr-lime); text-decoration-color: var(--cr-lime); }\n.cr-social { list-style: none; margin: var(--cr-s6) 0 0; padding: var(--cr-s5) 0 0; border-top: 1px solid var(--cr-line-dark); display: flex; flex-wrap: wrap; gap: var(--cr-s2); }\n.cr-social a { display: inline-flex; padding: 8px 14px; border-radius: var(--cr-r-pill); border: 1px solid rgba(255, 255, 255,.4); text-decoration: none; font-size: 0.875rem; font-weight: 500; transition: background-color var(--cr-t-med) var(--cr-ease), color var(--cr-t-med) var(--cr-ease); }\n.cr-social a:hover { background: var(--cr-cream); color: var(--cr-ink); }\n\n\/* Locations *\/\n.cr-places { 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-places > li { min-width: 0; }\n.cr-place__actions { display: flex; flex-wrap: wrap; gap: var(--cr-s2); margin-top: var(--cr-s3); }\n.cr-place__actions a, .cr-place__actions button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: var(--cr-r-pill); border: 1px solid var(--cr-ink); background: transparent; color: var(--cr-ink); font: inherit; font-size: 0.875rem; font-weight: 500; text-decoration: none; cursor: pointer; transition: background-color var(--cr-t-med) var(--cr-ease), color var(--cr-t-med) var(--cr-ease); }\n.cr-place__actions a:hover, .cr-place__actions button:hover { background: var(--cr-ink); color: var(--cr-cream); }\n.cr-places--small .cr-loc__country { font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem); }\n\n@media (max-width: 1100px) { .cr-routes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n@media (max-width: 900px) {\n  .cr-contact { grid-template-columns: 1fr; }\n  .cr-direct { position: static; }\n  .cr-places { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n@media (max-width: 600px) {\n  .cr-routes, .cr-form, .cr-places { grid-template-columns: 1fr; }\n  .cr-form__foot .cr-btn { width: 100%; justify-content: space-between; }\n}\n.cr-peach .cr-loc { background: var(--cr-cream); }\n.cr-route p strong { font-size: 0.8125rem; letter-spacing: -0.01em; }\n.cr-places--small { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--cr-s5); }\n.cr-places--small .cr-loc { padding: var(--cr-s5); }\n@media (max-width: 1100px) { .cr-places--small { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (max-width: 600px) { .cr-places--small { grid-template-columns: 1fr; } }\n\n\/* theme guard *\/\nbutton.cr-route, button.cr-route:focus, button.cr-route:active { background: var(--cr-peach); color: var(--cr-ink); border: 0; padding: var(--cr-s6) var(--cr-s5); border-radius: var(--cr-r-card); font-size: inherit; text-align: left; }\n@media (hover: hover) { button.cr-route:hover { background: var(--cr-green); color: var(--cr-cream); } }\nbutton.cr-btn--primary, button.cr-btn--primary:hover, button.cr-btn--primary:focus, button.cr-btn--primary:active { background: var(--cr-green); color: var(--cr-cream); border: 0; }\n.cr-place__actions button, .cr-place__actions button:focus { background: transparent; color: var(--cr-ink); border: 1px solid var(--cr-ink); border-radius: var(--cr-r-pill); padding: 0 14px; font-size: 0.875rem; }\n.cr-place__actions button:hover { background: var(--cr-ink); color: var(--cr-cream); }\n\n<\/style>\n\n<!-- GEO \/ AIO \u00b7 datos estructurados -->\n<script type=\"application\/ld+json\">\n{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"ContactPage\", \"@id\": \"https:\/\/crassulapharma.com\/contact\/#page\", \"url\": \"https:\/\/crassulapharma.com\/contact\/\", \"name\": \"Contact Crassula Pharmaceuticals\", \"description\": \"Speak with Crassula about R&D, CDMO, raw materials, media and medical information, with offices in the USA, India, Honduras, Costa Rica, Guatemala, Peru and Colombia.\", \"inLanguage\": \"en\", \"about\": {\"@id\": \"https:\/\/crassulapharma.com\/#organization\"}, \"breadcrumb\": {\"@id\": \"https:\/\/crassulapharma.com\/contact\/#breadcrumb\"}}, {\"@type\": \"BreadcrumbList\", \"@id\": \"https:\/\/crassulapharma.com\/contact\/#breadcrumb\", \"itemListElement\": [{\"@type\": \"ListItem\", \"position\": 1, \"name\": \"Home\", \"item\": \"https:\/\/crassulapharma.com\/\"}, {\"@type\": \"ListItem\", \"position\": 2, \"name\": \"Contact\", \"item\": \"https:\/\/crassulapharma.com\/contact\/\"}]}, {\"@type\": \"Organization\", \"@id\": \"https:\/\/crassulapharma.com\/#organization\", \"name\": \"Crassula Pharmaceuticals\", \"legalName\": \"CRASSULA LLC\", \"url\": \"https:\/\/crassulapharma.com\/\", \"email\": \"info@crassulapharma.com\", \"telephone\": \"+1-954-676-7060\", \"address\": [{\"@type\": \"PostalAddress\", \"name\": \"Corporate Office\", \"streetAddress\": \"3301 N. University Dr., Suite 100\", \"addressLocality\": \"Coral Springs\", \"addressRegion\": \"FL\", \"postalCode\": \"33065\", \"addressCountry\": \"US\"}, {\"@type\": \"PostalAddress\", \"name\": \"Manufacturing\", \"streetAddress\": \"146 Narmada Colony, Katol Road\", \"addressLocality\": \"Nagpur\", \"addressRegion\": \"Maharashtra\", \"addressCountry\": \"IN\"}, {\"@type\": \"PostalAddress\", \"name\": \"Crassula Honduras\", \"streetAddress\": \"6 Ave, 5 y 6 Calle S.O., Plaza Victoria\", \"addressLocality\": \"San Pedro Sula\", \"addressCountry\": \"HN\"}, {\"@type\": \"PostalAddress\", \"name\": \"Crassula Costa Rica S.A.\", \"streetAddress\": \"Edificio Spazio Ejecutivo, Piso 3, Oficina 14, San Rafael de Escaz\u00fa\", \"addressLocality\": \"San Jos\u00e9\", \"addressCountry\": \"CR\"}, {\"@type\": \"PostalAddress\", \"name\": \"Crassula Guatemala S.A.\", \"streetAddress\": \"5ta Calle B 13-63, Sector B2, San Crist\u00f3bal, Zona 8\", \"addressLocality\": \"Mixco\", \"addressCountry\": \"GT\"}, {\"@type\": \"PostalAddress\", \"name\": \"Crassula Peru S.A.C.\", \"streetAddress\": \"Av. Santo Toribio 143, Piso 3, San Isidro\", \"addressLocality\": \"Lima\", \"addressCountry\": \"PE\"}, {\"@type\": \"PostalAddress\", \"name\": \"Crassula Colombia S.A.S.\", \"streetAddress\": \"Calle 76 #48-47, Of. 304\", \"addressLocality\": \"Barranquilla\", \"addressCountry\": \"CO\", \"postalCode\": \"080001\"}], \"contactPoint\": [{\"@type\": \"ContactPoint\", \"contactType\": \"customer support\", \"email\": \"info@crassulapharma.com\", \"telephone\": \"+1-954-676-7060\", \"areaServed\": \"US\"}, {\"@type\": \"ContactPoint\", \"contactType\": \"product inquiries\", \"email\": \"products@crassulapharma.com\"}, {\"@type\": \"ContactPoint\", \"contactType\": \"sales\", \"email\": \"sales@crassulapharma.com\"}, {\"@type\": \"ContactPoint\", \"contactType\": \"media relations\", \"email\": \"press@crassulapharma.com\"}, {\"@type\": \"ContactPoint\", \"contactType\": \"quality assurance\", \"email\": \"qa@crassulapharma.com\", \"telephone\": \"+91-712-257-2686\", \"areaServed\": \"IN\"}, {\"@type\": \"ContactPoint\", \"contactType\": \"customer service\", \"email\": \"contacthonduras@crassulapharma.com\", \"telephone\": \"+504-9726-4313\", \"areaServed\": \"HN\"}], \"sameAs\": [\"https:\/\/www.facebook.com\/Crassulapharmaceuticals\/\", \"https:\/\/www.linkedin.com\/company\/crassula-pharmaceuticals\", \"https:\/\/www.youtube.com\/@CrassulaPharmaceuticals\", \"https:\/\/x.com\/crassula_llc\"], \"subOrganization\": [{\"@type\": \"Organization\", \"name\": \"Crassula Costa Rica S.A.\", \"address\": {\"@type\": \"PostalAddress\", \"name\": \"Crassula Costa Rica S.A.\", \"streetAddress\": \"Edificio Spazio Ejecutivo, Piso 3, Oficina 14, San Rafael de Escaz\u00fa\", \"addressLocality\": \"San Jos\u00e9\", \"addressCountry\": \"CR\"}, \"telephone\": \"+1-954-676-7062\", \"email\": \"info@crassulapharma.com\"}, {\"@type\": \"Organization\", \"name\": \"Crassula Guatemala S.A.\", \"address\": {\"@type\": \"PostalAddress\", \"name\": \"Crassula Guatemala S.A.\", \"streetAddress\": \"5ta Calle B 13-63, Sector B2, San Crist\u00f3bal, Zona 8\", \"addressLocality\": \"Mixco\", \"addressCountry\": \"GT\"}, \"telephone\": \"+502-3021-4379\", \"email\": \"info@crassulapharma.com\"}, {\"@type\": \"Organization\", \"name\": \"Crassula Peru S.A.C.\", \"address\": {\"@type\": \"PostalAddress\", \"name\": \"Crassula Peru S.A.C.\", \"streetAddress\": \"Av. Santo Toribio 143, Piso 3, San Isidro\", \"addressLocality\": \"Lima\", \"addressCountry\": \"PE\"}, \"telephone\": \"+1-954-676-7062\", \"email\": \"info@crassulapharma.com\"}, {\"@type\": \"Organization\", \"name\": \"Crassula Colombia S.A.S.\", \"address\": {\"@type\": \"PostalAddress\", \"name\": \"Crassula Colombia S.A.S.\", \"streetAddress\": \"Calle 76 #48-47, Of. 304\", \"addressLocality\": \"Barranquilla\", \"addressCountry\": \"CO\", \"postalCode\": \"080001\"}, \"telephone\": \"+1-954-676-7062\", \"email\": \"info@crassulapharma.com\"}]}]}\n<\/script>\n\n<!-- Contenido -->\n<div class=\"cr-transition\" aria-hidden=\"true\"><\/div>\n\n<main id=\"content\" class=\"cr-page\" data-page=\"contact\">\n\n  <!-- ===== HERO ===== -->\n  <section class=\"cr-section cr-hero cr-hero--center\" aria-labelledby=\"ct-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-1614935151651-0bea6508db6b?auto=format&amp;fit=crop&amp;w=1920&amp;q=70\" alt=\"\" width=\"1920\" height=\"1280\" 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\">Contact<\/li><\/ol><\/nav>\n      <\/div>\n      <h1 class=\"cr-display\" id=\"ct-title\" data-lines>\n        <span class=\"cr-ln\"><span>Speak with Crassula<\/span><\/span>\n        <span class=\"cr-ln\"><span class=\"t-800\">R&amp;D \/ partnerships<\/span><\/span>\n      <\/h1>\n      <div class=\"cr-hero__foot\">\n        <p class=\"cr-answer\" data-reveal>You can contact Crassula Pharmaceuticals about R&amp;D, CDMO projects, raw materials, products, media and medical information. Write to us through the form or directly: the corporate office in Coral Springs, Florida, answers at +1 (954) 676-7060 and info@crassulapharma.com, with teams in India and Honduras and regional companies in Costa Rica, Guatemala, Peru and Colombia.<\/p>\n      <\/div>\n    <\/div>\n    <a class=\"cr-scroll\" href=\"#routes\" aria-label=\"Scroll to contact options\"><span class=\"cr-scroll__mouse\" aria-hidden=\"true\"><span class=\"cr-scroll__wheel\"><\/span><\/span><\/a>\n  <\/section>\n\n  <!-- ===== 01 ROUTES ===== -->\n  <section class=\"cr-section cr-cream\" id=\"routes\" aria-labelledby=\"c1-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>Let\u2019s connect<\/span>\n          <h2 class=\"cr-h2\" id=\"c1-title\">How can <span class=\"t-200\"><em>we help?<\/em><\/span><\/h2>\n        <\/div>\n        <p class=\"cr-lead cr-muted\" data-reveal style=\"--cr-d:120ms;margin-top:0\">Choose a topic to go straight to the form, or write to the right team directly.<\/p>\n      <\/div>\n      <ul class=\"cr-routes\" data-stagger>\n        <li data-reveal><button class=\"cr-route\" type=\"button\" data-topic=\"General\"><span class=\"cr-route__n\">01<\/span><h3>General<\/h3><p>General questions about Crassula.<\/p><p><strong>info@crassulapharma.com<\/strong><\/p><span class=\"cr-route__go\">Write to us <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/button><\/li>\n        <li data-reveal><button class=\"cr-route\" type=\"button\" data-topic=\"Product Inquiry\"><span class=\"cr-route__n\">02<\/span><h3>Product inquiry<\/h3><p>Questions about our Rx, OTC and supplement products.<\/p><p><strong>products@crassulapharma.com<\/strong><\/p><span class=\"cr-route__go\">Write to us <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/button><\/li>\n        <li data-reveal><button class=\"cr-route\" type=\"button\" data-topic=\"Partnership\"><span class=\"cr-route__n\">03<\/span><h3>Partnerships &amp; CDMO<\/h3><p>R&amp;D, CDMO, raw materials and regional partnerships.<\/p><p><strong>sales@crassulapharma.com<\/strong><\/p><span class=\"cr-route__go\">Write to us <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/button><\/li>\n        <li data-reveal><button class=\"cr-route\" type=\"button\" data-topic=\"Medical Information\"><span class=\"cr-route__n\">04<\/span><h3>Medical information<\/h3><p>Medical information requests about our products.<\/p><p><strong>Via the contact form<\/strong><\/p><span class=\"cr-route__go\">Write to us <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/button><\/li>\n        <li data-reveal><button class=\"cr-route\" type=\"button\" data-topic=\"Press\/Media\"><span class=\"cr-route__n\">05<\/span><h3>Press &amp; media<\/h3><p>Media enquiries, assets and spokespeople.<\/p><p><strong>press@crassulapharma.com<\/strong><\/p><span class=\"cr-route__go\">Write to us <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/button><\/li>\n      <\/ul>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 02 FORM ===== -->\n  <section class=\"cr-section cr-cream\" id=\"form\" aria-labelledby=\"c2-title\" style=\"padding-top:0\">\n    <div class=\"cr-wrap cr-contact\">\n      <div data-reveal>\n        <span class=\"cr-label\"><span class=\"cr-label__idx\">02<\/span><span class=\"cr-label__bar\"><\/span>Send us a message<\/span>\n        <h2 class=\"cr-h2\" id=\"c2-title\">Send us <span class=\"t-200\"><em>a message<\/em><\/span><\/h2>\n        <!-- Visual form only: connect it to Elementor Form \/ WPForms \/ CF7 before publishing (then set data-handler to the real handler). -->\n        <form class=\"cr-form\" id=\"contact-form\" action=\"#\" method=\"post\" data-handler=\"none\" novalidate>\n          <div class=\"cr-field\"><label for=\"cf-first\">First name<\/label><input id=\"cf-first\" name=\"first_name\" type=\"text\" autocomplete=\"given-name\"><\/div>\n          <div class=\"cr-field\"><label for=\"cf-last\">Last name<\/label><input id=\"cf-last\" name=\"last_name\" type=\"text\" autocomplete=\"family-name\"><\/div>\n          <div class=\"cr-field\"><label for=\"cf-phone\">Phone number<\/label><input id=\"cf-phone\" name=\"phone\" type=\"tel\" autocomplete=\"tel\"><\/div>\n          <div class=\"cr-field\"><label for=\"cf-email\">Email address <span aria-hidden=\"true\">*<\/span><\/label><input id=\"cf-email\" name=\"email\" type=\"email\" autocomplete=\"email\" required aria-required=\"true\"><\/div>\n          <div class=\"cr-field\"><label for=\"cf-topic\">Topic <span aria-hidden=\"true\">*<\/span><\/label>\n            <select id=\"cf-topic\" name=\"topic\" required aria-required=\"true\">\n              <option>General<\/option><option>Product Inquiry<\/option><option>Partnership<\/option><option>Medical Information<\/option><option>Press\/Media<\/option>\n            <\/select><\/div>\n          <div class=\"cr-field\"><label for=\"cf-ref\">Order \/ Ref<\/label><input id=\"cf-ref\" name=\"reference\" type=\"text\"><\/div>\n          <div class=\"cr-field cr-field--full\"><label for=\"cf-msg\">Message<\/label><textarea id=\"cf-msg\" name=\"message\"><\/textarea><\/div>\n          <div class=\"cr-form__foot\">\n            <p class=\"cr-form__note\">Fields marked * are required. See our <a href=\"\/privacy-policy\/\">privacy policy<\/a>.<\/p>\n            <button class=\"cr-btn cr-btn--primary\" type=\"submit\">Submit <span class=\"cr-btn__icon\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><\/button>\n          <\/div>\n          <p class=\"cr-form__status\" role=\"status\" hidden>[FORM HANDLER] This preview form is not connected yet.<\/p>\n        <\/form>\n      <\/div>\n      <aside class=\"cr-direct\" data-reveal style=\"--cr-d:120ms\" aria-label=\"Direct contact\">\n        <span class=\"cr-label\">Corporate office<\/span>\n        <h3>Crassula LLC<\/h3>\n        <dl>\n          <div><dt>Phone<\/dt><dd><a href=\"tel:+19546767060\">+1 (954) 676-7060<\/a><\/dd><\/div>\n          <div><dt>Email<\/dt><dd><a href=\"mailto:info@crassulapharma.com\">info@crassulapharma.com<\/a><\/dd><\/div>\n          <div><dt>Sales<\/dt><dd><a href=\"mailto:sales@crassulapharma.com\">sales@crassulapharma.com<\/a><\/dd><\/div>\n          <div><dt>Address<\/dt><dd>3301 N. University Dr., Suite 100<br>Coral Springs, FL 33065, USA<\/dd><\/div>\n        <\/dl>\n        <ul class=\"cr-social\" aria-label=\"Social media\">\n          <li><a href=\"https:\/\/www.linkedin.com\/company\/crassula-pharmaceuticals\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a><\/li>\n          <li><a href=\"https:\/\/www.facebook.com\/Crassulapharmaceuticals\/\" target=\"_blank\" rel=\"noopener\">Facebook<\/a><\/li>\n          <li><a href=\"https:\/\/www.youtube.com\/@CrassulaPharmaceuticals\" target=\"_blank\" rel=\"noopener\">YouTube<\/a><\/li>\n          <li><a href=\"https:\/\/x.com\/crassula_llc\" target=\"_blank\" rel=\"noopener\">X<\/a><\/li>\n        <\/ul>\n      <\/aside>\n    <\/div>\n  <\/section>\n\n  <!-- ===== 03 LOCATIONS ===== -->\n  <section class=\"cr-section cr-peach\" id=\"locations\" aria-labelledby=\"c3-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>Our locations<\/span>\n          <h2 class=\"cr-h2\" id=\"c3-title\">Our <span class=\"t-200\"><em>locations<\/em><\/span><\/h2>\n        <\/div>\n        <p class=\"cr-lead cr-muted\" data-reveal style=\"--cr-d:120ms;margin-top:0\">Corporate office in the United States, manufacturing in India and regional companies in Honduras, Costa Rica, Guatemala, Peru and Colombia.<\/p>\n      <\/div>\n      <ul class=\"cr-places\" data-stagger>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Corporate office<\/span>\n          <h3 class=\"cr-loc__country\">USA<\/h3>\n          <address>Crassula LLC<br>3301 N. University Dr., Suite 100<br>Coral Springs, FL 33065, USA<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+19546767060\">+1 (954) 676-7060<\/a><a href=\"mailto:info@crassulapharma.com\">info@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=3301%20N.%20University%20Dr.%20Suite%20100%2C%20Coral%20Springs%2C%20FL%2033065%2C%20USA\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"3301 N. University Dr. Suite 100, Coral Springs, FL 33065, USA\">Copy address<\/button><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Manufacturing<\/span>\n          <h3 class=\"cr-loc__country\">India<\/h3>\n          <address>146 Narmada Colony, Katol Road<br>Nagpur, Maharashtra, India<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+917122572686\">+91 (712) 257-2686<\/a><a href=\"mailto:qa@crassulapharma.com\">qa@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=146%20Narmada%20Colony%2C%20Katol%20Road%2C%20Nagpur%2C%20Maharashtra%2C%20India\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"146 Narmada Colony, Katol Road, Nagpur, Maharashtra, India\">Copy address<\/button><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Crassula Honduras<\/span>\n          <h3 class=\"cr-loc__country\">Honduras<\/h3>\n          <address>6 Ave, 5 y 6 Calle S.O., Plaza Victoria<br>San Pedro Sula, Honduras<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+50497264313\">+504 9726-4313<\/a><a href=\"mailto:contacthonduras@crassulapharma.com\">contacthonduras@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=6%20Ave%2C%205%20y%206%20Calle%20S.O.%2C%20Plaza%20Victoria%2C%20San%20Pedro%20Sula%2C%20Honduras\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"6 Ave, 5 y 6 Calle S.O., Plaza Victoria, San Pedro Sula, Honduras\">Copy address<\/button><\/div>\n        <\/article><\/li>\n      <\/ul>\n      <ul class=\"cr-places cr-places--small\" data-stagger>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Crassula Costa Rica S.A.<\/span>\n          <h3 class=\"cr-loc__country\">Costa Rica<\/h3>\n          <address>Edificio Spazio Ejecutivo, Piso 3, Oficina 14<br>San Rafael de Escaz\u00fa, San Jos\u00e9, Costa Rica<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+19546767062\">+1 (954) 676-7062<\/a><a href=\"mailto:info@crassulapharma.com\">info@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=Edificio%20Spazio%20Ejecutivo%2C%20Piso%203%2C%20Oficina%2014%2C%20San%20Rafael%20de%20Escaz%C3%BA%2C%20San%20Jos%C3%A9%2C%20Costa%20Rica\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"Edificio Spazio Ejecutivo, Piso 3, Oficina 14, San Rafael de Escaz\u00fa, San Jos\u00e9, Costa Rica\">Copy address<\/button><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Crassula Guatemala S.A.<\/span>\n          <h3 class=\"cr-loc__country\">Guatemala<\/h3>\n          <address>5ta Calle B 13-63, Sector B2, San Crist\u00f3bal<br>Zona 8, Mixco, Guatemala<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+50230214379\">+502 3021-4379<\/a><a href=\"mailto:info@crassulapharma.com\">info@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=5ta%20Calle%20B%2013-63%2C%20Sector%20B2%2C%20San%20Crist%C3%B3bal%2C%20Zona%208%2C%20Mixco%2C%20Guatemala\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"5ta Calle B 13-63, Sector B2, San Crist\u00f3bal, Zona 8, Mixco, Guatemala\">Copy address<\/button><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Crassula Peru S.A.C.<\/span>\n          <h3 class=\"cr-loc__country\">Peru<\/h3>\n          <address>Av. Santo Toribio 143, Piso 3<br>San Isidro, Lima 27, Peru<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+19546767062\">+1 (954) 676-7062<\/a><a href=\"mailto:info@crassulapharma.com\">info@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=Av.%20Santo%20Toribio%20143%2C%20Piso%203%2C%20San%20Isidro%2C%20Lima%2027%2C%20Peru\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"Av. Santo Toribio 143, Piso 3, San Isidro, Lima 27, Peru\">Copy address<\/button><\/div>\n        <\/article><\/li>\n        <li data-reveal><article class=\"cr-loc\">\n          <span class=\"cr-label\">Crassula Colombia S.A.S.<\/span>\n          <h3 class=\"cr-loc__country\">Colombia<\/h3>\n          <address>Calle 76 #48-47, Of. 304<br>Barranquilla 080001, Colombia<\/address>\n          <div class=\"cr-loc__contact\"><a href=\"tel:+19546767062\">+1 (954) 676-7062<\/a><a href=\"mailto:info@crassulapharma.com\">info@crassulapharma.com<\/a><\/div>\n          <div class=\"cr-place__actions\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=Calle%2076%20%2348-47%2C%20Of.%20304%2C%20Barranquilla%20080001%2C%20Colombia\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a><button type=\"button\" data-copy=\"Calle 76 #48-47, Of. 304, Barranquilla 080001, Colombia\">Copy address<\/button><\/div>\n        <\/article><\/li>\n      <\/ul>\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>Contact Crassula Pharmaceuticals | R&amp;D &amp; Partnerships Home Contact Speak with Crassula R&amp;D \/ partnerships You can contact Crassula Pharmaceuticals about R&amp;D, CDMO projects, raw materials, products, media and medical information. Write to us through the form or directly: the corporate office in Coral Springs, Florida, answers at +1 (954) 676-7060 and info@crassulapharma.com, with teams [&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-11747","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages\/11747","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=11747"}],"version-history":[{"count":10,"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages\/11747\/revisions"}],"predecessor-version":[{"id":12086,"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/pages\/11747\/revisions\/12086"}],"wp:attachment":[{"href":"https:\/\/crassulapharma.com\/es\/wp-json\/wp\/v2\/media?parent=11747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}