body.page-home.layout-mode-desktop {
  --mobile-header-h: 0px;
  --mobile-dock-h: 0px;
  --home-mobile-header-offset: 0px;
}

body.page-home.layout-mode-desktop #user-banner.user-banner,
body.page-home.layout-mode-desktop nav#mobile-fixed-dock.mobile-fixed-dock {
  display: none !important;
}

body.page-home.layout-mode-desktop .site-nav.is-mobile-source-hidden {
  display: grid !important;
}

body.page-home.is-home-shell {
  --home-shell-gutter: clamp(14px, 3.8vw, 26px);
  --home-shell-dock-max: 760px;
  --topbar-h: 68px;
  --mobile-header-h: 112px;
  --mobile-dock-h: 80px;
  --home-mobile-header-offset: 118px;
  --home-shell-banner-h: 44px;
  --home-shell-banner-gap: 8px;
  overflow-x: clip;
}

body.page-home.is-home-shell,
body.page-home.is-home-shell main.site-main,
body.page-home.is-home-shell .section,
body.page-home.is-home-shell .container {
  max-width: 100%;
}

@supports not (overflow: clip) {
  body.page-home.is-home-shell {
    overflow-x: hidden;
  }
}

body.page-home [data-animate],
body.page-home [data-animate].is-inview,
body.page-home .reveal,
body.page-home .reveal.is-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
}

