{"id":182,"date":"2026-05-28T17:12:08","date_gmt":"2026-05-28T15:12:08","guid":{"rendered":"https:\/\/gaelo-h5s7cqtzmf.live-website.com\/?page_id=182"},"modified":"2026-06-19T15:24:13","modified_gmt":"2026-06-19T13:24:13","slug":"software","status":"publish","type":"page","link":"https:\/\/gaelo.fr\/en\/software\/","title":{"rendered":"GaelO"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"182\" class=\"elementor elementor-182\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35678ce e-con-full e-flex e-con e-parent\" data-id=\"35678ce\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5ed0e59 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5ed0e59\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n================================================================\nGaelO \u2014 PAGE PRODUIT \u2014 EN \u2014 Clinical Trial Imaging Platform\nURL : \/en\/software\/clinical-trial-imaging-platform\/\nFor Elementor Pro HTML widget \u2014 Full Width container\nBrand : Pixilib \/ GaelO\n================================================================\n\nSEO :\n  Title (60c) : Clinical Trial Imaging Management Platform | GaelO\n  Meta Desc (155c) : Centralize your medical imaging research with GaelO.\n    Secure DICOM orchestration, automated de-identification, and standardized\n    central review for clinical trials.\n\nVERSION 2 \u2014 Style \"Elementor Pro premium\" (pro designer feel)\n  Hero conserv\u00e9 \u00e0 l'identique. Corps refait en langage Elementor Pro :\n  sections \u00e0 fonds altern\u00e9s, eyebrow texts, shape dividers subtils,\n  compteurs anim\u00e9s, icon boxes, image boxes, feature lists (checkmarks),\n  CTA box mid-page. Palette + typos inchang\u00e9es.\n\nStructure (1 H1 \/ 8 H2 \/ N H3) :\n  H1  : Clinical Trial Imaging Management Platform: GaelO   [hero]\n  H2  : Make medical imaging a decisional endpoint\u2026         [intro sticky + checklist]\n  H2  : Why GaelO is the standard\u2026                          [counters + tabs + criteria table]\n        [TABS] 3\u00d7 H3 \/ [TABLE] 1\u00d7 H3\n  H2  : Everything you need to manage clinical trial imaging [10 icon boxes]\n  H2  : Supported imaging modalities                        [5 image boxes \/ photos]\n  H2  : A new biomarker: TMTV                               [CTA box mid-page]\n  H2  : Is GaelO for you ?                                  [4 personas]\n  H2  : The GaelO Ecosystem                                 [3 product image-boxes]\n  H2  : Ready to centralize\u2026                                [final CTA]\n\nMaillage interne :\n  - \"dedicated DICOM viewer\"       \u2192 \/en\/software\/dicom-viewer\/\n  - GaelO Flow (eco card)          \u2192 \/en\/software\/dicom-data-orchestration\/\n  - AI Segmentation (eco + callout)\u2192 \/en\/algorithms\/medical-imaging-segmentation\/\n  - \"Imaging CRO\"                  \u2192 \/en\/services\/imaging-cro\/\n\nLiens externes (PubMed \/ NEMA \/ ICH) :\n  target=\"_blank\" rel=\"noopener nofollow\"  \u2014 pas de transmission de jus SEO\n\nNotes :\n  - Le H1 est inclus \u2192 d\u00e9sactiver tout H1 d'Elementor\n  - CTA \"Talk to Our Team\" et \"Request a Demo\" \u2192 #contact (\u00e0 remplacer)\n  - JS minimal natif (no jQuery) : tabs, counters, reveal, scroll progress\n  - Mobile First, ARIA, prefers-reduced-motion respect\u00e9\n================================================================\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Maven+Pro:wght@400;500;600;700;800&family=Roboto+Mono:wght@400;500;600&display=swap\" rel=\"stylesheet\">\n\n<style>\n\/* ============================================================\n   GaelO PRODUCT PAGE \u2014 Scoped Styles\n   All rules namespaced under .gaelo-product to avoid leaks.\n   ============================================================ *\/\n.gaelo-product{\n  --teal:#0495A0;\n  --teal-bright:#5DD0DA;\n  --teal-dark:#037a83;\n  --teal-soft:rgba(4,149,160,.12);\n  --orange:#FFBA4D;\n  --orange-soft:rgba(255,186,77,.14);\n  --indigo:#353275;\n  --indigo-bright:#5B57B8;\n  --indigo-soft:rgba(53,50,117,.12);\n  --green:#78E08F;\n  --green-soft:rgba(120,224,143,.14);\n  --slate:#314053;\n  --bg:#F8FAFB;\n  --bg-soft:#F1F4F7;\n  --bg-dark:#0d1b2a;\n  --bg-darker:#081421;\n  --white:#FFFFFF;\n  --text:#1A2332;\n  --muted:#6B7A8F;\n  --border:rgba(49,64,83,.10);\n  --border-strong:rgba(49,64,83,.18);\n  --shadow-sm:0 2px 12px rgba(49,64,83,.06);\n  --shadow-md:0 8px 40px rgba(49,64,83,.12);\n  --shadow-lg:0 24px 80px rgba(49,64,83,.18);\n  --radius-sm:10px;\n  --radius-md:18px;\n  --radius-lg:28px;\n  --radius-xl:36px;\n  --ease:cubic-bezier(.16,1,.3,1);\n  --max-width:1200px;\n  --font-display:'Maven Pro','Helvetica Neue',Arial,sans-serif;\n  --font-mono:'Roboto Mono','SF Mono','Menlo',monospace;\n  font-family:var(--font-display);\n  color:var(--text);\n  line-height:1.65;\n  font-size:17px;\n  -webkit-font-smoothing:antialiased;\n  -moz-osx-font-smoothing:grayscale;\n  \/* contain the full-bleed breakouts (hero \/ final CTA) so they never\n     create a horizontal overflow inside Elementor's HTML widget.\n     overflow-x:clip (not hidden) keeps position:sticky working. *\/\n  overflow-x:clip;\n  max-width:100%;\n}\n.gaelo-product *,\n.gaelo-product *::before,\n.gaelo-product *::after{box-sizing:border-box}\n.gaelo-product .container{\n  max-width:var(--max-width);\n  margin:0 auto;\n  padding:0 clamp(20px,4vw,40px);\n  position:relative;\n}\n\n\/* ============================================================\n   SCROLL PROGRESS BAR\n   ============================================================ *\/\n.gaelo-product .scroll-progress{\n  position:fixed;top:0;left:0;\n  height:2px;width:0%;\n  background:linear-gradient(90deg,var(--teal),var(--indigo),var(--orange));\n  z-index:9999;\n  transition:width .1s linear;\n  pointer-events:none;\n}\n\n\/* ============================================================\n   HERO \u2014 full-width edge-to-edge dark gradient\n   ============================================================ *\/\n.gaelo-product .hero{\n  position:relative;\n  width:100%;\n  margin-left:0;\n  margin-right:0;\n  min-height:90vh;\n  display:flex;flex-direction:column;\n  align-items:center;justify-content:center;\n  text-align:center;\n  overflow:hidden;\n  padding:clamp(100px,12vw,160px) clamp(20px,5vw,80px) clamp(80px,10vw,120px);\n  background:linear-gradient(160deg,#1A3A52 0%,#205B6E 45%,#1E4C5E 75%,#1A4458 100%);\n}\n.gaelo-product .hero-canvas{position:absolute;inset:0;overflow:hidden;pointer-events:none}\n.gaelo-product .hero-orb{\n  position:absolute;border-radius:50%;\n  filter:blur(90px);opacity:.30;\n  animation:gp-drift 18s ease-in-out infinite alternate;\n}\n.gaelo-product .hero-orb.o1{width:620px;height:620px;background:radial-gradient(circle,var(--teal),transparent 70%);top:-180px;left:-160px}\n.gaelo-product .hero-orb.o2{width:520px;height:520px;background:radial-gradient(circle,var(--indigo),transparent 70%);bottom:-150px;right:-140px;animation-duration:22s;animation-delay:-5s}\n.gaelo-product .hero-orb.o3{width:280px;height:280px;background:radial-gradient(circle,var(--orange),transparent 70%);top:25%;right:18%;opacity:.16;animation-duration:14s;animation-delay:-9s}\n@keyframes gp-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(50px,40px) scale(1.12)}}\n\n.gaelo-product .hero-grid{\n  position:absolute;inset:0;pointer-events:none;\n  background-image:\n    linear-gradient(rgba(4,149,160,.07) 1px,transparent 1px),\n    linear-gradient(90deg,rgba(4,149,160,.07) 1px,transparent 1px);\n  background-size:64px 64px;\n  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);\n  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);\n}\n\n.gaelo-product .hero-content{\n  position:relative;z-index:2;\n  max-width:1080px;width:100%;\n  margin-left:auto;margin-right:auto;\n  box-sizing:border-box;\n  display:flex;flex-direction:column;align-items:center;\n}\n\n.gaelo-product .hero-badge{\n  display:inline-flex;align-items:center;gap:10px;\n  padding:7px 18px;border-radius:50px;\n  border:1px solid rgba(4,149,160,.4);\n  background:rgba(4,149,160,.12);\n  color:var(--teal-bright);\n  font-family:var(--font-mono);font-size:.72rem;font-weight:500;\n  letter-spacing:.18em;text-transform:uppercase;\n  margin-bottom:32px;\n  animation:gp-fadeUp .9s var(--ease) .2s both;\n}\n.gaelo-product .hero-badge-dot{\n  width:6px;height:6px;border-radius:50%;background:var(--teal);\n  box-shadow:0 0 12px var(--teal);\n  animation:gp-pulse 2s ease infinite;\n}\n@keyframes gp-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.5}}\n\n.gaelo-product .hero-title{\n  font-size:clamp(2.2rem,6vw,4.8rem);\n  font-weight:800;\n  line-height:1.1;\n  letter-spacing:-.035em;\n  color:var(--white);\n  margin:0 0 24px;\n  max-width:1000px;\n  margin-left:auto;margin-right:auto;\n}\n.gaelo-product .hero-title .word{\n  display:inline-block;\n  opacity:0;transform:translateY(40px);\n  animation:gp-titleUp .9s var(--ease) forwards;\n}\n.gaelo-product .hero-title .word.w1{animation-delay:.35s}\n.gaelo-product .hero-title .word.w2{animation-delay:.45s}\n.gaelo-product .hero-title .word.w3{animation-delay:.55s}\n.gaelo-product .hero-title .word.w4{animation-delay:.65s}\n.gaelo-product .hero-title .word.w5{animation-delay:.75s}\n.gaelo-product .hero-title .word.w6{animation-delay:.85s}\n.gaelo-product .hero-title .word.w7{animation-delay:.95s}\n@keyframes gp-titleUp{to{opacity:1;transform:translateY(0)}}\n.gaelo-product .hero-title .accent{\n  background:linear-gradient(90deg,var(--teal-bright),var(--green));\n  -webkit-background-clip:text;-webkit-text-fill-color:transparent;\n  background-clip:text;color:transparent;\n}\n.gaelo-product .hero-title .accent-o{color:var(--orange)}\n\n.gaelo-product .hero-sub{\n  font-size:clamp(1.05rem,1.5vw,1.25rem);\n  font-weight:300;color:rgba(255,255,255,.7);\n  max-width:680px;margin:0 auto 48px;\n  animation:gp-fadeUp .9s var(--ease) 1.1s both;\n}\n\n.gaelo-product .hero-actions{\n  display:flex;align-items:center;justify-content:center;\n  gap:14px;flex-wrap:wrap;margin-bottom:64px;\n  animation:gp-fadeUp .9s var(--ease) 1.3s both;\n}\n\n\/* hero mockup *\/\n.gaelo-product .hero-mockup{\n  position:relative;\n  max-width:920px;\n  width:100%;\n  margin:0 auto;\n  align-self:center;\n  border-radius:16px;\n  overflow:hidden;\n  box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);\n  animation:gp-mockup 1.2s var(--ease) 1.5s both;\n}\n@keyframes gp-mockup{from{opacity:0;transform:translateY(60px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}\n\/* Large screens : scale up the dashboard mockup so it doesn't look tiny on big monitors *\/\n@media (min-width:1900px){\n  .gaelo-product .hero-content{max-width:1400px}\n  .gaelo-product .hero-mockup{max-width:1280px}\n  .gaelo-product .hero-title{max-width:1200px;font-size:clamp(2.2rem,3.5vw,5.4rem)}\n  .gaelo-product .hero-sub{max-width:820px;font-size:1.35rem}\n}\n@media (min-width:2600px){\n  .gaelo-product .hero-content{max-width:1700px}\n  .gaelo-product .hero-mockup{max-width:1500px}\n  .gaelo-product .hero-title{max-width:1500px}\n}\n.gaelo-product .hero-mockup-bar{\n  display:flex;align-items:center;gap:8px;\n  padding:14px 18px;\n  background:#1a2332;\n  border-bottom:1px solid rgba(255,255,255,.06);\n}\n.gaelo-product .hero-mockup-bar span{\n  width:11px;height:11px;border-radius:50%;\n  background:rgba(255,255,255,.16);\n}\n.gaelo-product .hero-mockup-bar span:nth-child(1){background:#ff5f57}\n.gaelo-product .hero-mockup-bar span:nth-child(2){background:#febc2e}\n.gaelo-product .hero-mockup-bar span:nth-child(3){background:#28c840}\n.gaelo-product .hero-mockup-url{\n  margin-left:18px;\n  padding:5px 14px;\n  background:rgba(255,255,255,.05);\n  border-radius:6px;\n  font-family:var(--font-mono);font-size:.72rem;\n  color:rgba(255,255,255,.45);\n  flex:1;text-align:center;max-width:340px;\n}\n\/* Mobile : hide the URL text in the mockup bar to keep things clean on small screens *\/\n@media (max-width:680px){\n  .gaelo-product .hero-mockup-url{display:none}\n}\n.gaelo-product .hero-mockup img{\n  display:block;width:100%;height:auto;\n}\n\n.gaelo-product .hero-scroll{\n  \/* In normal flow inside .hero-content : guarantees same horizontal center axis\n     as every other hero element (badge, h1, mockup) without scrollbar bugs *\/\n  margin:clamp(36px,5vw,64px) auto 0;\n  display:flex;flex-direction:column;align-items:center;gap:10px;\n  color:rgba(255,255,255,.4);font-family:var(--font-mono);\n  font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;\n  z-index:2;\n  animation:gp-fadeUp 1s var(--ease) 1.8s both;\n}\n.gaelo-product .hero-scroll-dot{\n  width:22px;height:34px;\n  border:1.5px solid rgba(255,255,255,.25);\n  border-radius:20px;position:relative;\n}\n.gaelo-product .hero-scroll-dot::after{\n  content:'';position:absolute;top:6px;left:50%;\n  transform:translateX(-50%);\n  width:4px;height:4px;border-radius:50%;\n  background:var(--teal);\n  animation:gp-scrollDown 2s ease infinite;\n}\n@keyframes gp-scrollDown{0%{top:6px;opacity:1}80%{top:18px;opacity:0}100%{top:6px;opacity:0}}\n\n\/* ============================================================\n   BUTTONS\n   ============================================================ *\/\n.gaelo-product .btn{\n  display:inline-flex;align-items:center;gap:10px;\n  padding:14px 30px;border-radius:50px;\n  font-size:.95rem;font-weight:600;font-family:inherit;\n  text-decoration:none;cursor:pointer;border:none;\n  transition:all .25s var(--ease);\n  line-height:1;\n}\n.gaelo-product .btn:hover{text-decoration:none}\n.gaelo-product .btn svg{width:16px;height:16px;transition:transform .3s var(--ease);flex-shrink:0}\n.gaelo-product .btn:hover svg{transform:translateX(5px)}\n.gaelo-product .btn-primary-light{background:var(--white);color:var(--bg-dark)}\n.gaelo-product .btn-primary-light:hover{\n  background:var(--teal);color:var(--white);transform:translateY(-2px);\n  box-shadow:0 12px 30px rgba(4,149,160,.4);\n}\n.gaelo-product .btn-ghost-light{\n  background:rgba(255,255,255,.06);color:rgba(255,255,255,.92);\n  border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);\n}\n.gaelo-product .btn-ghost-light:hover{\n  background:rgba(255,255,255,.15);transform:translateY(-2px);color:var(--white);\n}\n.gaelo-product .btn-primary{background:var(--teal);color:var(--white)}\n.gaelo-product .btn-primary:hover{\n  background:var(--teal-dark);transform:translateY(-2px);\n  box-shadow:0 12px 30px rgba(4,149,160,.4);color:var(--white);\n}\n.gaelo-product .btn-secondary{\n  background:transparent;color:var(--text);\n  border:1.5px solid var(--border-strong);\n}\n.gaelo-product .btn-secondary:hover{\n  background:var(--text);color:var(--white);transform:translateY(-2px);border-color:var(--text);\n}\n\n\n\/* ============================================================\n   ELEMENTOR-PRO STYLE BODY \u2014 sections, icon boxes, counters,\n   image boxes, feature lists, shape dividers, CTA boxes.\n   Built on top of the existing hero + design tokens.\n   ============================================================ *\/\n\n\/* ---- Section scaffolding (Elementor \"section\" feel) ---- *\/\n.gaelo-product .ep-section{\n  position:relative;\n  padding:clamp(64px,8vw,110px) 0;\n}\n.gaelo-product .ep-section.bg-white{background:var(--white)}\n.gaelo-product .ep-section.bg-soft{background:var(--bg-soft)}\n.gaelo-product .ep-section.bg-tint{\n  background:linear-gradient(180deg,var(--bg-soft),var(--white));\n}\n.gaelo-product .ep-section.bg-dark{\n  background:linear-gradient(160deg,#0d1b2a 0%,#13283a 60%,#102433 100%);\n  color:var(--white);\n}\n.gaelo-product .ep-section.has-divider-top{padding-top:clamp(90px,10vw,140px)}\n.gaelo-product .ep-section.has-divider-bottom{padding-bottom:clamp(90px,10vw,140px)}\n\n\/* ---- Eyebrow \/ heading kit (Elementor heading widget look) ---- *\/\n.gaelo-product .ep-head{\n  max-width:760px;\n  margin-bottom:clamp(40px,5vw,60px);\n}\n.gaelo-product .ep-head.center{\n  margin-left:auto;margin-right:auto;text-align:center;\n}\n.gaelo-product .ep-eyebrow{\n  display:inline-flex;align-items:center;gap:10px;\n  font-family:var(--font-mono);\n  font-size:.74rem;font-weight:600;\n  letter-spacing:.16em;text-transform:uppercase;\n  color:var(--teal);\n  margin-bottom:16px;\n}\n.gaelo-product .ep-section.bg-dark .ep-eyebrow{color:var(--teal-bright)}\n.gaelo-product .ep-eyebrow::before{\n  content:'';width:28px;height:2px;border-radius:2px;background:currentColor;\n}\n.gaelo-product .ep-head.center .ep-eyebrow{justify-content:center}\n.gaelo-product .ep-head h2{\n  font-size:clamp(1.9rem,3.6vw,2.85rem);\n  font-weight:800;line-height:1.12;letter-spacing:-.025em;\n  margin:0 0 18px;\n}\n.gaelo-product .ep-section.bg-dark .ep-head h2{color:var(--white)}\n.gaelo-product .ep-head p{\n  font-size:1.06rem;line-height:1.65;color:var(--muted);margin:0;\n}\n.gaelo-product .ep-section.bg-dark .ep-head p{color:rgba(255,255,255,.7)}\n.gaelo-product .ep-head .accent{color:var(--teal)}\n\n\/* Inline text links (NEMA, DICOM viewer, ICH, Imaging CRO\u2026) \u2014 discreet *\/\n.gaelo-product .intro-text a,\n.gaelo-product .tabs-panel-text a,\n.gaelo-product .iconbox p a,\n.gaelo-product .persona p a{\n  color:var(--teal-dark);\n  text-decoration:underline;\n  text-decoration-color:rgba(3,122,131,.35);\n  text-underline-offset:2px;\n  text-decoration-thickness:1px;\n  transition:color .2s var(--ease),text-decoration-color .2s var(--ease);\n}\n.gaelo-product .intro-text a:hover,\n.gaelo-product .tabs-panel-text a:hover,\n.gaelo-product .iconbox p a:hover,\n.gaelo-product .persona p a:hover{\n  color:var(--teal);\n  text-decoration-color:var(--teal);\n}\n\n\/* ============================================================\n   INTRO \/ MANIFESTO \u2014 two-column with sticky media card\n   ============================================================ *\/\n.gaelo-product .intro-grid{\n  display:grid;\n  grid-template-columns:0.95fr 1.05fr;\n  gap:clamp(32px,5vw,72px);\n  align-items:start;\n}\n.gaelo-product .intro-sticky{position:sticky;top:90px}\n.gaelo-product .intro-card{\n  background:var(--white);\n  border:1px solid var(--border);\n  border-radius:var(--radius-lg);\n  padding:clamp(28px,3.5vw,44px);\n  box-shadow:var(--shadow-md);\n}\n.gaelo-product .intro-card .ep-eyebrow{margin-bottom:18px}\n.gaelo-product .intro-card h2{\n  font-size:clamp(1.7rem,3vw,2.4rem);\n  font-weight:800;line-height:1.15;letter-spacing:-.025em;\n  margin:0 0 22px;color:var(--text);\n}\n.gaelo-product .intro-quote{\n  margin:0;padding:22px 26px;\n  background:var(--teal-soft);\n  border-left:3px solid var(--teal);\n  border-radius:0 var(--radius-sm) var(--radius-sm) 0;\n  font-size:1rem;font-style:italic;color:var(--slate);line-height:1.6;\n}\n.gaelo-product .intro-text > p{\n  font-size:1.04rem;line-height:1.72;margin:0 0 18px;color:var(--slate);\n}\n.gaelo-product .intro-text > p:first-child{\n  font-size:1.16rem;color:var(--text);font-weight:500;\n}\n\/* feature list with checkmarks (Elementor icon-list) *\/\n.gaelo-product .ep-list{\n  list-style:none;padding:0;margin:28px 0 0;\n  display:grid;gap:14px;\n}\n.gaelo-product .ep-list li{\n  display:block;\n  padding:16px 18px 16px 20px;\n  background:var(--bg-soft);\n  border-radius:12px;\n  border-left:3px solid var(--teal);\n  font-size:.96rem;color:var(--text);line-height:1.55;\n  transition:background .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease),border-color .25s var(--ease);\n}\n.gaelo-product .ep-list li:hover{\n  background:var(--white);\n  box-shadow:0 4px 18px rgba(49,64,83,.08);\n  border-left-color:var(--teal-bright);\n  transform:translateX(2px);\n}\n\/* Terme en gras sur sa propre ligne, description dessous : alignement propre et homog\u00e8ne *\/\n.gaelo-product .ep-list li > strong:first-of-type{\n  display:block;\n  color:var(--slate);\n  font-weight:700;font-size:1.01rem;\n  margin-bottom:3px;letter-spacing:-.01em;\n}\n\/* L'ancienne pastille check n'est plus utilis\u00e9e dans ce design *\/\n.gaelo-product .ep-list-check{display:none}\n@media (max-width:860px){\n  .gaelo-product .intro-grid{grid-template-columns:1fr;gap:36px}\n  .gaelo-product .intro-sticky{position:static}\n}\n\n\/* ============================================================\n   COLLAPSIBLE \u2014 \"Read more\" toggle (mobile\/tablet only \u2264900px)\n   The collapse-toggle button is hidden on desktop. On smaller\n   screens, the JS replies content + reveals the button so users\n   don't scroll forever.\n   ============================================================ *\/\n\/* Collapse toggle button \u2014 visible on ALL screens BUT\n   intro toggles (no data-collapse-target) are hidden on desktop\n   since the intro text is fully expanded on desktop. *\/\n.gaelo-product .collapse-toggle{\n  display:inline-flex;align-items:center;gap:8px;\n  margin:14px auto 0;\n  padding:10px 20px;border-radius:50px;\n  background:transparent;border:1px solid var(--border-strong);\n  font-family:inherit;font-size:.9rem;font-weight:600;\n  color:var(--teal-dark);cursor:pointer;\n  transition:all .2s var(--ease);\n  -webkit-tap-highlight-color:transparent;\n}\n\/* hide intro toggles (not grid toggles) on desktop *\/\n.gaelo-product .collapse-toggle:not([data-collapse-target=\"grid\"]){display:none}\n@media (max-width:900px){\n  .gaelo-product .collapse-toggle:not([data-collapse-target=\"grid\"]){display:inline-flex}\n}\n.gaelo-product .collapse-toggle:hover,\n.gaelo-product .collapse-toggle:focus-visible{\n  background:var(--teal-soft);border-color:var(--teal);color:var(--teal-dark);\n  outline:none;\n}\n.gaelo-product .collapse-toggle svg{\n  width:14px;height:14px;\n  transition:transform .25s var(--ease);\n}\n.gaelo-product .collapse-toggle[aria-expanded=\"true\"] svg{transform:rotate(180deg)}\n\/* Generic collapsible (used for the intro text \u2014 mobile only) *\/\n.gaelo-product .collapsible{\n  max-height:9999px;opacity:1;\n  transition:max-height .45s var(--ease),opacity .3s var(--ease);\n}\n\/* Grid items hidden by default \u2014 revealed when grid has data-extended=\"true\" *\/\n.gaelo-product .iconbox.is-extra{display:none}\n.gaelo-product .iconbox-grid[data-extended=\"true\"] .iconbox.is-extra,\n.gaelo-product .iconbox-grid[data-extended=\"true\"] .iconbox.is-extra-mobile{\n  display:flex;\n  animation:gp-fadeUp .4s var(--ease) both;\n}\n\/* wrapper that centers the toggle button under its content *\/\n.gaelo-product .collapse-wrap{\n  display:flex;flex-direction:column;align-items:center;\n  margin-top:14px;\n}\n@media (max-width:900px){\n  \/* on mobile, hide one more card (is-extra-mobile) so we have 5 visible + 7 hidden *\/\n  .gaelo-product .iconbox.is-extra-mobile{display:none}\n  \/* The intro-text collapsible animation kicks in on mobile only *\/\n  .gaelo-product .collapsible[data-collapsed=\"true\"]{\n    max-height:0;overflow:hidden;opacity:0;\n    margin-top:0;margin-bottom:0;\n    transition:max-height .35s var(--ease),opacity .25s var(--ease);\n  }\n}\n\n\/* ============================================================\n   COUNTERS strip (Elementor counter widgets)\n   ============================================================ *\/\n.gaelo-product .counters{\n  display:grid;\n  grid-template-columns:repeat(5,1fr);\n  gap:1px;\n  background:var(--border);\n  border:1px solid var(--border);\n  border-radius:var(--radius-lg);\n  overflow:hidden;\n}\n.gaelo-product .counter{\n  background:var(--white);\n  padding:clamp(26px,3vw,40px) clamp(20px,2.5vw,32px);\n  text-align:center;\n}\n.gaelo-product .ep-section.bg-dark .counters{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14)}\n.gaelo-product .ep-section.bg-dark .counter{background:transparent}\n.gaelo-product .counter-icon{\n  display:flex;align-items:center;justify-content:center;\n  width:38px;height:38px;border-radius:10px;\n  background:var(--teal-soft);\n  color:var(--teal-dark);\n  flex-shrink:0;\n}\n.gaelo-product .counter-icon svg{width:20px;height:20px}\n\/* Variant A : chiffre + ic\u00f4ne sur la m\u00eame ligne *\/\n.gaelo-product .counters-a .counter-row{\n  display:flex;align-items:center;justify-content:center;gap:14px;\n}\n\/* Variant B : ic\u00f4ne tout en bas *\/\n.gaelo-product .counter-icon-bottom{\n  margin:14px auto 0;\n}\n.gaelo-product .counter-num{\n  font-size:clamp(2.1rem,4vw,3rem);\n  font-weight:800;line-height:1;letter-spacing:-.03em;\n  color:var(--teal);\n  font-variant-numeric:tabular-nums;\n}\n.gaelo-product .ep-section.bg-dark .counter-num{color:var(--teal-bright)}\n.gaelo-product .counter-num .suffix{color:var(--orange);margin-left:.18em}\n.gaelo-product .counter-label{\n  margin-top:10px;\n  font-family:var(--font-mono);\n  font-size:.72rem;font-weight:500;\n  letter-spacing:.08em;text-transform:uppercase;\n  color:var(--muted);\n}\n.gaelo-product .ep-section.bg-dark .counter-label{color:rgba(255,255,255,.6)}\n@media (max-width:1080px){\n  .gaelo-product .counters{grid-template-columns:repeat(3,1fr)}\n}\n@media (max-width:680px){\n  .gaelo-product .counters{grid-template-columns:repeat(2,1fr)}\n}\n\n\/* ============================================================\n   TABS (kept, restyled a touch toward Elementor tabs widget)\n   ============================================================ *\/\n.gaelo-product .tabs{margin-top:8px}\n.gaelo-product .tabs-nav{\n  display:flex;gap:6px;margin-bottom:28px;padding:6px;\n  background:var(--white);border-radius:50px;border:1px solid var(--border);\n  box-shadow:var(--shadow-sm);flex-wrap:wrap;\n  max-width:fit-content;margin-left:auto;margin-right:auto;\n}\n.gaelo-product .tabs-btn{\n  border:none;background:transparent;padding:12px 24px;border-radius:50px;\n  font-family:inherit;font-size:.92rem;font-weight:600;color:var(--muted);\n  cursor:pointer;transition:all .3s var(--ease);\n  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;\n}\n.gaelo-product .tabs-btn:hover{color:var(--text)}\n.gaelo-product .tabs-btn[aria-selected=\"true\"]{\n  background:var(--teal);color:var(--white);box-shadow:0 4px 14px rgba(4,149,160,.3);\n}\n.gaelo-product .tabs-btn-num{font-family:var(--font-mono);font-size:.7rem;opacity:.7}\n.gaelo-product .tabs-panel{display:none;animation:gp-tabFade .5s var(--ease)}\n.gaelo-product .tabs-panel.is-active{display:block}\n@keyframes gp-tabFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}\n.gaelo-product .tabs-panel-inner{\n  display:flex;flex-direction:column;gap:clamp(20px,3vw,36px);\n  background:var(--white);border-radius:var(--radius-lg);\n  padding:clamp(26px,3.5vw,48px);box-shadow:var(--shadow-sm);border:1px solid var(--border);\n}\n.gaelo-product .tabs-panel-text{max-width:900px;margin:0 auto;width:100%;text-align:left}\n.gaelo-product .tabs-panel h3{font-size:clamp(1.35rem,2.4vw,1.8rem);margin-bottom:16px}\n.gaelo-product .tabs-panel-text p{font-size:.98rem;line-height:1.7}\n.gaelo-product .tabs-panel-text p + p{margin-top:14px}\n.gaelo-product .tabs-panel-visual{\n  position:relative;border-radius:var(--radius-md);overflow:hidden;\n  background:#0d1b2a;border:1px solid var(--border);\n  width:100%;\n}\n.gaelo-product .tabs-panel-visual img{\n  width:100%;height:auto;display:block;\n  \/* show the screenshot at its natural ratio, not cropped *\/\n}\n@media (max-width:860px){\n  .gaelo-product .tabs-panel-inner{padding:24px}\n  .gaelo-product .tabs-nav{\n    max-width:none;\n    flex-direction:column;\n    align-items:stretch;\n    border-radius:14px;\n    padding:8px;\n    gap:4px;\n  }\n  .gaelo-product .tabs-btn{\n    flex-shrink:0;\n    border-radius:10px;\n    width:100%;\n    justify-content:center;\n    padding:12px 18px;\n    white-space:normal;\n    text-align:center;\n  }\n}\n\n\/* ============================================================\n   CRITERIA BLOCK + TABLE\n   ============================================================ *\/\n.gaelo-product .criteria-block{\n  margin-top:48px;padding:clamp(28px,4vw,48px);\n  background:var(--white);border-radius:var(--radius-lg);\n  border:1px solid var(--border);box-shadow:var(--shadow-sm);\n  scroll-margin-top:80px;\n}\n.gaelo-product .criteria-block-head{max-width:680px;margin-bottom:28px}\n.gaelo-product .criteria-block-title{\n  font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:700;letter-spacing:-.02em;\n  margin:8px 0 12px;color:var(--text);\n}\n.gaelo-product .criteria-block-sub{font-size:1rem;line-height:1.65;color:var(--muted);margin:0}\n.gaelo-product .criteria-table{\n  background:var(--white);border-radius:var(--radius-md);overflow:hidden;\n  border:1px solid var(--border);\n}\n.gaelo-product .criteria-table table{width:100%;border-collapse:collapse;font-size:.95rem}\n.gaelo-product .criteria-table thead th{\n  text-align:left;padding:16px 22px;\n  background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:var(--white);\n  font-family:var(--font-mono);font-weight:600;font-size:.76rem;\n  letter-spacing:.1em;text-transform:uppercase;\n}\n.gaelo-product .criteria-table tbody td{padding:18px 22px;border-top:1px solid var(--border);vertical-align:top}\n.gaelo-product .criteria-table tbody tr:hover{background:rgba(4,149,160,.03)}\n.gaelo-product .criteria-table .topic{font-weight:700;color:var(--text);white-space:nowrap}\n.gaelo-product .criteria-list{display:flex;flex-wrap:wrap;gap:8px}\n.gaelo-product .criteria-link{\n  display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:50px;\n  background:var(--teal-soft);color:var(--teal-dark);font-size:.85rem;font-weight:600;\n  text-decoration:none;transition:all .25s var(--ease);border:1px solid transparent;\n}\n.gaelo-product .criteria-link:hover{\n  background:var(--teal);color:var(--white);text-decoration:none;\n  transform:translateY(-1px);box-shadow:0 6px 14px rgba(4,149,160,.3);\n}\n.gaelo-product .criteria-link svg{width:11px;height:11px;opacity:.7}\n@media (max-width:700px){\n  .gaelo-product .criteria-block{padding:22px 16px}\n  .gaelo-product .criteria-table{font-size:.88rem}\n  .gaelo-product .criteria-table thead th,\n  .gaelo-product .criteria-table tbody td{padding:13px 14px}\n  .gaelo-product .criteria-table .topic{white-space:normal}\n}\n\n\/* ============================================================\n   ICON BOXES grid (Elementor icon-box widget) \u2014 Core Features\n   ============================================================ *\/\n.gaelo-product .iconbox-grid{\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  gap:24px;\n}\n.gaelo-product .iconbox{\n  background:var(--white);\n  border:1px solid var(--border);\n  border-radius:var(--radius-md);\n  padding:32px 28px;\n  transition:all .3s var(--ease);\n  position:relative;\n  display:flex;flex-direction:column;\n}\n.gaelo-product .iconbox:hover{\n  border-color:var(--teal);\n  box-shadow:var(--shadow-md);\n  transform:translateY(-4px);\n}\n.gaelo-product .iconbox-icon{\n  width:56px;height:56px;border-radius:14px;\n  background:var(--teal-soft);color:var(--teal);\n  display:flex;align-items:center;justify-content:center;\n  margin-bottom:20px;transition:all .3s var(--ease);\n}\n.gaelo-product .iconbox:hover .iconbox-icon{\n  background:var(--teal);color:var(--white);\n  transform:scale(1.05);\n}\n.gaelo-product .iconbox-icon svg{width:26px;height:26px}\n.gaelo-product .iconbox h3{\n  font-size:1.12rem;font-weight:700;letter-spacing:-.01em;\n  margin:0 0 12px;color:var(--text);\n}\n.gaelo-product .iconbox p{\n  font-size:.94rem;line-height:1.62;color:var(--muted);margin:0;\n}\n.gaelo-product .iconbox .ep-list{margin-top:16px;gap:9px}\n.gaelo-product .iconbox .ep-list li{font-size:.9rem;color:var(--slate);gap:10px}\n.gaelo-product .iconbox .ep-list-check{width:20px;height:20px}\n.gaelo-product .iconbox .ep-list-check svg{width:10px;height:10px}\n.gaelo-product .iconbox-media{\n  margin:18px -28px -32px;border-top:1px solid var(--border);\n  border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;\n}\n.gaelo-product .iconbox-media img{display:block;width:100%;height:auto}\n@media (max-width:920px){\n  .gaelo-product .iconbox-grid{grid-template-columns:repeat(2,1fr)}\n}\n@media (max-width:600px){\n  .gaelo-product .iconbox-grid{grid-template-columns:1fr}\n}\n\n\/* ============================================================\n   USER ROLES \u2014 carousel : 3 portrait cards visible at a time,\n   navigate with left\/right arrows (matches the old site).\n   ============================================================ *\/\n.gaelo-product .roles-wrap{\n  max-width:1280px;margin:0 auto;\n  padding:clamp(20px,3vw,32px) clamp(16px,2vw,28px);\n  position:relative;\n}\n.gaelo-product .roles-viewport{\n  position:relative;\n  overflow:hidden;\n  padding:0 clamp(40px,5vw,72px);\n}\n.gaelo-product .roles-track{\n  display:flex;\n  gap:24px;\n  transition:transform .55s cubic-bezier(.65,.05,.36,1);\n  will-change:transform;\n}\n.gaelo-product .role-card{\n  position:relative;\n  flex:0 0 calc((100% - 48px) \/ 3);\n  background:var(--white);\n  border:1px solid var(--border);\n  border-radius:var(--radius-md);\n  overflow:hidden;\n  display:flex;flex-direction:column;\n  transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease);\n  min-height:520px;\n  box-shadow:var(--shadow-sm);\n}\n.gaelo-product .role-card::before{\n  content:'';position:absolute;top:0;left:0;right:0;height:4px;\n  background:var(--role-accent,var(--teal));\n  z-index:2;\n}\n.gaelo-product .role-card:hover{\n  border-color:var(--role-accent,var(--teal));\n  box-shadow:var(--shadow-md);\n  transform:translateY(-3px);\n}\n.gaelo-product .role-card.investigator{--role-accent:#FFBA4D}\n.gaelo-product .role-card.controller{--role-accent:#5DD0DA}\n.gaelo-product .role-card.reviewer{--role-accent:#9B97D9}\n.gaelo-product .role-card.supervisor{--role-accent:#7773C8}\n.gaelo-product .role-card.monitor{--role-accent:#6FCC85}\n.gaelo-product .role-card-visual{\n  background:rgb(150,146,205);\n  height:260px;\n  display:flex;align-items:center;justify-content:center;\n  overflow:hidden;\n}\n.gaelo-product .role-card-visual img{\n  max-width:78%;max-height:210px;\n  width:auto;height:auto;object-fit:contain;\n  transition:transform .5s var(--ease);\n}\n.gaelo-product .role-card:hover .role-card-visual img{transform:scale(1.04)}\n.gaelo-product .role-card-body{\n  padding:30px 28px 32px;\n  display:flex;flex-direction:column;\n  flex:1;text-align:center;\n}\n.gaelo-product .role-card-label{\n  font-family:var(--font-mono);font-size:.65rem;font-weight:600;\n  color:var(--role-accent,var(--teal));\n  letter-spacing:.16em;text-transform:uppercase;\n  margin-bottom:10px;\n}\n.gaelo-product .role-card h3{\n  font-size:1.35rem;font-weight:700;letter-spacing:-.01em;\n  margin:0 0 18px;color:var(--text);\n}\n.gaelo-product .role-card p{\n  font-size:.92rem;line-height:1.6;color:var(--muted);margin:0;\n}\n\/* Navigation arrows *\/\n.gaelo-product .roles-nav{\n  position:absolute;top:50%;transform:translateY(-50%);\n  width:44px;height:44px;border-radius:50%;\n  background:var(--white);\n  border:1px solid var(--border-strong);\n  color:var(--slate);\n  cursor:pointer;\n  display:flex;align-items:center;justify-content:center;\n  transition:all .25s var(--ease);\n  z-index:5;\n  box-shadow:var(--shadow-sm);\n  -webkit-tap-highlight-color:transparent;\n}\n.gaelo-product .roles-nav:hover{\n  background:var(--teal-soft);\n  border-color:var(--teal);\n  color:var(--teal-dark);\n}\n.gaelo-product .roles-nav:disabled{\n  opacity:.40;cursor:not-allowed;\n}\n.gaelo-product .roles-nav svg{width:18px;height:18px}\n.gaelo-product .roles-nav-prev{left:clamp(8px,1vw,18px)}\n.gaelo-product .roles-nav-next{right:clamp(8px,1vw,18px)}\n\/* Pagination dots *\/\n.gaelo-product .roles-dots{\n  display:flex;gap:8px;justify-content:center;\n  margin-top:28px;\n}\n.gaelo-product .roles-dot{\n  width:8px;height:8px;border-radius:50%;\n  background:rgba(13,27,42,.22);\n  cursor:pointer;border:none;padding:0;\n  transition:all .25s var(--ease);\n  -webkit-tap-highlight-color:transparent;\n}\n.gaelo-product .roles-dot.is-active{\n  background:var(--teal);width:24px;border-radius:4px;\n}\n\/* Tablet : 2 cards visible *\/\n@media (max-width:980px){\n  .gaelo-product .role-card{flex:0 0 calc((100% - 24px) \/ 2);min-height:480px}\n  .gaelo-product .roles-viewport{padding:0 56px}\n}\n\/* Mobile : 1 card visible *\/\n@media (max-width:640px){\n  .gaelo-product .role-card{flex:0 0 100%;min-height:440px}\n  .gaelo-product .roles-viewport{padding:0 48px}\n  .gaelo-product .roles-wrap{padding:32px 12px}\n  .gaelo-product .role-card-visual{height:220px}\n  .gaelo-product .role-card-body{padding:24px 22px 26px}\n}\n\n\/* ============================================================\n   DATA STRUCTURE \u2014 3 design options to compare (A \/ B \/ C)\n   ============================================================ *\/\n\n\/* \u2500\u2500\u2500 OPTION A : Cards + arrows \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gaelo-product .ds-cards{\n  display:flex;align-items:stretch;justify-content:center;\n  gap:14px;flex-wrap:nowrap;\n  max-width:1180px;margin:40px auto 0;\n}\n.gaelo-product .ds-card{\n  flex:1 1 0;min-width:0;\n  padding:24px 18px 26px;\n  border-radius:var(--radius-md);\n  color:#fff;\n  display:flex;flex-direction:column;align-items:center;justify-content:center;\n  text-align:center;gap:6px;\n  min-height:150px;\n  box-shadow:0 8px 24px rgba(13,27,42,.10);\n  transition:transform .3s var(--ease),box-shadow .3s var(--ease);\n}\n.gaelo-product .ds-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(13,27,42,.18)}\n.gaelo-product .ds-card-1{background:#037a83}\n.gaelo-product .ds-card-2{background:#353275}\n.gaelo-product .ds-card-3{background:#FFBA4D;color:#fff}\n.gaelo-product .ds-card-4{background:#2c3e54}\n.gaelo-product .ds-card-5{background:#3aa256}\n.gaelo-product .ds-card-title{\n  font-size:1.1rem;font-weight:800;letter-spacing:-.01em;line-height:1.15;\n}\n.gaelo-product .ds-card-sub{\n  font-size:.78rem;line-height:1.4;opacity:.92;font-weight:400;margin-top:4px;\n}\n.gaelo-product .ds-arrow{\n  display:flex;align-items:center;justify-content:center;\n  color:var(--muted);flex-shrink:0;\n}\n.gaelo-product .ds-arrow svg{width:22px;height:22px}\n@media (max-width:860px){\n  .gaelo-product .ds-cards{flex-direction:column;gap:8px}\n  .gaelo-product .ds-arrow{transform:rotate(90deg);padding:4px 0}\n}\n\n\/* ============================================================\n   MODALITIES \u2014 image boxes (photo cards)\n   ============================================================ *\/\n.gaelo-product .modalities-grid{\n  display:grid;grid-template-columns:repeat(6,1fr);\n  gap:26px;\n  max-width:1080px;margin-left:auto;margin-right:auto;\n}\n\/* 3 per row : each card spans 2 of the 6 columns *\/\n.gaelo-product .modalities-grid .mod-card{grid-column:span 2}\n\/* last row has 2 cards (4 & 5) \u2192 center them: card 4 starts col 2, card 5 starts col 4 *\/\n.gaelo-product .modalities-grid .mod-card:nth-child(4){grid-column:2 \/ span 2}\n.gaelo-product .modalities-grid .mod-card:nth-child(5){grid-column:4 \/ span 2}\n@media (max-width:860px){\n  .gaelo-product .modalities-grid{grid-template-columns:repeat(2,1fr);max-width:none}\n  .gaelo-product .modalities-grid .mod-card,\n  .gaelo-product .modalities-grid .mod-card:nth-child(4),\n  .gaelo-product .modalities-grid .mod-card:nth-child(5){grid-column:auto}\n}\n@media (max-width:560px){\n  .gaelo-product .modalities-grid{grid-template-columns:1fr}\n}\n.gaelo-product .mod-card{\n  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);\n  transition:all .35s var(--ease);position:relative;overflow:hidden;\n  display:flex;flex-direction:column;\n}\n.gaelo-product .mod-card::after{\n  content:'';position:absolute;top:0;left:0;width:100%;height:3px;\n  background:linear-gradient(90deg,var(--teal),var(--teal-bright));\n  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);z-index:3;\n}\n.gaelo-product .mod-card:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:var(--shadow-md)}\n.gaelo-product .mod-card:hover::after{transform:scaleX(1)}\n.gaelo-product .mod-card-media{position:relative;aspect-ratio:16\/10;overflow:hidden;background:#0d1b2a}\n.gaelo-product .mod-card-media img{\n  width:100%;height:100%;object-fit:cover;display:block;\n  transition:transform .6s var(--ease),filter .4s var(--ease);filter:saturate(.95);\n}\n.gaelo-product .mod-card:hover .mod-card-media img{transform:scale(1.06);filter:saturate(1.1)}\n.gaelo-product .mod-card-media::after{\n  content:'';position:absolute;inset:0;pointer-events:none;\n  background:linear-gradient(180deg,transparent 55%,rgba(13,27,42,.35));\n}\n.gaelo-product .mod-card-body{padding:22px 24px 24px;flex:1;display:flex;flex-direction:column}\n.gaelo-product .mod-card h3{font-size:1.1rem;margin:0 0 8px;letter-spacing:-.01em;color:var(--text)}\n.gaelo-product .mod-card p{font-size:.92rem;line-height:1.55;color:var(--muted);margin:0}\n\n\/* ============================================================\n   PERSONAS \u2014 icon boxes with accent border\n   ============================================================ *\/\n.gaelo-product .personas-grid{\n  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;\n}\n.gaelo-product .persona{\n  position:relative;padding:30px 28px;border-radius:var(--radius-md);\n  background:var(--white);border:1px solid var(--border);\n  transition:all .35s var(--ease);overflow:hidden;\n}\n.gaelo-product .persona::before{\n  content:'';position:absolute;top:0;left:0;right:0;height:4px;\n  background:var(--accent,var(--teal));\n}\n.gaelo-product .persona:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--accent,var(--teal))}\n.gaelo-product .persona.pharma{--accent:var(--teal)}\n.gaelo-product .persona.medtech{--accent:var(--indigo)}\n.gaelo-product .persona.academic{--accent:var(--orange)}\n.gaelo-product .persona.cro{--accent:#3aa256}\n.gaelo-product .persona-icon{\n  width:50px;height:50px;border-radius:12px;background:var(--bg-soft);\n  border:1px solid var(--border);color:var(--accent,var(--teal));\n  display:flex;align-items:center;justify-content:center;margin-bottom:18px;\n}\n.gaelo-product .persona-icon svg{width:23px;height:23px}\n.gaelo-product .persona-label{\n  font-family:var(--font-mono);font-size:.68rem;font-weight:600;\n  color:var(--accent,var(--teal));letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;\n}\n.gaelo-product .persona h3{font-size:1.12rem;margin:0 0 10px;color:var(--text)}\n.gaelo-product .persona p{font-size:.93rem;line-height:1.6;color:var(--muted);margin:0}\n.gaelo-product .persona p a{color:var(--accent,var(--teal));font-weight:600;text-decoration:underline}\n\n\/* ============================================================\n   ECOSYSTEM \u2014 product image-boxes\n   ============================================================ *\/\n.gaelo-product .eco-grid{\n  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;\n}\n.gaelo-product .eco-card{\n  position:relative;display:flex;flex-direction:column;\n  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);\n  overflow:hidden;transition:all .4s var(--ease);\n}\n.gaelo-product .eco-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--eco-accent,var(--teal))}\n.gaelo-product .eco-card.gaelo{--eco-accent:var(--teal);--eco-accent-soft:var(--teal-soft);--eco-deep:#037a83;--eco-grad:linear-gradient(150deg,#0495A0 0%,#037a83 55%,#02666d 100%)}\n.gaelo-product .eco-card.flow{--eco-accent:var(--indigo);--eco-accent-soft:var(--indigo-soft);--eco-deep:#2a2860;--eco-grad:linear-gradient(150deg,#3f3c86 0%,#353275 55%,#2a2860 100%)}\n.gaelo-product .eco-card.algo{--eco-accent:#cc8200;--eco-accent-soft:var(--orange-soft);--eco-deep:#b5760a;--eco-grad:linear-gradient(150deg,#FFBA4D 0%,#f0a52f 100%)}\n.gaelo-product .eco-visual{\n  position:relative;display:flex;align-items:center;justify-content:center;height:190px;\n  background:var(--eco-grad,linear-gradient(150deg,var(--teal),var(--teal-dark)));\n  overflow:hidden;\n}\n\/* subtle tech grid texture over the colored band \u2014 discreet, not kitsch *\/\n.gaelo-product .eco-visual::before{\n  content:'';position:absolute;inset:0;pointer-events:none;\n  background-image:\n    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),\n    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);\n  background-size:26px 26px;\n  -webkit-mask-image:radial-gradient(ellipse 75% 75% at 30% 25%,black,transparent 80%);\n  mask-image:radial-gradient(ellipse 75% 75% at 30% 25%,black,transparent 80%);\n}\n\/* soft light bloom in a corner for depth *\/\n.gaelo-product .eco-visual::after{\n  content:'';position:absolute;top:-40%;right:-20%;\n  width:70%;height:140%;border-radius:50%;pointer-events:none;\n  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%);\n}\n.gaelo-product .eco-visual img{\n  position:relative;z-index:1;\n  max-width:80%;max-height:110px;width:auto;height:auto;object-fit:contain;\n  transition:transform .5s var(--ease);\n  \/* render brand logos in white over the colored band *\/\n  filter:brightness(0) invert(1);\n}\n.gaelo-product .eco-card:hover .eco-visual img{transform:scale(1.04)}\n\/* AI card keeps the real photo \u2014 colored veil from the charter (orange) for cohesion *\/\n.gaelo-product .eco-visual.cover{background:#0d1b2a}\n.gaelo-product .eco-visual.cover::before{display:none}\n.gaelo-product .eco-visual.cover::after{\n  content:'';position:absolute;inset:0;top:auto;right:auto;width:100%;height:100%;border-radius:0;\n  background:linear-gradient(180deg,rgba(255,186,77,.12) 0%,transparent 35%,rgba(13,27,42,.55) 100%);\n}\n.gaelo-product .eco-visual.cover img{\n  max-width:none;max-height:none;width:100%;height:100%;object-fit:cover;\n  object-position:top center;\n  filter:none;\n}\n.gaelo-product .eco-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}\n.gaelo-product .eco-tag{\n  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);\n  font-size:.68rem;font-weight:600;color:var(--eco-accent,var(--teal));\n  letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;\n}\n.gaelo-product .eco-tag::before{content:'';width:18px;height:2px;border-radius:2px;background:var(--eco-accent,var(--teal))}\n.gaelo-product .eco-card h3{font-size:1.2rem;margin:0 0 14px;letter-spacing:-.015em;color:var(--text)}\n.gaelo-product .eco-card p{font-size:.95rem;line-height:1.6;color:var(--muted);margin:0 0 22px;flex:1}\n.gaelo-product .eco-link{\n  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;\n  padding:11px 20px;border-radius:50px;background:var(--eco-accent-soft,var(--teal-soft));\n  color:var(--eco-accent,var(--teal));font-size:.88rem;font-weight:600;\n  text-decoration:none;transition:all .25s var(--ease);border:1px solid transparent;\n}\n.gaelo-product .eco-link:hover{background:var(--eco-accent,var(--teal));color:var(--white);text-decoration:none;transform:translateX(3px)}\n.gaelo-product .eco-link svg{width:13px;height:13px;transition:transform .25s var(--ease)}\n.gaelo-product .eco-link:hover svg{transform:translateX(3px)}\n@media (max-width:920px){.gaelo-product .eco-grid{grid-template-columns:1fr;gap:18px}}\n\n\/* ============================================================\n   CALLOUT BOX (Elementor CTA box) \u2014 mid-page conversion\n   ============================================================ *\/\n.gaelo-product .callout{\n  display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:clamp(28px,4vw,56px);\n  background:linear-gradient(135deg,var(--teal),var(--teal-dark));\n  border-radius:var(--radius-xl);padding:clamp(36px,5vw,64px);\n  color:var(--white);position:relative;overflow:hidden;\n}\n.gaelo-product .callout::before{\n  content:'';position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(ellipse 50% 80% at 100% 0%,rgba(255,255,255,.14),transparent);\n}\n.gaelo-product .callout-content{position:relative;z-index:1}\n.gaelo-product .callout h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;color:var(--white);letter-spacing:-.025em;margin:0 0 14px;line-height:1.15}\n.gaelo-product .callout p{color:rgba(255,255,255,.85);font-size:1.02rem;line-height:1.6;margin:0}\n.gaelo-product .callout-actions{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px}\n@media (max-width:820px){\n  .gaelo-product .callout{grid-template-columns:1fr;gap:24px}\n  .gaelo-product .callout-actions{flex-direction:row;flex-wrap:wrap}\n}\n\n\/* ============================================================\n   FINAL CTA \u2014 full-width edge-to-edge\n   ============================================================ *\/\n.gaelo-product .final-cta{\n  position:relative;overflow:hidden;width:100vw;\n  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);\n  padding:clamp(80px,10vw,130px) clamp(20px,5vw,80px);\n  background:linear-gradient(135deg,var(--indigo),#1d1a5e,#0d2a42);\n  text-align:center;color:var(--white);\n}\n.gaelo-product .final-cta-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(4,149,160,.28),transparent)}\n.gaelo-product .final-cta-grid-overlay{\n  position:absolute;inset:0;pointer-events:none;\n  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);\n  background-size:50px 50px;\n  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);\n  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);\n}\n.gaelo-product .final-cta-content{position:relative;z-index:1;max-width:680px;margin:0 auto}\n.gaelo-product .final-cta h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;color:var(--white);margin-bottom:18px}\n.gaelo-product .final-cta-sub{color:rgba(255,255,255,.65);font-weight:300;font-size:1.05rem;margin-bottom:38px;max-width:520px;margin-left:auto;margin-right:auto}\n.gaelo-product .final-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}\n\n\/* ============================================================\n   LIGHTBOX \u2014 click any image to enlarge (sober, not fullscreen)\n   ============================================================ *\/\n.gaelo-product .zoomable{\n  cursor:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='13' cy='13' r='8' fill='rgba(4,149,160,0.35)'\/%3E%3Cline x1='19' y1='19' x2='27' y2='27'\/%3E%3Cline x1='13' y1='10' x2='13' y2='16'\/%3E%3Cline x1='10' y1='13' x2='16' y2='13'\/%3E%3C\/g%3E%3C\/svg%3E\") 13 13, zoom-in;\n}\n.gp-lightbox{\n  position:fixed;inset:0;z-index:99999;\n  display:flex;align-items:center;justify-content:center;\n  padding:clamp(20px,5vw,64px);\n  background:rgba(13,27,42,.82);\n  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);\n  opacity:0;visibility:hidden;\n  transition:opacity .3s cubic-bezier(.16,1,.3,1),visibility .3s;\n  cursor:zoom-out;\n}\n.gp-lightbox.is-open{opacity:1;visibility:visible}\n.gp-lightbox-img{\n  max-width:min(1100px,92vw);max-height:86vh;\n  width:auto;height:auto;\n  border-radius:10px;\n  box-shadow:0 30px 90px rgba(0,0,0,.5);\n  transform:scale(.96);\n  transition:transform .3s cubic-bezier(.16,1,.3,1);\n  background:#0d1b2a;\n  cursor:zoom-out;\n}\n\/* large screens : let the zoomed image grow to actually fill the screen *\/\n@media (min-width:1900px){\n  .gp-lightbox-img{max-width:min(1600px,92vw);max-height:88vh}\n}\n@media (min-width:2600px){\n  .gp-lightbox-img{max-width:min(2200px,92vw);max-height:90vh}\n}\n.gp-lightbox.is-open .gp-lightbox-img{transform:scale(1)}\n.gp-lightbox-close{\n  position:absolute;top:clamp(16px,3vw,28px);right:clamp(16px,3vw,28px);\n  width:44px;height:44px;border-radius:50%;\n  border:1px solid rgba(255,255,255,.25);\n  background:rgba(255,255,255,.1);color:#fff;\n  display:flex;align-items:center;justify-content:center;cursor:pointer;\n  transition:all .2s ease;\n}\n.gp-lightbox-close:hover{background:rgba(255,255,255,.2);transform:rotate(90deg)}\n.gp-lightbox-close svg{width:20px;height:20px}\n.gp-lightbox-cap{\n  position:absolute;bottom:clamp(16px,3vw,28px);left:0;right:0;\n  text-align:center;color:rgba(255,255,255,.7);\n  font-family:var(--font-mono);font-size:.78rem;\n  padding:0 24px;pointer-events:none;\n}\n@media (prefers-reduced-motion:reduce){\n  .gp-lightbox,.gp-lightbox-img{transition:none}\n}\n\n\/* ============================================================\n   REVEAL ON SCROLL\n   ============================================================ *\/\n.gaelo-product .reveal{\n  opacity:0;transform:translateY(32px);\n  transition:opacity .9s var(--ease),transform .9s var(--ease);\n}\n.gaelo-product .reveal.is-visible{opacity:1;transform:none}\n.gaelo-product .reveal-d1{transition-delay:.08s}\n.gaelo-product .reveal-d2{transition-delay:.16s}\n.gaelo-product .reveal-d3{transition-delay:.24s}\n.gaelo-product .reveal-d4{transition-delay:.32s}\n\n@keyframes gp-fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}\n\n\/* ============================================================\n   RESPONSIVE\n   ============================================================ *\/\n@media (max-width:900px){\n  .gaelo-product{font-size:16px}\n  .gaelo-product .hero{min-height:auto;padding:80px 20px 60px}\n  .gaelo-product .hero-scroll{display:none}\n  .gaelo-product .hero-mockup{margin-top:8px}\n  \/* hide the platform badge on mobile \u2014 leave more room for the H1 *\/\n  .gaelo-product .hero-badge{display:none}\n}\n@media (max-width:640px){\n  .gaelo-product .hero-actions{flex-direction:column;width:100%;align-items:stretch}\n  .gaelo-product .hero-actions .btn{justify-content:center;width:100%}\n  .gaelo-product .final-cta-actions{flex-direction:column;width:100%;align-items:stretch}\n  .gaelo-product .final-cta-actions .btn{justify-content:center}\n}\n@media (prefers-reduced-motion:reduce){\n  .gaelo-product *,\n  .gaelo-product *::before,\n  .gaelo-product *::after{\n    animation-duration:.01ms!important;\n    animation-iteration-count:1!important;\n    transition-duration:.01ms!important;\n  }\n}\n<\/style>\n\n<!-- ===== JSON-LD : SoftwareApplication + BreadcrumbList ===== -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"SoftwareApplication\",\n      \"@id\": \"\/en\/software\/clinical-trial-imaging-platform\/#software\",\n      \"name\": \"GaelO\",\n      \"applicationCategory\": \"MedicalApplication\",\n      \"operatingSystem\": \"Web-based\",\n      \"url\": \"\/en\/software\/\",\n      \"description\": \"Clinical trial imaging management platform for secure DICOM orchestration, automated de-identification, and standardized central imaging review.\",\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Pixilib\",\n        \"url\": \"\/\"\n      },\n      \"featureList\": [\n        \"DICOM data collection and de-identification\",\n        \"Central imaging review with disease-specific criteria\",\n        \"Blind Independent Central Review (BICR)\",\n        \"Real-time Quality Control\",\n        \"Audit trail compliant with ICH E6(R3)\",\n        \"GDPR and HIPAA compliant\",\n        \"Multi-modal imaging support (CT, MRI, PET, RT, Pathology)\"\n      ]\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"itemListElement\": [\n        { \"@type\": \"ListItem\", \"position\": 1, \"name\": \"Home\", \"item\": \"\/en\/\" },\n        { \"@type\": \"ListItem\", \"position\": 2, \"name\": \"Software\", \"item\": \"\/en\/software\/\" },\n        { \"@type\": \"ListItem\", \"position\": 3, \"name\": \"GaelO \u2014 Clinical Trial Imaging Platform\", \"item\": \"\/en\/software\/\" }\n      ]\n    }\n  ]\n}\n<\/script>\n\n<article class=\"gaelo-product\" lang=\"en\">\n\n  <!-- Scroll progress bar -->\n  <div class=\"scroll-progress\" aria-hidden=\"true\"><\/div>\n\n  <!-- ============================================================\n       HERO\n       ============================================================ -->\n  <header class=\"hero\" role=\"banner\">\n    <div class=\"hero-canvas\" aria-hidden=\"true\">\n      <div class=\"hero-orb o1\"><\/div>\n      <div class=\"hero-orb o2\"><\/div>\n      <div class=\"hero-orb o3\"><\/div>\n      <div class=\"hero-grid\"><\/div>\n    <\/div>\n\n    <div class=\"hero-content\">\n      <span class=\"hero-badge\">\n        <span class=\"hero-badge-dot\"><\/span>\n        Clinical Trial Imaging Platform\n      <\/span>\n\n      <h1 class=\"hero-title\">\n        <span class=\"word w1\">Clinical<\/span>\n        <span class=\"word w2\">Trial<\/span>\n        <span class=\"word w3 accent\">Imaging<\/span>\n        <span class=\"word w4\">Management<\/span>\n        <span class=\"word w5\">Platform:<\/span>\n        <span class=\"word w6 accent-o\">GaelO<\/span>\n      <\/h1>\n\n      <p class=\"hero-sub\">The all-in-one solution for secure medical imaging orchestration and standardized central imaging review.<\/p>\n\n      <div class=\"hero-actions\">\n        <a href=\"\/en\/contact\/\" class=\"btn btn-primary-light\">\n          Request a Demo\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n        <\/a>\n        <a href=\"#features\" class=\"btn btn-ghost-light\">Explore Features<\/a>\n      <\/div>\n\n      <figure class=\"hero-mockup\">\n        <div class=\"hero-mockup-bar\">\n          <span><\/span><span><\/span><span><\/span>\n          <div class=\"hero-mockup-url\">gaelo.fr \u00b7 clinical-trial-dashboard<\/div>\n        <\/div>\n        <img fetchpriority=\"high\"\n          src=\"\/wp-content\/uploads\/2026\/04\/clinical-trial-dashboard-gaelo.webp\"\n          alt=\"GaelO dashboard displaying clinical trial progress and study statistics.\"\n          width=\"1600\" height=\"1000\"\n          fetchpriority=\"high\" decoding=\"async\">\n      <\/figure>\n\n    <div class=\"hero-scroll\" aria-hidden=\"true\">\n      <div class=\"hero-scroll-dot\"><\/div>\n      Scroll\n    <\/div>\n    <\/div>\n  <\/header>\n\n  <!-- ============================================================\n       SECTION \u2014 INTRO \/ MANIFESTO (sticky media + checklist)\n       H2 : Make Medical Imaging a decisional endpoint\u2026\n       ============================================================ -->\n  <section class=\"ep-section bg-white\" aria-labelledby=\"intro-title\">\n    <div class=\"container\">\n      <div class=\"intro-grid\">\n\n        <div class=\"intro-sticky reveal\">\n          <div class=\"intro-card\">\n            <span class=\"ep-eyebrow\">Our Vision<\/span>\n            <h2 id=\"intro-title\">Make Medical Imaging a decisional endpoint to build innovative clinical trials<\/h2>\n            <blockquote class=\"intro-quote\">\"Medical imaging is wrongly seen as a complicated modality to integrate in clinical trials and thus has not yet reached its real place: a diagnostic and prognostic tool on which we can build personalized medicine.\"<\/blockquote>\n          <\/div>\n          <button class=\"collapse-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"intro-more\" data-collapse-label-more=\"Read more\" data-collapse-label-less=\"Show less\">\n            <span class=\"collapse-label\">Read more<\/span>\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n          <\/button>\n        <\/div>\n\n        <div class=\"intro-text reveal reveal-d1 collapsible\" id=\"intro-more\">\n          <p>In clinical trials, too often imaging is not centralized \u2014 imaging data rely on local interpretation which is subject to multiple biases (non-standardized response, lack of expertise, wrong classification\u2026).<\/p>\n          <p>At Pixilib we want to unlock the capabilities of medical imaging, building tools to seamlessly integrate medical imaging in clinical trials and develop new image quantifications to build new <strong>imaging biomarkers<\/strong>. Our goal is to provide clinically relevant image biomarkers to tailor new treatment strategies and push personalized therapy to the next level.<\/p>\n          <p>In current clinical trials we yet use a very limited part of medical imaging capabilities, limited to \"standard\" criteria known from decades. Using known validated criteria is good (and we support it) \u2014 but creating new biomarkers and building innovative uses of medical imaging is even better.<\/p>\n          <p>We aim to build an ecosystem to unlock the power of medical imaging and help researchers to build:<\/p>\n\n          <ul class=\"ep-list\">\n            <li>\n              <span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n              New prognostic group identification for per-patient treatment adaptation\n            <\/li>\n            <li>\n              <span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n              Integration of new biomarkers based on medical imaging alone or combined with biology and pathology\n            <\/li>\n            <li>\n              <span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n              New imaging technologies in clinical trials: new devices, new tracers\n            <\/li>\n            <li>\n              <span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n              Accelerate innovative trials using medical imaging as a decisional endpoint to deliver the most accurate treatment to carefully selected patients\n            <\/li>\n          <\/ul>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 WHY GAELO (counters + tabs + criteria table)\n       H2 : Why GaelO is the Standard\u2026\n       ============================================================ -->\n  <section class=\"ep-section bg-soft\" aria-labelledby=\"why-title\">\n    <div class=\"container\">\n      <div class=\"ep-head center reveal\">\n        <span class=\"ep-eyebrow\">The Standard<\/span>\n        <h2 id=\"why-title\">Why GaelO is the Standard for <span class=\"accent\">Central Imaging<\/span> and Clinical Trial Imaging<\/h2>\n        <p>In modern drug development, medical imaging is a critical endpoint \u2014 it constitutes most of the time the objective response criteria for treatment evaluation. Collected imaging data needs to be standardized, auditable and validated.<\/p>\n      <\/div>\n\n      <!-- Counters -->\n      <div class=\"counters counters-a reveal reveal-d1\" style=\"margin-bottom:48px\">\n        <div class=\"counter\">\n          <div class=\"counter-row\">\n            <div class=\"counter-num\">4.2<span class=\"suffix\">\/5<\/span><\/div>\n            <div class=\"counter-icon\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\n            <\/div>\n          <\/div>\n          <div class=\"counter-label\">User satisfaction<\/div>\n        <\/div>\n        <div class=\"counter\">\n          <div class=\"counter-row\">\n            <div class=\"counter-num\">20<\/div>\n            <div class=\"counter-icon\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\n            <\/div>\n          <\/div>\n          <div class=\"counter-label\">Clinical studies<\/div>\n        <\/div>\n        <div class=\"counter\">\n          <div class=\"counter-row\">\n            <div class=\"counter-num\">10,000<\/div>\n            <div class=\"counter-icon\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"12 2 2 7 12 12 22 7 12 2\"\/><polyline points=\"2 17 12 22 22 17\"\/><polyline points=\"2 12 12 17 22 12\"\/><\/svg>\n            <\/div>\n          <\/div>\n          <div class=\"counter-label\">DICOM studies<\/div>\n        <\/div>\n        <div class=\"counter\">\n          <div class=\"counter-row\">\n            <div class=\"counter-num\">160<\/div>\n            <div class=\"counter-icon\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n            <\/div>\n          <\/div>\n          <div class=\"counter-label\">Investigator sites<\/div>\n        <\/div>\n        <div class=\"counter\">\n          <div class=\"counter-row\">\n            <div class=\"counter-num\">400<\/div>\n            <div class=\"counter-icon\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg>\n            <\/div>\n          <\/div>\n          <div class=\"counter-label\">Active users<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Tabs -->\n      <div class=\"tabs reveal reveal-d2\">\n        <div class=\"tabs-nav\" role=\"tablist\" aria-label=\"Why GaelO features\">\n          <button class=\"tabs-btn\" role=\"tab\" id=\"tab-1\" aria-controls=\"panel-1\" aria-selected=\"true\" data-tab=\"1\">\n            DICOM Collection &amp; De-identification\n          <\/button>\n          <button class=\"tabs-btn\" role=\"tab\" id=\"tab-2\" aria-controls=\"panel-2\" aria-selected=\"false\" tabindex=\"-1\" data-tab=\"2\">\n            Central Imaging Review\n          <\/button>\n          <button class=\"tabs-btn\" role=\"tab\" id=\"tab-3\" aria-controls=\"panel-3\" aria-selected=\"false\" tabindex=\"-1\" data-tab=\"3\">\n            Auditable Data Capture\n          <\/button>\n        <\/div>\n\n        <div class=\"tabs-panels\">\n          <!-- PANEL 1 -->\n          <div class=\"tabs-panel is-active\" id=\"panel-1\" role=\"tabpanel\" aria-labelledby=\"tab-1\">\n            <div class=\"tabs-panel-inner\">\n              <div class=\"tabs-panel-text\">\n                <h3>Seamless DICOM Data Collection &amp; De-identification<\/h3>\n                <p>GaelO simplifies the collection of all medical imaging modalities (CT, MRI, PET\u2026) from global investigator sites. This includes radiology and nuclear medicine but also radiotherapy, digital pathology, optical imaging or video endoscopy.<\/p>\n                <p>Recruiting centers only need a browser to send their images. There is no software to install on their computer or infrastructure \u2014 a user is usually able to use GaelO in minutes.<\/p>\n                <p>At image upload, our automated engine scrubs Protected Health Information (PHI) <a href=\"https:\/\/dicom.nema.org\/medical\/dicom\/current\/output\/chtml\/part15\/chapter_e.html\" target=\"_blank\" rel=\"noopener nofollow\">as specified by NEMA<\/a> to ensure full GDPR and HIPAA compliance of your <strong>central imaging<\/strong> repository.<\/p>\n              <\/div>\n              <figure class=\"tabs-panel-visual\">\n                <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/04\/dicom-upload-deidentification.webp\" alt=\"Secure DICOM upload interface with de-identification progress bar.\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\">\n              <\/figure>\n            <\/div>\n          <\/div>\n\n          <!-- PANEL 2 -->\n          <div class=\"tabs-panel\" id=\"panel-2\" role=\"tabpanel\" aria-labelledby=\"tab-2\" hidden>\n            <div class=\"tabs-panel-inner\">\n              <div class=\"tabs-panel-text\">\n                <h3>Central Imaging Review &amp; Disease-Specific Criteria<\/h3>\n                <p>GaelO provides expert readers with standardized review environments. Each expert can review medical imaging through our <a href=\"\/en\/software\/dicom-viewer\/\">dedicated DICOM viewer<\/a> with advanced visualization and quantification features.<\/p>\n                <p>According to each Clinical Trial specification, the platform integrates the appropriate Evaluation Criteria, with dedicated, customizable eCRF. GaelO supports single or multiple reviews, open or blinded reviews with decision adjudication in case of reading discordancy.<\/p>\n                <p>Our platform already supports the most used criteria in global <strong>clinical trial imaging<\/strong> research, in their latest version \u2014 see the table below.<\/p>\n              <\/div>\n              <figure class=\"tabs-panel-visual\">\n                <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/04\/rano-evaluation-criteria-ecrf.webp\" alt=\"GaelO eCRF form featuring RANO evaluation criteria for meningioma.\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\">\n              <\/figure>\n            <\/div>\n          <\/div>\n\n          <!-- PANEL 3 -->\n          <div class=\"tabs-panel\" id=\"panel-3\" role=\"tabpanel\" aria-labelledby=\"tab-3\" hidden>\n            <div class=\"tabs-panel-inner\">\n              <div class=\"tabs-panel-text\">\n                <h3>Auditable data capture<\/h3>\n                <p>The GaelO platform keeps in memory each data update. For each action, we track timing, data modification and the original user \u2014 delivering a full audit trail ready to be audited.<\/p>\n                <p>The audit trail saves all your trial history from the first inclusion to the last review, delivering a full change tracker ready to be audited at any time.<\/p>\n                <p>This non-alterable timeline provides strong data consistency proofs and regulatory compliance with the highest international standards for clinical research <strong>Electronic Data Capture<\/strong>.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Criteria block -->\n      <div class=\"criteria-block reveal\" id=\"criteria\">\n        <div class=\"criteria-block-head\">\n          <span class=\"ep-eyebrow\">Evaluation Criteria<\/span>\n          <h3 class=\"criteria-block-title\">Supported clinical trial criteria, in their latest version<\/h3>\n          <p class=\"criteria-block-sub\">Each criterion links to its reference publication. GaelO integrates these criteria as customizable eCRFs inside the reading interface \u2014 ensuring standardized data collection across centers and reviewers.<\/p>\n        <\/div>\n\n        <div class=\"criteria-table\">\n          <table>\n            <caption class=\"sr-only\" style=\"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0\">Supported evaluation criteria per clinical trial topic, with links to peer-reviewed references.<\/caption>\n            <thead>\n              <tr><th scope=\"col\">Clinical Trial Topics<\/th><th scope=\"col\">Evaluation Criteria<\/th><\/tr>\n            <\/thead>\n            <tbody>\n              <tr>\n                <td class=\"topic\">General Oncology<\/td>\n                <td><div class=\"criteria-list\">\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/19097774\/\" target=\"_blank\" rel=\"noopener nofollow\">RECIST 1.1<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/28271869\/\" target=\"_blank\" rel=\"noopener nofollow\">iRECIST<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC4976461\/\" target=\"_blank\" rel=\"noopener nofollow\">PERCIST<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                <\/div><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"topic\">Lymphoma<\/td>\n                <td><div class=\"criteria-list\">\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/25113753\/\" target=\"_blank\" rel=\"noopener nofollow\">Lugano<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/19544140\/\" target=\"_blank\" rel=\"noopener nofollow\">Deauville<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/28379322\/\" target=\"_blank\" rel=\"noopener nofollow\">RECIL<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21518924\/\" target=\"_blank\" rel=\"noopener nofollow\">DeltaSUVmax<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/34379496\/\" target=\"_blank\" rel=\"noopener nofollow\">TMTV<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                <\/div><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"topic\">Neuro Oncology<\/td>\n                <td><div class=\"criteria-list\">\n                  <a class=\"criteria-link\" href=\"https:\/\/ascopubs.org\/doi\/10.1200\/JCO.23.01059\" target=\"_blank\" rel=\"noopener nofollow\">RANO<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                <\/div><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"topic\">Myeloma<\/td>\n                <td><div class=\"criteria-list\">\n                  <a class=\"criteria-link\" href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/19544140\/\" target=\"_blank\" rel=\"noopener nofollow\">Deauville<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                <\/div><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"topic\">Prostate Cancer<\/td>\n                <td><div class=\"criteria-list\">\n                  <a class=\"criteria-link\" href=\"https:\/\/www.sciencedirect.com\/science\/article\/pii\/S0302283823025745\" target=\"_blank\" rel=\"noopener nofollow\">Promise v2<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pubs.rsna.org\/doi\/10.1148\/radiol.222148\" target=\"_blank\" rel=\"noopener nofollow\">RECIP<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/jnm.snmjournals.org\/content\/61\/5\/678\" target=\"_blank\" rel=\"noopener nofollow\">PPP<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                  <a class=\"criteria-link\" href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC4872347\/\" target=\"_blank\" rel=\"noopener nofollow\">PCWG3<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7 17L17 7M7 7h10v10\"\/><\/svg><\/a>\n                <\/div><\/td>\n              <\/tr>\n            <\/tbody>\n          <\/table>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 CORE FEATURES (icon boxes)\n       H2 : Core Features for Clinical Trial Imaging\u2026\n       ============================================================ -->\n  <section class=\"ep-section bg-white\" id=\"features\" aria-labelledby=\"features-title\">\n    <div class=\"container\">\n      <div class=\"ep-head center reveal\">\n        <span class=\"ep-eyebrow\">Core Features<\/span>\n        <h2 id=\"features-title\">Core Features for Clinical Trial Imaging and Central Imaging<\/h2>\n        <p>The GaelO platform is built with a complete set of features dedicated to a smooth management of medical imaging data in clinical trials.<\/p>\n      <\/div>\n\n      <div class=\"iconbox-grid reveal reveal-d1\" id=\"features-grid\">\n\n        <article class=\"iconbox\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><path d=\"M3 9h18M9 21V9\"\/><\/svg><\/div>\n          <h3>A clean data structure for your clinical trial<\/h3>\n          <p>We store medical imaging data in a clean, efficient structure built around three clear entities:<\/p>\n          <ul class=\"ep-list\">\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Patients<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Visits<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Reviews<\/strong><\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"iconbox\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><\/div>\n          <h3>A role based access control dedicated to research collaborators<\/h3>\n          <p>A dedicated role for each actor of your trial \u2014 Investigators, Controllers, Monitors, Reviewers and Supervisors \u2014 each with features tailored to ensure smooth, qualified data collection.<\/p>\n        <\/article>\n\n        <article class=\"iconbox\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"17 8 12 3 7 8\"\/><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"\/><\/svg><\/div>\n          <h3>Zero footprint web platform for medical imaging data collection<\/h3>\n          <p>Sending imaging is as easy as a drag &amp; drop \u2014 without compromising security. No installation, automated de-identification, data consistency checks and high-speed encrypted upload. No training needed.<\/p>\n        <\/article>\n\n        <article class=\"iconbox\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg><\/div>\n          <h3>Real-time Quality Control (QC) for Clinical Trial Imaging<\/h3>\n          <p>At image reception, controllers run immediate quality checks to verify protocol adherence. Non-compliant data triggers a one-click corrective request to the site \u2014 reducing costly queries later in the trial.<\/p>\n        <\/article>\n\n        <article class=\"iconbox\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"\/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"\/><\/svg><\/div>\n          <h3>Real time Clinical Trial Monitoring<\/h3>\n          <p>Track study progress at any time: data centralization, QC progression, review decisions. Built-in communication tools let you send reminders to keep every site on track toward your milestones.<\/p>\n          <div class=\"iconbox-media\">\n            <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/04\/clinical-visit-status-repartition.webp\" alt=\"Distribution charts of visit statuses for a clinical trial study.\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"700\">\n          <\/div>\n        <\/article>\n\n        <article class=\"iconbox is-extra-mobile\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg><\/div>\n          <h3>Medical Imaging Visualization and Image Processing in Central Imaging<\/h3>\n          <p>A full-feature viewer running entirely in the browser, with CRFs integrated inside the viewer itself. All modalities, all visualization tools (MPR, MIP, colormaps), quantification, registration and advanced workflows like Metabolic Tumor Volume.<\/p>\n        <\/article>\n\n        <article class=\"iconbox is-extra\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7z\"\/><circle cx=\"12\" cy=\"12\" r=\"2.5\"\/><\/svg><\/div>\n          <h3>Blind Independent Central Review (BICR)<\/h3>\n          <p>From a single qualitative read to multiple blinded reads on a composite endpoint. Customized, self-explanatory eCRFs check consistency at each step, with a built-in adjudication step in case of discordancy.<\/p>\n        <\/article>\n\n        <article class=\"iconbox is-extra\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><polyline points=\"9 12 11 14 15 10\"\/><\/svg><\/div>\n          <h3>Audit trail for regulatory compliance<\/h3>\n          <p>Each modification is written to a non-alterable audit trail as required by the <a href=\"https:\/\/database.ich.org\/sites\/default\/files\/ICH_E6%28R3%29_Step4_FinalGuideline_2025_0106.pdf\" target=\"_blank\" rel=\"noopener nofollow\">ICH E6(R3) Guideline<\/a> \u2014 action, user and exact time. A fully auditable data timeline for your auditors.<\/p>\n        <\/article>\n\n        <article class=\"iconbox is-extra\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg><\/div>\n          <h3>Data availability, everywhere, any time<\/h3>\n          <p>The data belongs to you. Standardized exports, already curated at collection time, are generated in seconds and fully ready for statistical analysis \u2014 accessible to identified users according to their permissions.<\/p>\n        <\/article>\n\n        <article class=\"iconbox is-extra\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"23 4 23 10 17 10\"\/><polyline points=\"1 20 1 14 7 14\"\/><path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"\/><\/svg><\/div>\n          <h3>Reuse of collected data in ancillaries studies<\/h3>\n          <p>Medical imaging is high-value data. Open an ancillary study at the end of a trial \u2014 or in parallel \u2014 and reuse all or part of the original dataset with new customized CRFs, in fully isolated workspaces.<\/p>\n          <ul class=\"ep-list\">\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Isolated workspaces<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Customized eCRFs<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Instant dataset cloning<\/strong><\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"iconbox is-extra\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><\/div>\n          <h3>Secure &amp; Certified Infrastructure<\/h3>\n          <p>Clinical trial data requires the highest level of protection. GaelO is hosted on a highly secure, medical-grade cloud infrastructure compliant with international health data regulations. Focus on your science while we handle data sovereignty.<\/p>\n          <ul class=\"ep-list\">\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>HDS Certified<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>HIPAA Compliant<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>256-bit encryption<\/strong><\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"iconbox is-extra\">\n          <div class=\"iconbox-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><line x1=\"13\" y1=\"4\" x2=\"11\" y2=\"20\"\/><\/svg><\/div>\n          <h3>Interoperable &amp; API-Driven<\/h3>\n          <p>GaelO doesn't work in isolation. Our platform features a robust, secure REST API designed to connect effortlessly with your existing clinical trial ecosystem. Sync your imaging workflow with your current tools without friction.<\/p>\n          <ul class=\"ep-list\">\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>EDC &amp; CTMS synchronization<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Automated triggers<\/strong><\/li>\n            <li><span class=\"ep-list-check\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span><strong>Standardized formats<\/strong><\/li>\n          <\/ul>\n        <\/article>\n\n      <\/div>\n\n      <div class=\"collapse-wrap\">\n        <button class=\"collapse-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"features-grid\" data-collapse-target=\"grid\" data-collapse-label-more=\"See all features\" data-collapse-label-less=\"Show fewer\">\n          <span class=\"collapse-label\">See all features<\/span>\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 USER ROLES + DATA STRUCTURE schema\n       Visual enrichment of two Core Features H3 :\n       \"A role based access control\" + \"A clean data structure\"\n       ============================================================ -->\n  <section class=\"ep-section bg-soft\" aria-labelledby=\"roles-title\">\n    <div class=\"container\">\n      <div class=\"ep-head center reveal\">\n        <span class=\"ep-eyebrow\">User Roles &amp; Data Architecture<\/span>\n        <h2 id=\"roles-title\">A dedicated role for each clinical trial actor<\/h2>\n        <p>GaelO defines a precise role for each actor of a clinical trial, ensuring smooth and qualified data collection \u2014 and structures every study around a clean, auditable data model.<\/p>\n      <\/div>\n\n      <div class=\"roles-wrap reveal reveal-d1\">\n        <button class=\"roles-nav roles-nav-prev\" type=\"button\" aria-label=\"Previous role\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg>\n        <\/button>\n        <button class=\"roles-nav roles-nav-next\" type=\"button\" aria-label=\"Next role\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg>\n        <\/button>\n        <div class=\"roles-viewport\">\n          <div class=\"roles-track\">\n\n        <article class=\"role-card investigator\">\n          <div class=\"role-card-visual\">\n            <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/gaelo-role-investigator-dicom-upload-1.png\" alt=\"Illustration representing an investigator importing medical imaging data and full-web DICOM files into GaelO.\" loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"280\">\n          <\/div>\n          <div class=\"role-card-body\">\n            <span class=\"role-card-label\">Role 01<\/span>\n            <h3>Investigators<\/h3>\n            <p>Upload DICOM images and associated information through customizable CRFs \u2014 full-web, no installation required.<\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"role-card controller\">\n          <div class=\"role-card-visual\">\n            <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/gaelo-role-controller-quality-control.png\" alt=\"Illustration representing a data controller running real-time quality control checks on clinical trials.\" loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"280\">\n          <\/div>\n          <div class=\"role-card-body\">\n            <span class=\"role-card-label\">Role 02<\/span>\n            <h3>Controllers<\/h3>\n            <p>Run real-time Quality Control on received data and send one-click corrective requests to recruiting centers when needed.<\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"role-card reviewer\">\n          <div class=\"role-card-visual\">\n            <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/gaelo-role-reviewer-dicom-viewer.png\" alt=\"Illustration representing a medical expert reviewing clinical imaging using the embedded viewer and eCRF.\" loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"280\">\n          <\/div>\n          <div class=\"role-card-body\">\n            <span class=\"role-card-label\">Role 03<\/span>\n            <h3>Reviewers<\/h3>\n            <p>Medical experts performing centralized reading through a full-featured DICOM viewer with customizable eCRFs \u2014 multiple blinded reads and adjudication supported.<\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"role-card supervisor\">\n          <div class=\"role-card-visual\">\n            <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/gaelo-role-supervisor-monitoring-dashboard-2.png\" alt=\"Illustration representing a clinical trial supervisor tracking study progress and system audit trails.\" loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"280\">\n          <\/div>\n          <div class=\"role-card-body\">\n            <span class=\"role-card-label\">Role 04<\/span>\n            <h3>Supervisors<\/h3>\n            <p>Clinical trial managers with full access to imaging, CRFs, audit trail and user management \u2014 they can unlock data, edit roles and send reminders.<\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"role-card monitor\">\n          <div class=\"role-card-visual\">\n            <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/gaelo-role-monitor-site-inspection-2.png\" alt=\"Illustration representing a clinical monitor auditing data consistency and site compliance with a magnifying glass.\" loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"280\">\n          <\/div>\n          <div class=\"role-card-body\">\n            <span class=\"role-card-label\">Role 05<\/span>\n            <h3>Monitors<\/h3>\n            <p>Read-only role to track the activity and data consistency of one or several participating centers.<\/p>\n          <\/div>\n        <\/article>\n\n          <\/div>\n        <\/div>\n        <div class=\"roles-dots\" role=\"tablist\" aria-label=\"Role pagination\"><\/div>\n      <\/div>\n\n      <div class=\"ep-head center reveal\" style=\"margin-top:clamp(56px,7vw,90px);margin-bottom:0\">\n        <span class=\"ep-eyebrow\">Data Architecture<\/span>\n        <h2 style=\"font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:14px\">A clean data structure for your clinical trial<\/h2>\n        <p>Every GaelO study follows a clean, hierarchical data model \u2014 making downstream statistical analysis and auditability radically simpler.<\/p>\n      <\/div>\n\n      <!-- ===================== Cards + arrows ===================== -->\n      <div class=\"ds-cards reveal reveal-d1\" role=\"img\" aria-label=\"Clinical trial data structure: Study contains N Patients, each with N Visits (DICOM images and investigator forms), each leading to N Reviews (blind reads and adjudication) and finally a Conclusion.\">\n        <div class=\"ds-card ds-card-1\">\n          <div class=\"ds-card-title\">Study<\/div>\n        <\/div>\n        <div class=\"ds-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/div>\n        <div class=\"ds-card ds-card-2\">\n          <div class=\"ds-card-title\">N-Patients<\/div>\n        <\/div>\n        <div class=\"ds-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/div>\n        <div class=\"ds-card ds-card-3\">\n          <div class=\"ds-card-title\">N-Visits<\/div>\n          <div class=\"ds-card-sub\">DICOM images<br>Investigator forms<\/div>\n        <\/div>\n        <div class=\"ds-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/div>\n        <div class=\"ds-card ds-card-4\">\n          <div class=\"ds-card-title\">N-Reviews<\/div>\n          <div class=\"ds-card-sub\">Blind reads<br>Adjudication<\/div>\n        <\/div>\n        <div class=\"ds-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/div>\n        <div class=\"ds-card ds-card-5\">\n          <div class=\"ds-card-title\">Conclusion<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 MODALITIES (image boxes)\n       H2 : Supported Imaging Modalities\n       ============================================================ -->\n  <section class=\"ep-section bg-soft\" aria-labelledby=\"modalities-title\">\n    <div class=\"container\">\n      <div class=\"ep-head center reveal\">\n        <span class=\"ep-eyebrow\">Multi-Modal<\/span>\n        <h2 id=\"modalities-title\">Supported Imaging Modalities<\/h2>\n        <p>GaelO is a multi-modal platform capable of managing the full spectrum of medical imaging used in modern research. Every modality is handled with protocol-specific precision.<\/p>\n      <\/div>\n\n      <div class=\"modalities-grid reveal reveal-d1\">\n        <article class=\"mod-card\">\n          <div class=\"mod-card-media\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/radiology-ct-scan-multiplanar-reconstruction.jpg\" alt=\"Multiplanar reconstruction of a chest and abdominal CT scan within the reading platform.\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\"><\/div>\n          <div class=\"mod-card-body\"><h3>Radiology<\/h3><p>Radiography, Ultrasound, Computed Tomography, Magnetic Resonance Imaging.<\/p><\/div>\n        <\/article>\n        <article class=\"mod-card\">\n          <div class=\"mod-card-media\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/PixiLearn-PET-medecine-nucleaire.jpg\" alt=\"PET brain scan analysis displaying metabolic activity within the medical imaging interface.\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\"><\/div>\n          <div class=\"mod-card-body\"><h3>Nuclear Medicine<\/h3><p>Planar scintigraphy, SPECT, Positron Emission Tomography (PET\/CT).<\/p><\/div>\n        <\/article>\n        <article class=\"mod-card\">\n          <div class=\"mod-card-media\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/radiotherapy-treatment-planning-contouring.png\" alt=\"Radiotherapy treatment planning showing tumoral contouring and radiation dose distribution curves within the GaelO interface.\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\"><\/div>\n          <div class=\"mod-card-body\"><h3>Radiotherapy<\/h3><p>RTSTRUCT, RTDOSE, RTPLAN \u2014 full support of treatment planning data.<\/p><\/div>\n        <\/article>\n        <article class=\"mod-card\">\n          <div class=\"mod-card-media\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/digital-pathology-whole-slide-imaging.jpg\" alt=\"High-resolution view of a digital pathology whole slide image managed in DICOM format.\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\"><\/div>\n          <div class=\"mod-card-body\"><h3>Pathology<\/h3><p>DICOMized Whole Slide Images for digital pathology workflows.<\/p><\/div>\n        <\/article>\n        <article class=\"mod-card\">\n          <div class=\"mod-card-media\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/05\/optical-imaging-fundus-photography-3.jpg\" alt=\"Ophthalmic optical imaging displaying a fundus photograph for clinical trial evaluation.\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\"><\/div>\n          <div class=\"mod-card-body\"><h3>Optical Imaging &amp; Video<\/h3><p>Endoscopy, dermatoscopy, ophthalmology \u2014 in DICOM format.<\/p><\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 MID-PAGE CALLOUT (CTA box) + TMTV mention\n       ============================================================ -->\n  <section class=\"ep-section bg-white\" aria-label=\"Total Metabolic Tumor Volume\">\n    <div class=\"container\">\n      <div class=\"callout reveal\">\n        <div class=\"callout-content\">\n          <h2>A new biomarker in clinical trials: Total Metabolic Tumor Volume<\/h2>\n          <p>GaelO specializes in the automated extraction of TMTV from PET \u2014 a volumetric assessment of the entire active tumor burden, proven in Lymphoma and Prostate cancer. Whether your study uses 18F-FDG, PSMA or specialized tracers, our human-in-the-loop AI delivers robust, reproducible, regulatory-ready data.<\/p>\n        <\/div>\n        <div class=\"callout-actions\">\n          <a href=\"\/en\/algorithms\/\" class=\"btn btn-primary-light\">\n            Explore AI algorithms\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n          <\/a>\n          <a href=\"\/en\/contact\/\" class=\"btn btn-ghost-light\">Talk to our team<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 PERSONAS (Is GaelO for you?)\n       ============================================================ -->\n  <section class=\"ep-section bg-soft\" aria-labelledby=\"personas-title\">\n    <div class=\"container\">\n      <div class=\"ep-head center reveal\">\n        <span class=\"ep-eyebrow\">For Every Stakeholder<\/span>\n        <h2 id=\"personas-title\">Is GaelO for you?<\/h2>\n        <p>A versatile, scalable platform designed for the entire clinical research ecosystem \u2014 from early-phase research to post-market surveillance.<\/p>\n      <\/div>\n\n      <div class=\"personas-grid reveal reveal-d1\">\n        <article class=\"persona pharma\">\n          <div class=\"persona-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2L2 7l10 5 10-5-10-5z\"\/><path d=\"M2 17l10 5 10-5\"\/><path d=\"M2 12l10 5 10-5\"\/><\/svg><\/div>\n          <div class=\"persona-label\">Pharma \u00b7 Biotech<\/div>\n          <h3>Pharmaceutical Industry<\/h3>\n          <p>Large-scale Pharma players managing Phase III global trials \u2014 our solution scales with your ambitions.<\/p>\n        <\/article>\n        <article class=\"persona medtech\">\n          <div class=\"persona-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"\/><\/svg><\/div>\n          <div class=\"persona-label\">Innovation<\/div>\n          <h3>MedTech Startups<\/h3>\n          <p>Fast-growing MedTech startups bringing new devices and tracers into clinical research with agility.<\/p>\n        <\/article>\n        <article class=\"persona academic\">\n          <div class=\"persona-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 10v6M2 10l10-5 10 5-10 5z\"\/><path d=\"M6 12v5c0 2 4 3 6 3s6-1 6-3v-5\"\/><\/svg><\/div>\n          <div class=\"persona-label\">Research<\/div>\n          <h3>Academic &amp; University Hospitals<\/h3>\n          <p>Centralize investigator-initiated trials (IITs) while ensuring patient data privacy and scientific rigor.<\/p>\n        <\/article>\n        <article class=\"persona cro\">\n          <div class=\"persona-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><\/div>\n          <div class=\"persona-label\">Service Partners<\/div>\n          <h3>CROs &amp; Imaging CROs<\/h3>\n          <p>Empower your <a href=\"\/en\/services\/\">Imaging CRO<\/a> service offering with automated workflows and standardized central review tools.<\/p>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       SECTION \u2014 ECOSYSTEM (product image-boxes)\n       H2 : The GaelO Ecosystem\n       ============================================================ -->\n  <section class=\"ep-section bg-white\" aria-labelledby=\"ecosystem-title\">\n    <div class=\"container\">\n      <div class=\"ep-head center reveal\">\n        <span class=\"ep-eyebrow\">The GaelO Ecosystem<\/span>\n        <h2 id=\"ecosystem-title\">A unified <span class=\"accent\">infrastructure<\/span> for medical imaging research<\/h2>\n        <p>From clinical trial centralization to research PACS and AI segmentation \u2014 three complementary products covering the full lifecycle of medical imaging in clinical research.<\/p>\n      <\/div>\n\n      <div class=\"eco-grid reveal reveal-d1\">\n        <article class=\"eco-card gaelo\">\n          <div class=\"eco-visual\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/03\/Logo-Gaelo-1-scaled.png\" alt=\"GaelO logo \u2014 clinical trial imaging platform\" loading=\"lazy\" decoding=\"async\" width=\"280\" height=\"88\"><\/div>\n          <div class=\"eco-body\">\n            <span class=\"eco-tag\">Clinical Trials<\/span>\n            <h3>GaelO<\/h3>\n            <p>Collection and centralized reading of clinical trials. From DICOM upload to Blind Independent Central Review with disease-specific criteria \u2014 GDPR\/HIPAA compliant, fully auditable.<\/p>\n            <a href=\"#features\" class=\"eco-link\">Explore GaelO features<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/a>\n          <\/div>\n        <\/article>\n        <article class=\"eco-card flow\">\n          <div class=\"eco-visual\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/04\/Logo-gaelo-flow.png\" alt=\"GaelO Flow logo \u2014 research PACS for retrospective and Real World Evidence studies\" loading=\"lazy\" decoding=\"async\" width=\"280\" height=\"88\"><\/div>\n          <div class=\"eco-body\">\n            <span class=\"eco-tag\">Research PACS \u00b7 RWE<\/span>\n            <h3>GaelO Flow<\/h3>\n            <p>Research PACS for retrospective and Real World Evidence studies. Orchestrate <strong>medical imaging data<\/strong>: query\/retrieve, batch de-identification, AI inference pipelines and seamless export.<\/p>\n            <a href=\"\/en\/software\/dicom-data-orchestration\/\" class=\"eco-link\">Discover GaelO Flow<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/a>\n          <\/div>\n        <\/article>\n        <article class=\"eco-card algo\">\n          <div class=\"eco-visual cover\"><img loading=\"lazy\" src=\"\/wp-content\/uploads\/2026\/06\/wp-contentuploadsgaelo-sharedai-segmentation-card.jpg\" alt=\"AI segmentation algorithms \u2014 FDG, PSMA, DOTATOC tracers for medical imaging\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"280\"><\/div>\n          <div class=\"eco-body\">\n            <span class=\"eco-tag\">AI \u00b7 Segmentation<\/span>\n            <h3>AI Segmentation Algorithms<\/h3>\n            <p>FDG, PSMA, DOTATOC. Automated PET segmentation to extract <strong>Total Metabolic Tumor Volume (TMTV)<\/strong> human-in-the-loop, 100% medically validated, regulatory-ready.<\/p>\n            <a href=\"\/en\/algorithms\/\" class=\"eco-link\">Explore AI algorithms<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/a>\n          <\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       FINAL CTA\n       ============================================================ -->\n  <aside class=\"final-cta\" id=\"contact\" aria-labelledby=\"final-title\">\n    <div class=\"final-cta-glow\" aria-hidden=\"true\"><\/div>\n    <div class=\"final-cta-grid-overlay\" aria-hidden=\"true\"><\/div>\n    <div class=\"final-cta-content\">\n      <h2 id=\"final-title\">Ready to centralize your clinical trial imaging?<\/h2>\n      <p class=\"final-cta-sub\">From multicenter Phase III trials to bespoke imaging endpoints \u2014 let's design the right infrastructure together.<\/p>\n      <div class=\"final-cta-actions\">\n        <a href=\"\/en\/contact\/\" class=\"btn btn-primary-light\">\n          Request a Demo\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n        <\/a>\n        <a href=\"\/en\/contact\/\" class=\"btn btn-ghost-light\">Talk to Our Team<\/a>\n      <\/div>\n    <\/div>\n  <\/aside>\n\n<\/article>\n\n<!-- ============================================================\n     JS \u2014 reveal + scroll progress + tabs + smooth anchor scroll\n     Pure vanilla, no dependencies.\n     ============================================================ -->\n<script>\n(function(){\n  var root=document.querySelector('.gaelo-product');\n  if(!root)return;\n\n  \/\/ \u2500\u2500\u2500 REVEAL ON SCROLL \u2500\u2500\u2500\n  if(typeof IntersectionObserver!=='undefined'){\n    var revealEls=root.querySelectorAll('.reveal');\n    var revealIO=new IntersectionObserver(function(entries){\n      entries.forEach(function(e){\n        if(e.isIntersecting){\n          e.target.classList.add('is-visible');\n          revealIO.unobserve(e.target);\n        }\n      });\n    },{rootMargin:'0px 0px -10% 0px',threshold:.1});\n    revealEls.forEach(function(el){revealIO.observe(el)});\n  }\n\n  \/\/ \u2500\u2500\u2500 SCROLL PROGRESS BAR \u2500\u2500\u2500\n  var bar=root.querySelector('.scroll-progress');\n  function updateProgress(){\n    if(!bar)return;\n    var max=document.documentElement.scrollHeight-window.innerHeight;\n    var p=max>0?(window.scrollY\/max)*100:0;\n    bar.style.width=p+'%';\n  }\n  window.addEventListener('scroll',updateProgress,{passive:true});\n  updateProgress();\n\n  \/\/ \u2500\u2500\u2500 TABS \u2500\u2500\u2500\n  var tabsContainer=root.querySelector('.tabs');\n  if(tabsContainer){\n    var tabBtns=tabsContainer.querySelectorAll('.tabs-btn');\n    var tabPanels=tabsContainer.querySelectorAll('.tabs-panel');\n\n    function activateTab(idx){\n      tabBtns.forEach(function(b,i){\n        var active=i===idx;\n        b.setAttribute('aria-selected',active?'true':'false');\n        b.setAttribute('tabindex',active?'0':'-1');\n      });\n      tabPanels.forEach(function(p,i){\n        var active=i===idx;\n        p.classList.toggle('is-active',active);\n        if(active){p.removeAttribute('hidden')}\n        else{p.setAttribute('hidden','')}\n      });\n    }\n\n    tabBtns.forEach(function(btn,idx){\n      btn.addEventListener('click',function(){activateTab(idx)});\n      btn.addEventListener('keydown',function(e){\n        var newIdx=null;\n        if(e.key==='ArrowRight'){newIdx=(idx+1)%tabBtns.length;e.preventDefault()}\n        else if(e.key==='ArrowLeft'){newIdx=(idx-1+tabBtns.length)%tabBtns.length;e.preventDefault()}\n        else if(e.key==='Home'){newIdx=0;e.preventDefault()}\n        else if(e.key==='End'){newIdx=tabBtns.length-1;e.preventDefault()}\n        if(newIdx!==null){activateTab(newIdx);tabBtns[newIdx].focus()}\n      });\n    });\n  }\n\n  \/\/ \u2500\u2500\u2500 COUNTERS (count-up on first view) \u2500\u2500\u2500\n  var counters=root.querySelectorAll('.counter-num');\n  if(counters.length && typeof IntersectionObserver!=='undefined'){\n    var cIO=new IntersectionObserver(function(entries){\n      entries.forEach(function(e){\n        if(!e.isIntersecting)return;\n        cIO.unobserve(e.target);\n        var el=e.target;\n        var full=el.textContent;\n        var m=full.match(\/(\\d+)\/);\n        if(!m){return}\n        var target=parseInt(m[1],10);\n        var prefix=full.slice(0,m.index);\n        var suffixSpan=el.querySelector('.suffix');\n        var suffix=suffixSpan?suffixSpan.outerHTML:full.slice(m.index+m[1].length);\n        var dur=1100,start=null;\n        function step(ts){\n          if(!start)start=ts;\n          var prog=Math.min(1,(ts-start)\/dur);\n          var eased=1-Math.pow(1-prog,3);\n          var val=Math.round(target*eased);\n          el.innerHTML=prefix+val+suffix;\n          if(prog<1){requestAnimationFrame(step)}\n        }\n        requestAnimationFrame(step);\n      });\n    },{threshold:.4});\n    counters.forEach(function(c){cIO.observe(c)});\n  }\n\n  \/\/ \u2500\u2500\u2500 COLLAPSE TOGGLES \u2014 \"Read more\" \/ \"Show less\" (mobile\/tablet only) \u2500\u2500\u2500\n  \/\/ Two patterns supported:\n  \/\/  1) toggle controls a .collapsible element via aria-controls (intro)\n  \/\/  2) toggle has data-collapse-target=\"grid\" and toggles data-extended on the grid (features)\n  \/\/ On screens >900px the buttons are hidden via CSS so the JS still wires up but is a no-op.\n  var toggles=root.querySelectorAll('.collapse-toggle');\n  var mql=window.matchMedia('(max-width:900px)');\n\n  function applyCollapsedState(toggle,target,collapsed){\n    toggle.setAttribute('aria-expanded',collapsed?'false':'true');\n    var label=toggle.querySelector('.collapse-label');\n    if(label){\n      label.textContent=collapsed\n        ?(toggle.dataset.collapseLabelMore||'Read more')\n        :(toggle.dataset.collapseLabelLess||'Show less');\n    }\n    if(toggle.dataset.collapseTarget==='grid'){\n      if(collapsed)target.removeAttribute('data-extended');\n      else target.setAttribute('data-extended','true');\n    } else {\n      target.setAttribute('data-collapsed',collapsed?'true':'false');\n    }\n  }\n  function syncToggle(toggle){\n    var id=toggle.getAttribute('aria-controls');\n    if(!id)return;\n    var target=document.getElementById(id);\n    if(!target)return;\n    \/\/ Grid toggle (features list) : always start collapsed, on every screen size\n    if(toggle.dataset.collapseTarget==='grid'){\n      applyCollapsedState(toggle,target,true);\n      return;\n    }\n    \/\/ Generic collapsible (intro text) : collapsed only on mobile\n    if(mql.matches){\n      applyCollapsedState(toggle,target,true);\n    } else {\n      applyCollapsedState(toggle,target,false);\n    }\n  }\n  toggles.forEach(function(toggle){\n    syncToggle(toggle);\n    toggle.addEventListener('click',function(){\n      var id=toggle.getAttribute('aria-controls');\n      var target=document.getElementById(id);\n      if(!target)return;\n      var currentlyCollapsed=toggle.getAttribute('aria-expanded')!=='true';\n      applyCollapsedState(toggle,target,!currentlyCollapsed);\n    });\n  });\n  \/\/ re-sync when viewport crosses 900px\n  if(mql.addEventListener)mql.addEventListener('change',function(){toggles.forEach(syncToggle)});\n  else if(mql.addListener)mql.addListener(function(){toggles.forEach(syncToggle)});\n\n  \/\/ \u2500\u2500\u2500 ROLES CAROUSEL \u2014 slide 1 card at a time, show 3 cards on desktop \u2500\u2500\u2500\n  (function(){\n    var wrap=root.querySelector('.roles-wrap');\n    if(!wrap)return;\n    var track=wrap.querySelector('.roles-track');\n    var cards=track.querySelectorAll('.role-card');\n    var prevBtn=wrap.querySelector('.roles-nav-prev');\n    var nextBtn=wrap.querySelector('.roles-nav-next');\n    var dotsWrap=wrap.querySelector('.roles-dots');\n    var total=cards.length;\n    var index=0;\n\n    function getVisible(){\n      var w=window.innerWidth;\n      if(w<=640)return 1;\n      if(w<=980)return 2;\n      return 3;\n    }\n    function maxIndex(){return Math.max(0,total-getVisible())}\n\n    function update(){\n      var visible=getVisible();\n      var card=cards[0];\n      if(!card)return;\n      var cardWidth=card.getBoundingClientRect().width;\n      var gap=24;\n      var offset=index*(cardWidth+gap);\n      track.style.transform='translateX(-'+offset+'px)';\n      prevBtn.disabled=(index<=0);\n      nextBtn.disabled=(index>=maxIndex());\n      \/\/ rebuild dots based on number of slide positions\n      dotsWrap.innerHTML='';\n      var slides=maxIndex()+1;\n      for(var i=0;i<slides;i++){\n        var d=document.createElement('button');\n        d.type='button';\n        d.className='roles-dot'+(i===index?' is-active':'');\n        d.setAttribute('aria-label','Go to slide '+(i+1));\n        d.dataset.target=i;\n        d.addEventListener('click',function(e){\n          index=parseInt(e.currentTarget.dataset.target,10);\n          update();\n        });\n        dotsWrap.appendChild(d);\n      }\n    }\n    prevBtn.addEventListener('click',function(){\n      if(index>0){index--;update()}\n    });\n    nextBtn.addEventListener('click',function(){\n      if(index<maxIndex()){index++;update()}\n    });\n    \/\/ keyboard support\n    wrap.addEventListener('keydown',function(e){\n      if(e.key==='ArrowLeft'&&index>0){index--;update()}\n      else if(e.key==='ArrowRight'&&index<maxIndex()){index++;update()}\n    });\n    \/\/ re-sync on resize\n    var rt;\n    window.addEventListener('resize',function(){\n      clearTimeout(rt);\n      rt=setTimeout(function(){\n        if(index>maxIndex())index=maxIndex();\n        update();\n      },120);\n    });\n    \/\/ initial sync after layout\n    setTimeout(update,50);\n  })();\n\n  \/\/ \u2500\u2500\u2500 LIGHTBOX (click any content image to enlarge) \u2500\u2500\u2500\n  \/\/ Exclude brand logos (decorative) inside .eco-visual that are NOT cover photos.\n  var imgs=root.querySelectorAll('img');\n  var box=null,boxImg=null,boxCap=null,lastFocus=null;\n\n  function buildBox(){\n    box=document.createElement('div');\n    box.className='gp-lightbox';\n    box.setAttribute('role','dialog');\n    box.setAttribute('aria-modal','true');\n    box.setAttribute('aria-label','Image preview');\n    box.innerHTML=''\n      +'<button class=\"gp-lightbox-close\" type=\"button\" aria-label=\"Close image preview\">'\n      +'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>'\n      +'<\/button>'\n      +'<img class=\"gp-lightbox-img\" alt=\"\">'\n      +'<div class=\"gp-lightbox-cap\"><\/div>';\n    document.body.appendChild(box);\n    boxImg=box.querySelector('.gp-lightbox-img');\n    boxCap=box.querySelector('.gp-lightbox-cap');\n    box.addEventListener('click',function(e){\n      \/\/ clicking the backdrop, the close button, OR the image itself closes it\n      closeBox();\n    });\n  }\n  function openBox(src,alt){\n    if(!box)buildBox();\n    lastFocus=document.activeElement;\n    boxImg.src=src;boxImg.alt=alt||'';\n    boxCap.textContent=alt||'';\n    \/\/ force reflow then open for the transition\n    box.offsetHeight;\n    box.classList.add('is-open');\n    document.body.style.overflow='hidden';\n    box.querySelector('.gp-lightbox-close').focus();\n  }\n  function closeBox(){\n    if(!box)return;\n    box.classList.remove('is-open');\n    document.body.style.overflow='';\n    if(lastFocus&&lastFocus.focus)lastFocus.focus();\n  }\n  document.addEventListener('keydown',function(e){\n    if(e.key==='Escape'&&box&&box.classList.contains('is-open'))closeBox();\n  });\n\n  imgs.forEach(function(img){\n    var inLogo=img.closest('.eco-visual')&&!img.closest('.eco-visual.cover');\n    if(inLogo)return;                 \/\/ skip decorative brand logos\n    if(img.closest('.hero-mockup-bar'))return;\n    img.classList.add('zoomable');\n    img.setAttribute('tabindex','0');\n    img.setAttribute('role','button');\n    img.addEventListener('click',function(){openBox(img.currentSrc||img.src,img.alt)});\n    img.addEventListener('keydown',function(e){\n      if(e.key==='Enter'||e.key===' '){e.preventDefault();openBox(img.currentSrc||img.src,img.alt)}\n    });\n  });\n\n\n})();\n<\/script>\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>Clinical Trial Imaging Platform Clinical Trial Imaging Management Platform: GaelO The all-in-one solution for secure medical imaging orchestration and standardized central imaging review. Request a Demo Explore Features gaelo.fr \u00b7 clinical-trial-dashboard Scroll Our Vision Make Medical Imaging a decisional endpoint to build innovative clinical trials &#8220;Medical imaging is wrongly seen as a complicated modality to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-182","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/pages\/182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":70,"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/pages\/182\/revisions"}],"predecessor-version":[{"id":782,"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/pages\/182\/revisions\/782"}],"wp:attachment":[{"href":"https:\/\/gaelo.fr\/en\/wp-json\/wp\/v2\/media?parent=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}