/* Editorial index. The carousel is isolated from the rest of the public page. */
body.index-editorial {
  --hero-canvas: #020606;
  --hero-accent: #58c988;
  --hero-copy-width: min(43vw, 650px);
}

body.index-editorial main#inicio { width: 100%; max-width: none; }

body.index-editorial .laboratory-hero {
  position: relative;
  width: min(1920px, 100%);
  min-height: clamp(560px, calc(100svh - var(--public-header-height) - 116px), 720px);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  isolation: isolate;
  overflow: clip;
  background: var(--hero-canvas);
}

body.index-editorial .laboratory-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 2;
  width: 48%;
  pointer-events: none;
  background: linear-gradient(90deg, var(--hero-canvas) 0 72%, transparent 100%);
}

body.index-editorial .laboratory-hero::after { content: none; }

body.index-editorial .laboratory-hero-copy {
  position: relative;
  z-index: 4;
  align-self: center;
  min-width: 0;
  max-width: 650px;
  padding: clamp(54px, 7vw, 100px) clamp(24px, 5vw, 78px);
  padding-right: clamp(20px, 2.8vw, 44px);
  text-align: left;
}

body.index-editorial .laboratory-kicker {
  margin: 0;
  color: var(--hero-accent);
  font-family: inherit;
  font-size: .78rem;
  font-weight: 650;
  letter-spacing: .3em;
  line-height: 1;
  text-indent: 0;
  text-shadow: 0 1px 4px rgb(0 0 0 / 82%);
}

body.index-editorial .laboratory-hero h1 {
  max-width: 9.6ch;
  margin: clamp(24px, 3vh, 34px) 0;
  color: var(--text-primary);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.25rem, 5.6vw, 5.35rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .98;
  text-indent: 0;
  text-transform: none;
  overflow-wrap: normal;
  text-shadow: 0 2px 5px rgb(0 0 0 / 88%), 0 0 16px rgb(0 0 0 / 48%);
}

body.index-editorial .laboratory-hero h1 span { color: color-mix(in srgb, var(--text-primary) 72%, transparent); }

body.index-editorial .laboratory-lead {
  width: auto;
  max-width: 36ch;
  margin: 0;
  color: var(--text-secondary);
  font-size: clamp(.98rem, 1.15vw, 1.13rem);
  line-height: 1.72;
  text-shadow: 0 1px 4px rgb(0 0 0 / 82%);
}

body.index-editorial .public-care-callout { margin: clamp(28px, 4vh, 42px) 0 0; padding: 0; border: 0; background: none; box-shadow: none; }
.index-editorial .public-care-actions { display: grid; grid-template-columns: max-content max-content; grid-template-areas: "primary secondary" "access access"; align-items: center; gap: 10px clamp(20px, 2.6vw, 40px); }

body.index-editorial a.public-care-primary {
  grid-area: primary;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 22px;
  border: 1px solid color-mix(in srgb, var(--hero-accent) 70%, transparent);
  border-radius: 9px;
  background: color-mix(in srgb, var(--hero-accent) 78%, #153922);
  box-shadow: none;
  color: #f7fff9;
  font-size: 1rem;
  font-weight: 650;
  text-decoration: none;
}

.index-editorial .public-care-primary svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.index-editorial .public-care-primary span:last-child { color: currentColor; }
body.index-editorial a.public-care-primary:hover { background: color-mix(in srgb, var(--hero-accent) 88%, #153922); color: #fff; transform: translateY(-1px); }
.index-editorial .public-care-access { grid-area: access; padding-left: 2px; font-size: .72rem; color: var(--text-secondary); text-shadow: 0 1px 4px rgb(0 0 0 / 80%); }

body.index-editorial a.public-care-secondary {
  grid-area: secondary;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text-primary);
  font-size: .88rem;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--text-secondary) 55%, transparent);
  text-shadow: 0 1px 4px rgb(0 0 0 / 82%);
}

body.index-editorial a.public-care-secondary:hover { color: var(--hero-accent); border-color: var(--hero-accent); }
body.index-editorial .public-care-signature { margin: 24px 0 0; max-width: 40ch; color: var(--text-secondary); font-size: .7rem; line-height: 1.65; text-shadow: 0 1px 4px rgb(0 0 0 / 78%); }
.index-editorial .public-care-actions a:focus-visible { outline: 2px solid var(--hero-accent); outline-offset: 5px; }