@media (max-width: 1024px) {
  body.page-home.is-home-shell {
    animation: none !important;
    transform: none !important;
  }

  body.page-home.is-home-shell .container {
    width: min(100% - (var(--home-shell-gutter) * 2), 860px);
  }

  body.page-home.is-home-shell .site-header.site-topbar {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(241, 248, 255, 0.95) 100%
    );
    box-shadow:
      0 6px 18px rgba(7, 31, 67, 0.08),
      0 1px 0 rgba(255, 255, 255, 0.88) inset;
  }

  body.page-home.is-home-shell #siteTopbar.topbar {
    width: min(100% - (var(--home-shell-gutter) * 2), 860px);
    gap: 8px;
    min-height: var(--topbar-h);
    padding: calc(env(safe-area-inset-top, 0px) + 8px) 0 5px;
  }

  body.page-home.is-home-shell #siteTopbar .brand {
    width: min(100%, 860px);
    gap: 10px;
    padding-inline: 0;
  }

  body.page-home.is-home-shell #siteTopbar .brand-mark {
    width: clamp(46px, 6vw, 60px);
    height: clamp(46px, 6vw, 60px);
  }

  body.page-home.is-home-shell #siteTopbar .brand-ribbon {
    width: clamp(34px, 4.6vw, 46px);
    height: clamp(34px, 4.6vw, 46px) !important;
  }

  body.page-home.is-home-shell #siteTopbar .brand-title {
    max-width: 15.5ch;
    font-size: clamp(1.22rem, 3.1vw, 1.9rem);
    line-height: 1.03;
    text-wrap: balance;
  }

  body.page-home.is-home-shell header.site-header.site-topbar.is-compact #siteTopbar.topbar {
    padding-top: calc(env(safe-area-inset-top, 0px) + 6px);
    padding-bottom: 3px;
    gap: 6px;
  }

  body.page-home.is-home-shell header.site-header.site-topbar.is-compact #siteTopbar .brand-mark {
    width: clamp(42px, 4.8vw, 52px);
    height: clamp(42px, 4.8vw, 52px);
  }

  body.page-home.is-home-shell header.site-header.site-topbar.is-compact #siteTopbar .brand-ribbon {
    width: clamp(30px, 4vw, 40px);
    height: clamp(30px, 4vw, 40px) !important;
  }

  body.page-home.is-home-shell header.site-header.site-topbar.is-compact #siteTopbar .brand-title {
    font-size: clamp(1.08rem, 2.6vw, 1.56rem);
  }

  body.page-home.is-home-shell .site-nav.is-mobile-source-hidden {
    display: none !important;
  }

  body.page-home.is-home-shell .partners-bar {
    padding-block: 0;
  }

  body.page-home.is-home-shell .partners-bar .container {
    width: min(100% - (var(--home-shell-gutter) * 2), 720px);
  }

  body.page-home.is-home-shell #partner-logos.partners-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
    padding: 2px 0 6px;
  }

  body.page-home.is-home-shell #partner-logos.partners-strip > .partner-logo,
  body.page-home.is-home-shell #partner-logos.partners-strip > .partner-pill,
  body.page-home.is-home-shell #partner-logos.partners-strip > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transform: none;
    transition: none;
  }

  body.page-home.is-home-shell #partner-logos.partners-strip > .partner-logo img,
  body.page-home.is-home-shell #partner-logos.partners-strip > .partner-pill img,
  body.page-home.is-home-shell #partner-logos.partners-strip img {
    width: auto;
    max-width: 100%;
    height: 26px;
    object-fit: contain;
    object-position: center;
    display: block;
    filter: none;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="fep"]
    img {
    height: 28px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="gedyt"]
    img {
    height: 24px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="merck"]
    img {
    height: 25px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="gcba"]
    img {
    height: 24px;
  }

  body.page-home.is-home-shell.has-user-banner #user-banner.user-banner {
    position: fixed !important;
    top: calc(
      env(safe-area-inset-top, 0px) + var(--header-fixed-h, var(--mobile-header-h, 0px)) +
        var(--home-shell-banner-gap)
    ) !important;
    left: 50% !important;
    right: auto !important;
    z-index: 1700 !important;
    width: min(calc(100% - (var(--home-shell-gutter) * 2)), 860px) !important;
    max-width: 860px !important;
    transform: translateX(-50%) !important;
    height: auto;
    min-height: var(--home-shell-banner-h);
    padding: 0 14px;
    border-radius: 16px;
    box-shadow:
      0 10px 24px rgba(3, 27, 78, 0.18),
      0 3px 10px rgba(11, 94, 215, 0.16);
    gap: 10px;
  }

  body.page-home.is-home-shell.has-user-banner #user-banner.user-banner .user-banner__copy {
    min-width: 0;
    gap: 1px;
  }

  body.page-home.is-home-shell.has-user-banner #user-banner.user-banner .user-banner__eyebrow {
    font-size: 0.59rem;
    letter-spacing: 0.08em;
  }

  body.page-home.is-home-shell.has-user-banner #user-banner.user-banner .user-banner__text {
    font-size: 0.88rem;
    font-weight: 700;
  }

  body.page-home.is-home-shell.has-user-banner #contenido.site-main,
  body.page-home.is-home-shell.has-user-banner main.site-main {
    padding-top: calc(
      var(--header-fixed-h, var(--mobile-header-h, 0px)) + var(--home-shell-banner-h) +
        var(--home-shell-banner-gap) + 12px
    ) !important;
  }

  body.page-home.is-home-shell main.site-main,
  body.page-home.is-home-shell #contenido.site-main {
    padding-bottom: calc(
      var(--mobile-dock-h, 84px) + env(safe-area-inset-bottom, 0px) + 96px
    ) !important;
    overflow-x: clip;
  }

  body.page-home.is-home-shell #inicio.hero {
    padding-top: 10px;
    padding-bottom: 16px;
  }

  body.page-home.is-home-shell #guias.section,
  body.page-home.is-home-shell #algoritmo-section.section,
  body.page-home.is-home-shell #registro.section,
  body.page-home.is-home-shell #kpis.section,
  body.page-home.is-home-shell #cronograma.section {
    padding-top: 22px;
  }

  body.page-home.is-home-shell .hero-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: clamp(16px, 2.8vw, 24px);
    border-radius: 22px;
    box-shadow:
      0 14px 30px rgba(7, 31, 67, 0.1),
      0 2px 6px rgba(7, 31, 67, 0.05),
      inset 0 1px 0 rgba(255, 255, 255, 0.88);
  }

  body.page-home.is-home-shell .hero-card::before {
    width: 240px;
    height: 240px;
    right: -110px;
    top: -110px;
  }

  body.page-home.is-home-shell .hero-card::after {
    width: 210px;
    height: 210px;
    left: -105px;
    bottom: -105px;
  }

  body.page-home.is-home-shell .hero-left__main {
    gap: 8px;
  }

  body.page-home.is-home-shell .hero-badge {
    margin-bottom: 0;
    padding: 5px 10px;
    font-size: 0.7rem;
    letter-spacing: 0.065em;
  }

  body.page-home.is-home-shell .hero-subtitle {
    font-size: clamp(0.98rem, 2.2vw, 1.18rem);
  }

  body.page-home.is-home-shell .hero-text {
    font-size: 0.93rem;
    line-height: 1.42;
  }

  body.page-home.is-home-shell .hero-highlights {
    gap: 6px;
  }

  body.page-home.is-home-shell .hero-highlights li {
    font-size: 0.88rem;
    line-height: 1.34;
  }

  body.page-home.is-home-shell .hero-cta {
    gap: 8px;
  }

  body.page-home.is-home-shell .hero-cta__link {
    flex: 1 1 160px;
    justify-content: center;
    min-height: 44px;
  }

  body.page-home.is-home-shell .hero-right {
    gap: 10px;
  }

  body.page-home.is-home-shell .hero-action-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border-radius: 20px;
  }

  body.page-home.is-home-shell .hero-action-card__btn {
    width: 100%;
    justify-content: center;
  }

  body.page-home.is-home-shell .mini-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.page-home.is-home-shell .mini-panel {
    min-width: 0;
  }

  body.page-home.is-home-shell .embed-card,
  body.page-home.is-home-shell .embed-shell {
    border-radius: 18px;
  }

  body.page-home.is-home-shell .embed-shell[data-embed-pending="true"] {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.74),
      0 16px 32px rgba(7, 31, 67, 0.1);
  }

  body.page-home.is-home-shell nav#mobile-fixed-dock.mobile-fixed-dock {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
    width: min(calc(100% - (var(--home-shell-gutter) * 2)), var(--home-shell-dock-max)) !important;
    max-width: var(--home-shell-dock-max) !important;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: 2205 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(-50%, 10px, 0) !important;
    transition:
      opacity 220ms ease,
      transform 220ms ease,
      visibility 220ms ease;
  }

  body.page-home.is-home-shell nav#mobile-fixed-dock.mobile-fixed-dock[hidden] {
    display: none !important;
  }

  body.page-home.is-home-shell nav#mobile-fixed-dock.mobile-fixed-dock.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(-50%, 0, 0) !important;
  }

  body.page-home.is-home-shell.is-auth-locked nav#mobile-fixed-dock.mobile-fixed-dock {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .mobile-dock-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
    margin: 0;
    padding: 9px 9px calc(9px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 22px;
    border: 1px solid rgba(15, 95, 166, 0.16);
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(232, 243, 252, 0.94) 100%
    );
    box-shadow:
      0 18px 40px rgba(7, 31, 67, 0.16),
      0 1px 0 rgba(255, 255, 255, 0.92) inset;
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
  }

  body.page-home.is-home-shell #mobile-fixed-dock .mobile-dock-list li {
    min-width: 0;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 5px;
    min-height: 58px !important;
    padding: 7px 4px !important;
    border-radius: 15px !important;
    color: rgba(11, 45, 83, 0.84);
    text-decoration: none;
    transition:
      background 180ms ease,
      color 180ms ease,
      transform 180ms ease,
      box-shadow 180ms ease;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link__icon {
    width: 22px;
    height: 22px;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link__icon svg {
    width: 20px;
    height: 20px;
    stroke-width: 2;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link__label {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.01em;
    text-align: center;
    text-decoration: none;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link:hover,
  body.page-home.is-home-shell #mobile-fixed-dock .nav-link:focus-visible {
    text-decoration: none;
    transform: translateY(-1px);
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link:focus-visible {
    outline: 2px solid rgba(42, 137, 230, 0.75);
    outline-offset: 2px;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link.is-active,
  body.page-home.is-home-shell #mobile-fixed-dock .nav-link[aria-current="true"] {
    color: var(--blue-950);
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(205, 229, 248, 0.96)
    ) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 10px 20px rgba(11, 58, 102, 0.14);
  }

  body.page-home.is-home-shell .back-to-top {
    right: clamp(14px, 3.8vw, 22px);
    bottom: calc(var(--mobile-dock-h, 84px) + env(safe-area-inset-bottom, 0px) + 28px) !important;
    z-index: 2206 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.page-home.is-home-shell {
    --home-shell-gutter: clamp(18px, 3vw, 30px);
    --home-shell-dock-max: 700px;
  }

  body.page-home.is-home-shell-tablet #siteTopbar.topbar {
    padding-bottom: 8px;
  }

  body.page-home.layout-mode-tablet.is-home-shell-tablet #siteTopbar .brand-title {
    display: block;
    max-width: none;
    white-space: nowrap;
    text-wrap: nowrap;
    overflow-wrap: normal;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: initial;
  }

  body.page-home.layout-mode-tablet.is-home-shell-tablet
    header.site-header.site-topbar.is-compact
    #siteTopbar
    .brand-title,
  body.page-home.layout-mode-tablet.is-home-shell-tablet.is-header-compact
    #siteTopbar
    .brand-title {
    display: block;
    max-width: none;
    white-space: nowrap;
    text-wrap: nowrap;
    overflow-wrap: normal;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: initial;
  }

  body.page-home.is-home-shell-tablet .hero-card {
    padding: 22px;
    gap: 16px;
  }

  body.page-home.is-home-shell-tablet .hero-cta__link {
    flex: 0 1 auto;
    min-width: 128px;
  }

  body.page-home.is-home-shell-tablet .mini-panels {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.page-home.is-home-shell {
    --home-shell-dock-max: 640px;
  }

  body.page-home.is-home-shell #siteTopbar .brand {
    gap: 8px;
  }

  body.page-home.is-home-shell #siteTopbar .brand-title {
    text-align: center;
  }

  body.page-home.is-home-shell .embed-shell--calendar {
    height: clamp(360px, 58vh, 620px);
  }
}