.hero-carousel {
  --hero-slide-distance: 100%;
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  outline: none;
  touch-action: pan-y;
  background: var(--hero-canvas);
}

.hero-slide-stack, .hero-slide { position: absolute; inset: 0; }
.hero-slide { z-index: 1; visibility: hidden; transform: translate3d(100%, 0, 0); will-change: transform; }
.hero-slide.is-active { z-index: 2; visibility: visible; transform: translate3d(0, 0, 0); }
.hero-slide.is-entering-right { z-index: 3; visibility: visible; animation: hero-slide-enter-from-right var(--hero-transition-duration, 1000ms) cubic-bezier(.22, 1, .36, 1) both; }
.hero-slide.is-entering-left { z-index: 3; visibility: visible; animation: hero-slide-enter-from-left var(--hero-transition-duration, 1000ms) cubic-bezier(.22, 1, .36, 1) both; }
.hero-slide.is-leaving-left { z-index: 2; visibility: visible; animation: hero-slide-exit-to-left var(--hero-transition-duration, 1000ms) cubic-bezier(.22, 1, .36, 1) both; }
.hero-slide.is-leaving-right { z-index: 2; visibility: visible; animation: hero-slide-exit-to-right var(--hero-transition-duration, 1000ms) cubic-bezier(.22, 1, .36, 1) both; }
.hero-carousel:not(.is-ready) .hero-slide--brand { visibility: visible; transform: translateX(0); }
.hero-carousel:not(.is-ready) :is(.hero-control, .hero-indicators) { opacity: 0; pointer-events: none; }