@media (max-width: 896px) and (orientation: landscape) {
  body.page-home.is-home-shell {
    --home-shell-gutter: 16px;
    --mobile-dock-h: 72px;
    --home-shell-banner-h: 40px;
  }

  body.page-home.is-home-shell #siteTopbar.topbar {
    padding-top: calc(env(safe-area-inset-top, 0px) + 6px);
    padding-bottom: 3px;
    gap: 6px;
  }

  body.page-home.is-home-shell #partner-logos.partners-strip {
    padding-top: 1px;
    padding-bottom: 4px;
  }

  body.page-home.is-home-shell #inicio.hero {
    padding-top: 8px;
    padding-bottom: 12px;
  }

  body.page-home.is-home-shell .hero-card {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    gap: 12px;
    padding: 16px 18px;
  }

  body.page-home.is-home-shell .hero-highlights {
    display: none;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .mobile-dock-list {
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link {
    min-height: 52px !important;
    padding: 6px 2px !important;
  }
}

@media (max-width: 480px) {
  body.page-home.is-home-shell {
    --home-shell-gutter: 14px;
    --home-shell-dock-max: calc(100vw - 28px);
  }

  body.page-home.is-home-shell #siteTopbar.topbar {
    gap: 6px;
    padding-top: calc(env(safe-area-inset-top, 0px) + 6px);
  }

  body.page-home.is-home-shell #siteTopbar .brand-title {
    font-size: 1.18rem;
  }

  body.page-home.is-home-shell #partner-logos.partners-strip {
    gap: 6px;
    padding-bottom: 6px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="fep"]
    img {
    height: 22px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="gedyt"]
    img {
    height: 20px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="merck"]
    img {
    height: 21px;
  }

  body.page-home.is-home-shell
    #partner-logos.partners-strip
    > .partner-logo[data-partner="gcba"]
    img {
    height: 20px;
  }

  body.page-home.is-home-shell .hero-card {
    padding: 16px 14px;
    gap: 12px;
    border-radius: 22px;
  }

  body.page-home.is-home-shell .hero-text,
  body.page-home.is-home-shell .hero-highlights li {
    font-size: 0.91rem;
  }

  body.page-home.is-home-shell .hero-cta__link {
    flex: 1 1 calc(50% - 10px);
  }

  body.page-home.is-home-shell .mini-panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home.is-home-shell #mobile-fixed-dock .mobile-dock-list {
    gap: 6px;
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 22px !important;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link {
    min-height: 56px !important;
    padding: 7px 2px !important;
    gap: 4px;
    border-radius: 14px !important;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link__icon {
    width: 20px;
    height: 20px;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link__icon svg {
    width: 18px;
    height: 18px;
  }

  body.page-home.is-home-shell #mobile-fixed-dock .nav-link__label {
    font-size: 0.66rem;
  }

  body.page-home.is-home-shell .back-to-top {
    width: 52px;
    height: 52px;
    bottom: calc(var(--mobile-dock-h, 80px) + env(safe-area-inset-bottom, 0px) + 20px) !important;
  }

  body.page-home.is-home-shell.has-user-banner #user-banner.user-banner {
    padding-inline: 12px;
  }

  body.page-home.is-home-shell.has-user-banner #user-banner.user-banner .user-banner__text {
    font-size: 0.82rem;
  }
}