@keyframes hero-slide-enter-from-right {
  from { transform: translate3d(var(--hero-slide-distance), 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@keyframes hero-slide-enter-from-left {
  from { transform: translate3d(calc(var(--hero-slide-distance) * -1), 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@keyframes hero-slide-exit-to-left {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(var(--hero-slide-distance) * -1), 0, 0); }
}

@keyframes hero-slide-exit-to-right {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(var(--hero-slide-distance), 0, 0); }
}

.hero-slide--image::before, .hero-slide--image::after { content: ""; position: absolute; z-index: 1; pointer-events: none; }
.hero-slide--image::before { inset: 0; background: linear-gradient(90deg, var(--hero-canvas) 0, transparent 26%, transparent 74%, color-mix(in srgb, var(--hero-canvas) 60%, transparent) 100%); }
.hero-slide--image::after { inset: auto 0 0; height: 35%; background: linear-gradient(transparent, color-mix(in srgb, var(--hero-canvas) 88%, transparent)); }
.hero-slide--image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.02); }
.hero-slide--image.is-image-error { background: radial-gradient(circle at 62% 42%, color-mix(in srgb, var(--hero-accent) 25%, transparent), transparent 35%), var(--hero-canvas); }

.hero-slide-caption {
  position: absolute;
  z-index: 3;
  top: clamp(44px, 11%, 90px);
  right: clamp(36px, 4vw, 72px);
  width: min(33%, 350px);
  color: #f4f7f4;
  padding: 18px 20px;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 12px;
  background: linear-gradient(110deg, rgb(0 0 0 / 52%), rgb(0 0 0 / 28%));
  backdrop-filter: blur(3px);
  text-shadow: 0 2px 5px rgb(0 0 0 / 92%), 0 0 18px rgb(0 0 0 / 72%);
  pointer-events: none;
}

.hero-slide-caption > * { transition: opacity 220ms ease; }
.hero-slide-caption > p:first-child { margin: 0 0 16px; color: #65d391; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.hero-slide-caption h2 { margin: 0; color: inherit; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2vw, 2.25rem); font-weight: 400; line-height: 1.12; text-shadow: 0 2px 5px rgb(0 0 0 / 94%), 0 0 16px rgb(0 0 0 / 76%); }
.hero-slide-caption h2::after { content: ""; display: block; width: 50px; height: 1px; margin: 22px 0; background: #56c882; }
.hero-slide-caption > p:last-child { margin: 0; color: rgb(245 248 245 / 88%); font-size: clamp(.85rem, 1vw, 1rem); line-height: 1.55; text-shadow: 0 1px 4px rgb(0 0 0 / 92%), 0 0 12px rgb(0 0 0 / 72%); }

.hero-control {
  position: absolute;
  z-index: 5;
  top: calc(50% - 23px);
  width: 46px;
  height: 46px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--hero-accent) 34%, transparent);
  border-radius: 50%;
  background: rgb(5 13 10 / 68%);
  color: rgb(255 255 255 / 88%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 4%), 0 10px 28px rgb(0 0 0 / 28%);
  backdrop-filter: blur(12px);
  transform: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.hero-control--previous { left: 18px; }
.hero-control--next { right: 18px; }
.hero-control svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-control--previous svg { transform: rotate(180deg); }
body.index-editorial .hero-control:is(:hover, :focus-visible) { background: rgb(18 42 30 / 88%); border-color: var(--hero-accent); color: #fff; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 8%), 0 12px 30px rgb(0 0 0 / 38%); transform: none !important; }
body.index-editorial .hero-control:active { background: rgb(12 31 22 / 94%); transform: none !important; }
.hero-carousel:focus-visible { box-shadow: inset 0 0 0 2px var(--hero-accent); }
.hero-control:focus-visible, .hero-indicator:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.hero-indicators { position: absolute; z-index: 5; left: 50%; bottom: 23px; display: flex; gap: 10px; transform: translateX(-50%); }
.hero-indicator { width: 38px; height: 12px; min-width: 0; min-height: 0; padding: 0; border: 0; background: transparent; }
.hero-indicator::before { content: ""; display: block; width: 100%; height: 4px; border-radius: 4px; background: rgb(255 255 255 / 28%); transition: background 180ms ease, transform 180ms ease; }
.hero-indicator:hover::before { background: rgb(255 255 255 / 58%); }
.hero-indicator[aria-current="true"]::before { background: #fff; transform: scaleX(1.08); }
.hero-slider-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.hero-slide--brand { background: var(--hero-canvas); }
.hero-carousel[data-active-slide-kind="brand"] .hero-slide-caption { opacity: 0; visibility: hidden; }
body.index-editorial .hero-slide--brand .laboratory-stage {
  container-type: inline-size;
  display: grid;
  place-items: center;
  --orbit-scale-y: .7;
  --orbit-inverse-scale-y: 1.428571;
  width: 100%;
  min-height: 100%;
  overflow: visible;
}

body.index-editorial .laboratory-brain-visual { position: relative; order: -1; flex: 0 0 100%; width: 100%; max-width: 100%; height: auto; margin: 0; inset: auto; transform: none; }
.index-editorial .laboratory-orbit-path, .index-editorial .laboratory-orbit-track { --orbit-radius: max(56px, calc(50cqw - 78px)); }
.index-editorial .laboratory-orbit-path { width: calc(var(--orbit-radius) * 2); height: calc(var(--orbit-radius) * 2 * var(--orbit-scale-y)); }
body.index-editorial .laboratory-orbit-action { width: 136px; min-width: 0; min-height: 44px; padding: 9px 10px; font-size: .68rem; text-align: center; text-decoration: none; }

.hero-pillars {
  position: relative;
  z-index: 4;
  width: min(1920px, 100%);
  min-height: 116px;
  margin: 0 auto;
  padding: 24px clamp(24px, 4vw, 64px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  border-block: 1px solid var(--border-subtle);
  background: color-mix(in srgb, var(--hero-canvas) 96%, transparent);
}

.hero-pillars > div { min-width: 0; display: flex; align-items: center; gap: 16px; padding-inline: clamp(0px, 2vw, 30px); }
.hero-pillars svg { flex: 0 0 auto; width: 32px; height: 32px; fill: none; stroke: var(--text-primary); stroke-width: 1.5; }
.hero-pillars span { min-width: 0; display: grid; gap: 5px; }
.hero-pillars strong { color: var(--text-primary); font-size: .92rem; }
.hero-pillars small { color: var(--text-secondary); font-size: .78rem; line-height: 1.35; }

html[data-theme="light"] body.index-editorial .laboratory-hero { background-image: none; }
html[data-theme="light"] .hero-pillars { background: var(--surface-primary); }

/* La paleta de Index sustituye las superficies cálidas del tema Claro global. */
html.index-home[data-theme="light"] {
  --paleta-clara-fondo: #e9f5fb;
  --paleta-clara-superficie: #fff;
  --paleta-clara-superficie-fuerte: #e0f0f9;
  --paleta-clara-hover: #d8ebf6;
  --paleta-clara-borde: #b9d6e6;
  --paleta-clara-acento: #246f95;
  --text-primary: #193d53;
  --text-secondary: #4d6b7c;
  --accent-soft: rgb(40 127 169 / 12%);
  --action-primary-bg: #246f95;
  --action-primary-hover: #206b90;
  --action-primary-text: #fff;
  --button-primary-bg: #246f95;
  --button-primary-hover: #206b90;
  --button-primary-active: #195b7d;
  --button-primary-border: #246f95;
  --button-secondary-bg: #f7fcff;
  --button-secondary-hover: #e3f3fb;
  --button-secondary-active: #d5eaf5;
  --button-secondary-text: #235a76;
  --button-secondary-border: #a9d0e3;
  background-color: #e9f5fb !important;
}

html[data-theme="light"] body.index-editorial {
  --hero-canvas: #e8f3fa;
  --hero-accent: #246f95;
  --public-bg: #e8f3fa;
  --public-bg-elevated: #dcebf5;
  --public-panel: #e5f0f7;
  --public-panel-strong: #d8e9f4;
  --public-line: rgb(54 116 151 / 20%);
  --public-line-strong: rgb(42 111 151 / 44%);
  --public-text: #243b4b;
  --public-muted: #526b7b;
  --public-cyan: #246f95;
  --public-blue: #246f95;
  --public-green: #246f95;
  --public-green-deep: #286487;
  --public-shadow: rgb(38 83 111 / 12%);
  background-color: #e9f5fb;
}

html[data-theme="light"] body.index-editorial .public-header,
html[data-theme="light"] body.index-editorial .public-footer,
html[data-theme="light"] body.index-editorial .public-theme-options,
html[data-theme="light"] body.index-editorial .public-mobile-menu {
  color: var(--public-text);
  background-color: #f7fcff !important;
  border-color: var(--public-line);
}

html[data-theme="light"] body.index-editorial .laboratory-hero,
html[data-theme="light"] body.index-editorial .hero-carousel {
  background-color: var(--hero-canvas);
}

html[data-theme="light"] body.index-editorial .laboratory-hero::before {
  background: none;
}

html[data-theme="light"] body.index-editorial .hero-slide--image::before {
  background: linear-gradient(90deg,
    var(--hero-canvas) 0% 12%,
    color-mix(in srgb, var(--hero-canvas) 84%, transparent) 28%,
    color-mix(in srgb, var(--hero-canvas) 44%, transparent) 46%,
    transparent 64%);
}

html[data-theme="light"] body.index-editorial .hero-slide--image::after {
  display: none;
}

html[data-theme="light"] body.index-editorial .hero-slide--image[data-hero-slide="clinical-ethics-conference"] img {
  object-fit: cover;
}

html[data-theme="light"] body.index-editorial .hero-slide-caption {
  top: auto;
  right: auto;
  bottom: clamp(58px, 9%, 82px);
  left: clamp(30px, 4vw, 60px);
  width: min(48%, 360px);
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #193d53;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  text-shadow: none;
}

html[data-theme="light"] body.index-editorial .hero-slide-caption > p:first-child {
  color: #245f7d;
  text-shadow: none;
}

html[data-theme="light"] body.index-editorial .hero-slide-caption h2,
html[data-theme="light"] body.index-editorial .hero-slide-caption > p:last-child {
  color: #193d53;
  text-shadow: none;
}

html[data-theme="light"] body.index-editorial .hero-slide-caption h2::after {
  background: #8ed9f7;
}

html[data-theme="light"] body.index-editorial .hero-carousel[data-active-slide="clinical-ethics-conference"] .hero-slide-caption {
  right: clamp(24px, 3vw, 50px);
  left: auto;
  width: min(44%, 340px);
}

html[data-theme="light"] body.index-editorial :is(.laboratory-hero h1, .laboratory-lead, .laboratory-kicker, .public-care-access, .public-care-signature) {
  text-shadow: none;
}

html[data-theme="light"] body.index-editorial a.public-care-primary {
  color: #fff;
  background: #287ca5;
  border-color: #287ca5;
  box-shadow: 0 5px 14px rgb(40 124 165 / 20%);
}

html[data-theme="light"] body.index-editorial a.public-care-primary:hover {
  color: #fff;
  background: #216789;
  border-color: #216789;
}

html[data-theme="light"] body.index-editorial a.public-care-secondary {
  min-height: 44px;
  padding: 10px 14px;
  color: #245b78;
  background: #d7eaf5;
  border: 1px solid #b5d2e2;
  border-radius: 8px;
  text-shadow: none;
}

html[data-theme="light"] body.index-editorial a.public-care-secondary:hover {
  color: #174c69;
  background: #c8e1ef;
  border-color: #8ebbd3;
}

html[data-theme="light"] body.index-editorial .public-care-actions,
html[data-theme="light"] body.index-editorial .public-care-callout {
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none;
}

html[data-theme="light"] body.index-editorial .public-login-button,
html[data-theme="light"] body.index-editorial .public-mobile-actions .public-login-button {
  color: #fff;
  background: #246f95;
  border-color: #246f95;
  box-shadow: 0 4px 12px rgb(40 127 169 / 17%);
}

html[data-theme="light"] body.index-editorial .public-login-button:hover {
  color: #fff;
  background: #206b90;
  border-color: #206b90;
}

html[data-theme="light"] body.index-editorial .laboratory-button-secondary.laboratory-orbit-action,
html[data-theme="light"] body.index-editorial .laboratory-button-secondary.laboratory-orbit-action:hover {
  color: #235a76;
  background: #f7fcff;
  border-color: #9dc9dd;
  box-shadow: 0 5px 16px rgb(42 110 147 / 14%);
}

html[data-theme="light"] body.index-editorial .brain-shell {
  fill: #e9f7fd;
}

html[data-theme="light"] body.index-editorial #brainLine stop:last-child {
  stop-color: #8ed9f7;
}

html[data-theme="light"] body.index-editorial .panel-frame {
  fill: #dceef8;
}

html[data-theme="light"] body.index-editorial .hero-control,
html[data-theme="light"] body.index-editorial .hero-control:is(:hover, :focus-visible, :active) {
  color: #246b8c;
  background: #f7fcff;
  border-color: #91c5de;
  box-shadow: 0 4px 16px rgb(37 104 139 / 16%);
}

html[data-theme="light"] body.index-editorial .public-scroll-top {
  color: #246b8c;
  background: #f7fcff;
  border-color: #91c5de;
  box-shadow: 0 4px 16px rgb(37 104 139 / 16%);
}

html[data-theme="light"] body.index-editorial #reporteGlobalWidget .reporte-float-btn {
  color: #fff;
  background: #287fa9;
  border-color: #287fa9;
}

/* Índice público: superficies claras, enlaces legibles y ritmo compacto. */
html[data-theme="light"] body.index-editorial .hero-pillars {
  background: #e5f2f9;
  border-color: #bfd8e7;
}

html[data-theme="light"] body.index-editorial .public-modules,
html[data-theme="light"] body.index-editorial .public-roadmap,
html[data-theme="light"] body.index-editorial .public-philosophy {
  background: #e8f3fa;
}

html[data-theme="light"] body.index-editorial .module-grid {
  gap: 12px;
}

html[data-theme="light"] body.index-editorial .module-card {
  min-height: 118px;
  padding: 18px;
  border: 1px solid #c5ddea;
  border-radius: 10px;
  color: #193d53;
  background: #f4faff !important;
  box-shadow: none;
  transition: background-color 180ms ease, border-color 180ms ease;
}

html[data-theme="light"] body.index-editorial .module-card:hover,
html[data-theme="light"] body.index-editorial .module-card:focus-visible {
  background: #e0f1fa !important;
  border-color: #80b8d5;
  transform: none;
  box-shadow: none;
}

html[data-theme="light"] body.index-editorial .module-card h3 {
  margin-top: 10px;
  font-size: .94rem;
}

html[data-theme="light"] body.index-editorial .module-card p {
  font-size: .78rem;
  line-height: 1.4;
}

html[data-theme="light"] body.index-editorial .module-icon {
  color: #287ca5;
  background: none;
  border: 0;
  box-shadow: none;
}

html[data-theme="light"] body.index-editorial .module-more a {
  color: #245b78;
  background: #dceef8;
  border-color: #abd0e3;
  font-size: .75rem;
}

html[data-theme="light"] body.index-editorial .module-more a:hover,
html[data-theme="light"] body.index-editorial .module-more a:focus-visible {
  color: #163f57;
  background: #cbe5f3;
  border-color: #75aed0;
}

html[data-theme="light"] body.index-editorial .roadmap-line li::before {
  background: #e8f3fa;
  box-shadow: 0 0 0 4px rgb(40 124 165 / 9%);
}

html[data-theme="light"] body.index-editorial .public-contact-button {
  color: #235a76;
  background: #e2f2fa;
  border-color: #a9cfe2;
}

html[data-theme="light"] body.index-editorial .public-contact-button:hover {
  color: #163f57;
  background: #cbe5f3;
  border-color: #75aed0;
}

body.index-editorial .public-section { padding-block: clamp(48px, 7vw, 88px); }
body.index-editorial .public-contact-actions { flex-wrap: wrap; }
body.index-editorial .public-section-heading { text-align: left; }
body.index-editorial .module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 36px; }
html body.index-editorial :is(.module-card, .philosophy-card, .professional-card) { border: 0; border-radius: 0; background: none; background-image: none; box-shadow: none; }
html body.index-editorial .module-card { align-items: flex-start; justify-content: flex-start; min-height: 0; padding: 26px 0; border-top: 1px solid var(--border-subtle); text-align: left; }
html body.index-editorial .module-card:hover { background: none; box-shadow: none; transform: none; }
.index-editorial .module-icon { padding: 0; border: 0; background: none; box-shadow: none; }
html body.index-editorial .philosophy-card { padding-inline: 0; text-align: left; }
.index-editorial .professional-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
html body.index-editorial .professional-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 20px; border-top: 1px solid var(--border-subtle); padding-block: 26px; }
.index-editorial .professional-photo { width: 88px; border-radius: 50%; overflow: hidden; }
.index-editorial .professional-avatar { font-size: .65rem; text-align: center; }
.index-editorial .professional-card-content { padding: 0; }
body.index-editorial .professional-button { background: none; border: 0; border-radius: 0; padding-inline: 0; margin-right: 18px; text-decoration: underline; text-underline-offset: 5px; }

@container (max-width: 380px) {
  .index-editorial .laboratory-orbit-track, .index-editorial .laboratory-orbit-path { --orbit-scale-y: 1.4; --orbit-inverse-scale-y: .714286; }
}

@media (max-width: 1180px) {
  body.index-editorial .laboratory-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.index-editorial .laboratory-hero-copy { padding-left: 42px; }
  body.index-editorial .laboratory-hero h1 { font-size: clamp(3.1rem, 5.7vw, 4.7rem); }
  .hero-slide-caption { width: min(35%, 310px); right: 54px; }
  .hero-pillars { padding-inline: 24px; }
}

@media (max-width: 900px) {
  body.index-editorial .laboratory-hero { min-height: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto clamp(420px, 61vw, 540px); overflow: visible; }
  body.index-editorial .laboratory-hero::before { width: 100%; height: 56%; background: linear-gradient(180deg, var(--hero-canvas) 0 78%, transparent); }
  body.index-editorial .laboratory-hero-copy { width: min(680px, 100%); max-width: none; margin-inline: auto; padding: 58px 38px 48px; }
  body.index-editorial .laboratory-hero h1 { max-width: 11ch; font-size: clamp(3.3rem, 8.5vw, 5rem); }
  body.index-editorial .laboratory-lead { max-width: 43ch; }
  .hero-carousel { min-height: 0; height: 100%; }
  .hero-slide--image::before { background: linear-gradient(180deg, var(--hero-canvas), transparent 24%, transparent 72%, color-mix(in srgb, var(--hero-canvas) 80%, transparent)); }
  .hero-slide-caption { top: 38px; right: 72px; width: min(38%, 310px); padding: 15px 17px; }
  .hero-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  body.index-editorial .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  html[data-theme="light"] body.index-editorial .hero-slide--image::before {
    background: linear-gradient(180deg,
      var(--hero-canvas) 0%,
      color-mix(in srgb, var(--hero-canvas) 82%, transparent) 12%,
      transparent 34%);
  }

  html[data-theme="light"] body.index-editorial .hero-slide-caption {
    color: #fff;
    background: rgb(23 63 86 / 82%);
    border: 1px solid rgb(197 228 244 / 28%);
    border-radius: 10px;
    padding: 14px 16px;
    backdrop-filter: blur(4px);
  }

  html[data-theme="light"] body.index-editorial .hero-slide-caption > p:first-child {
    color: #bdeaff;
  }

  html[data-theme="light"] body.index-editorial .hero-slide-caption h2,
  html[data-theme="light"] body.index-editorial .hero-slide-caption > p:last-child {
    color: #fff;
    text-shadow: none;
  }
}

@media (max-width: 600px) {
  body.index-editorial .laboratory-hero { grid-template-rows: auto clamp(330px, 90vw, 410px); }
  body.index-editorial .laboratory-hero-copy { padding: 44px 20px 34px; }
  body.index-editorial .laboratory-kicker { font-size: .68rem; }
  body.index-editorial .laboratory-hero h1 { margin-block: 22px; font-size: clamp(2.75rem, 14.5vw, 4rem); }
  body.index-editorial .laboratory-lead { font-size: .96rem; line-height: 1.6; }
  .index-editorial .public-care-actions { grid-template-columns: minmax(0, 1fr); grid-template-areas: "primary" "secondary" "access"; align-items: stretch; gap: 11px; }
  body.index-editorial a.public-care-primary, body.index-editorial a.public-care-secondary { width: 100%; justify-content: center; }
  .index-editorial .public-care-access { text-align: center; }
  body.index-editorial .public-care-signature { display: none; }
  .hero-slide-caption { top: auto; right: 66px; bottom: 61px; left: 20px; width: auto; padding: 13px 15px; }
  .hero-slide-caption > p:first-child { margin-bottom: 8px; font-size: .62rem; }
  .hero-slide-caption h2 { max-width: 19ch; font-size: clamp(1.22rem, 5.6vw, 1.55rem); }
  .hero-slide-caption h2::after { width: 38px; margin: 12px 0; }
  .hero-slide-caption > p:last-child { max-width: 38ch; font-size: .78rem; }
  .hero-control { top: 46px; width: 42px; height: 42px; }
  .hero-control--previous { left: 10px; }
  .hero-control--next { right: 10px; }
  .hero-indicators { bottom: 18px; }
  .hero-indicator { width: 30px; }
  body.index-editorial .hero-slide--brand .laboratory-stage { min-height: 100%; }
  body.index-editorial .laboratory-orbit-action { width: 108px; min-height: 38px; padding: 7px; font-size: .58rem; }
  .hero-pillars { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 0; padding-block: 12px; }
  .hero-pillars > div { padding: 13px 4px; border-bottom: 1px solid var(--border-subtle); }
  .hero-pillars > div:last-child { border-bottom: 0; }
  .hero-pillars svg { width: 27px; height: 27px; }
  body.index-editorial .module-grid, .index-editorial .professional-grid { grid-template-columns: minmax(0, 1fr); }
  body.index-editorial .professional-card { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; }
  .index-editorial .professional-photo { width: 64px; }
}

@media (max-width: 600px) {
  html[data-theme="light"] body.index-editorial .hero-slide-caption {
    right: 58px;
    left: 20px;
    width: auto;
  }

  html[data-theme="light"] body.index-editorial .hero-carousel[data-active-slide="clinical-ethics-conference"] .hero-slide-caption {
    right: 58px;
    left: 20px;
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel { --hero-slide-distance: 12%; }
  .hero-slide { animation-timing-function: linear !important; }
  .hero-slide-caption > *, .hero-control, .hero-indicator::before { transition-duration: .01ms !important; }
  body.index-editorial a.public-care-primary:hover { transform: none; }
}