body.page-home.is-home-shell-phone #siteTopbar.topbar {
  gap: 4px;
  padding-top: calc(env(safe-area-inset-top, 0px) + 6px);
  padding-inline: 8px;
}

body.page-home.is-home-shell-phone #siteTopbar .brand {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  width: 100%;
  justify-content: center;
  gap: 8px;
  padding-inline: 0;
}

body.page-home.is-home-shell-phone #siteTopbar .brand-mark {
  width: 38px;
  height: 38px;
}

body.page-home.is-home-shell-phone #siteTopbar .brand-ribbon {
  width: 28px;
  height: 28px !important;
}

body.page-home.is-home-shell-phone #siteTopbar .brand-copy {
  display: grid;
  align-items: center;
  width: 100%;
  min-width: 0;
}

body.page-home.is-home-shell-phone #siteTopbar .brand-title {
  display: -webkit-box !important;
  width: 100%;
  min-width: 0;
  max-width: none !important;
  margin-inline: 0;
  font-size: clamp(0.96rem, 4.1vw, 1.08rem);
  line-height: 1.06;
  letter-spacing: -0.025em;
  text-align: center;
  white-space: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: clip;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

body.page-home.is-home-shell-phone
  header.site-header.site-topbar.is-compact
  #siteTopbar.topbar {
  gap: 3px;
  padding-top: calc(env(safe-area-inset-top, 0px) + 5px);
  padding-bottom: 3px;
  padding-inline: 7px;
}

body.page-home.is-home-shell-phone
  header.site-header.site-topbar.is-compact
  #siteTopbar
  .brand-mark {
  width: 34px;
  height: 34px;
}

body.page-home.is-home-shell-phone
  header.site-header.site-topbar.is-compact
  #siteTopbar
  .brand-ribbon {
  width: 25px;
  height: 25px !important;
}

body.page-home.is-home-shell-phone
  header.site-header.site-topbar.is-compact
  #siteTopbar
  .brand {
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: center;
  gap: 7px;
}

body.page-home.is-home-shell-phone
  header.site-header.site-topbar.is-compact
  #siteTopbar
  .brand-title {
  display: -webkit-box !important;
  font-size: clamp(0.9rem, 3.85vw, 1rem);
  line-height: 1.05;
  white-space: normal;
  text-wrap: balance;
  overflow-wrap: normal;
  overflow: hidden;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
