/*
Theme Name: Hello Helios Child
Template: hello-elementor
Version: 1.0.0
Description: Minimal local presentation rules for Elementor Helios.
*/

.helios-guestbook-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.helios-utility-page .elementor-widget-text-editor { overflow-wrap: anywhere; }
.helios-utility-page input:not([type=checkbox]), .helios-utility-page textarea { max-width: 100%; }
.helios-utility-page .elementor-widget-theme-post-comments { max-width: 900px; }
.helios-utility-page .elementor-widget-theme-post-comments textarea { width: 100%; }
.helios-utility-page .elementor-widget-theme-post-comments .comment-list { padding-left: 0; list-style: none; }
.helios-utility-page .elementor-widget-theme-post-comments .comment-body { padding: 16px; margin-bottom: 16px; border: 1px solid #dce5f0; }

/* Utility row layout; widget controls own colours, icons, typography and spacing. */
.helios-utility-top > .elementor-container { align-items: center; }
.helios-utility-top .elementor-widget-wrap { padding: 0; align-content: center; }
.helios-utility-top .elementor-widget { margin-bottom: 0; }
.helios-utility-top .elementor-column { min-width: 0; }
.helios-utility-top .elementor-icon { display: inline-flex; padding: 10px; }
.helios-utility-top .elementor-search-form__toggle { min-width: 36px; min-height: 36px; }
.helios-utility-top .elementor-menu-toggle { min-width: 36px; min-height: 36px; padding: 8px; }
.helios-utility-top .elementor-nav-menu--dropdown.elementor-nav-menu__container { z-index: 1010; }
@media (max-width: 1024px) {
  .helios-utility-top > .elementor-container { flex-wrap: nowrap; }
  .helios-utility-top .elementor-column:first-child { width: 15% !important; }
  .helios-utility-top .elementor-column:nth-child(2) { width: 70% !important; }
  .helios-utility-top .elementor-column:last-child { width: 15% !important; }
  .helios-utility-top .elementor-menu-toggle { margin-left: auto; }
  .helios-utility-top .elementor-nav-menu--dropdown.elementor-nav-menu__container { left: 0 !important; width: 100% !important; }
  .helios-utility-top .elementor-nav-menu--dropdown a { white-space: normal; overflow-wrap: anywhere; }
}

/* Historical prose includes long separators/URLs; keep them inside the viewport. */
.helios-final-section .elementor-widget-text-editor,
.helios-final-section .elementor-widget-theme-post-content { overflow-wrap: anywhere; min-width: 0; }
.helios-final-section .elementor-widget-theme-post-content img,
.helios-final-section audio { max-width: 100%; }
.helios-mobile-overflow .menu-item-30 .sub-arrow svg,
.helios-mobile-overflow .menu-item-30 .sub-arrow svg * { pointer-events: none; }

.helios-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.helios-home .elementor-posts-container .elementor-post { border: 1px solid #dce5f0; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(7,31,67,.07); }
.helios-home .elementor-posts-container .elementor-post__text { padding: 18px 20px 22px; }
.helios-courses .elementor-post__thumbnail, .helios-events .elementor-post__thumbnail { background: #f6f8fc; }
.helios-courses .elementor-post__thumbnail img, .helios-events .elementor-post__thumbnail img { object-fit: contain !important; }
.helios-home .elementor-post__title a { color: #071f43; }
.helios-home .elementor-post__read-more { color: #123c78; font-weight: 700; }
.helios-quick-card { border-radius: 12px; box-shadow: 0 8px 24px rgba(7,31,67,.10); }
.helios-header { box-shadow: 0 2px 12px rgba(7,31,67,.08); }
.helios-director .elementor-post { max-width: 800px; margin-inline: auto; align-items: center; }
.helios-director .elementor-post__thumbnail__link { max-width: 300px; }
.helios-director .elementor-post__text { padding: 26px 30px !important; }
.helios-utilities { position: static; max-width: none; padding: 16px; justify-content: center; background: #071F43; }
.helios-header .elementor-nav-menu--main a { white-space: nowrap; color: #fff; }
.elementor-location-header .helios-nav .elementor-nav-menu--main .elementor-item { color: #fff !important; }
.helios-header .elementor-nav-menu--main a:hover, .helios-header .elementor-nav-menu--main a:focus-visible { color: #fff; text-decoration: underline; }
.helios-top a { color: #fff; }
.helios-top .elementor-widget-text-editor p { margin: 0; }
.helios-nav .elementor-search-form__input { min-width: 0; }
.helios-visitor-counter { font-size: 13px; }
.helios-institute-links .elementor-column > .elementor-widget-wrap { margin: 8px; padding: 24px; border: 1px solid #dce5f0; border-radius: 10px; box-shadow: 0 8px 24px rgba(7,31,67,.06); }
.helios-institute-links .elementor-button { margin-top: 12px; }
.helios-course-hero .elementor-widget-image img { display: block; max-height: 620px; width: auto; max-width: 100%; object-fit: contain; margin-inline: auto; }
.helios-courses-grid .elementor-posts-container .elementor-post { border: 1px solid #dce5f0; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(7,31,67,.07); }
.helios-courses-grid .elementor-post__thumbnail { background: #f6f8fc; }
.helios-courses-grid .elementor-post__thumbnail img { object-fit: contain !important; }
.helios-courses-grid .elementor-post__text { padding: 18px 20px 22px; }
.helios-curriculum .elementor-widget-image img { width: auto; max-width: min(100%, 893px); height: auto; object-fit: contain; }
.helios-global-footer .elementor-nav-menu .elementor-item { color: #fff !important; }
.helios-global-footer .elementor-nav-menu .elementor-item:hover, .helios-global-footer .elementor-nav-menu .elementor-item:focus-visible { text-decoration: underline; }
.elementor-location-header .elementor-nav-menu--main .elementor-item { font-size: 13px; padding-left: 7px; padding-right: 7px; }
.elementor-location-header .elementor-widget-image img { width: auto; max-width: 190px; height: auto; }
.helios-hero .elementor-container { max-width: 100% !important; }
.helios-hero .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 0; }
@media (max-width: 1024px) {
  .helios-identity .elementor-container { display: flex; align-items: center; }
  .helios-identity .elementor-column:first-child { width: 32% !important; }
  .helios-identity .elementor-column:nth-child(2) { width: 48% !important; }
  .helios-identity .elementor-column:nth-child(3) { width: 20% !important; }
  .elementor-location-header .elementor-menu-toggle { margin-left: auto; }
}
@media (max-width: 767px) {
  .helios-home .elementor-section .elementor-container { max-width: 100%; }
  .helios-home .elementor-widget-slides .swiper-slide { min-height: 420px; }
  .helios-home .elementor-posts-container .elementor-post__text { padding: 15px; }
  .elementor-location-header .elementor-widget-image img { max-width: 170px; }
  .helios-hero .elementor-slide-heading { font-size: 28px !important; line-height: 1.14; }
  .helios-hero .elementor-slide-description { font-size: 16px !important; }
  .helios-director .elementor-post { flex-direction: column !important; }
  .helios-director .elementor-post__thumbnail__link { width: 100% !important; }
  .helios-director .elementor-post__text { padding: 22px !important; }
  .helios-top .elementor-column:first-child { width: 100% !important; }
  .helios-top .elementor-column:nth-child(2) { display: none; }
  .helios-top .elementor-widget-text-editor { font-size: 12px; line-height: 1.4; }
  .helios-identity .elementor-column:first-child { width: 40% !important; }
  .helios-identity .elementor-column:nth-child(2) { width: 60% !important; }
  .helios-identity .elementor-column:nth-child(3) { display: none; }
  .helios-identity .elementor-heading-title { font-size: 17px; }
  .helios-identity .elementor-widget-text-editor { font-size: 12px; line-height: 1.35; }
  .helios-nav .elementor-column:first-child { width: 100% !important; }
  .helios-nav .elementor-column:nth-child(2) { display: none; }
  .helios-nav .elementor-nav-menu--dropdown { left: 0 !important; right: auto !important; width: min(100%, calc(100vw - 32px)) !important; max-height: calc(100vh - 80px); overflow-y: auto; }
  .helios-nav .elementor-menu-toggle { min-width: 44px; min-height: 44px; }
}

/* Historical Helios composition. Layout remains owned by Elementor widgets. */
body { color: #464646; background: #fcfeeb; }
.elementor-location-header .helios-header { box-shadow: none; }
.elementor-location-header .helios-top { min-height: 30px; }
.helios-top .elementor-widget-text-editor,
.helios-top .elementor-widget-text-editor a { color: #fff; font-size: 12px; }
.helios-top .elementor-widget-text-editor p { text-align: right; }
.helios-identity .elementor-container { align-items: center; }
.helios-identity .elementor-widget-image img,
.elementor-location-header .helios-identity .elementor-widget-image img { display: block; width: 100%; max-width: 420px; }
.helios-identity .elementor-widget-text-editor { color: #182039; font: 700 18px/1.12 Georgia, serif; letter-spacing: .03em; }
.helios-identity .elementor-widget-text-editor p { margin: 0; }
.helios-visitor-counter { color: #fff; text-align: right; font: 20px/1.1 Arial, sans-serif; white-space: nowrap; }
.helios-visitor-counter span { display: block; margin-bottom: 5px; }
.helios-visitor-counter strong { display: inline-block; padding: 2px 6px; background: #fff; color: #75400e; font: 700 38px/1 Georgia, serif; text-shadow: 1px 1px #d8a354; }
.elementor-location-header .helios-nav .elementor-nav-menu--main .elementor-item { padding: 16px 12px; color: #fff !important; font-size: 13px; font-weight: 600; letter-spacing: .035em; text-transform: uppercase; }
.elementor-location-header .helios-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .helios-nav .elementor-nav-menu--main .elementor-item:focus-visible,
.elementor-location-header .helios-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { background: #bd373e; }
.helios-historic-slider .elementor-widget-wrap { padding: 0 !important; }
.helios-historic-slider .swiper-slide { min-height: 435px; }
.helios-historic-slider .swiper-slide-inner { max-width: 1240px; margin: auto; }
.helios-historic-slider .elementor-slide-content { max-width: 820px; }
.helios-institute .elementor-heading-title,
.helios-courses-index .elementor-heading-title { color: #4b4b4b; }
.helios-institute h1.elementor-heading-title,
.helios-courses-index h1.elementor-heading-title { font-size: clamp(30px, 3vw, 43px); font-weight: 400; letter-spacing: .01em; }
.helios-institute .elementor-button,
.helios-courses-index .elementor-button { background: #b02a31; border-radius: 2px; }
.helios-institute .elementor-button:hover,
.helios-courses-index .elementor-button:hover { background: #8c2029; }
.helios-quick-card { border-radius: 2px; box-shadow: none; }
.helios-home .elementor-posts-container .elementor-post,
.helios-courses-grid .elementor-posts-container .elementor-post { border-color: #d6d6c7; border-radius: 2px; box-shadow: none; }
.helios-institute-links .elementor-column > .elementor-widget-wrap { padding: 12px 18px; margin: 3px; border: 0; border-left: 3px solid #b02a31; border-radius: 0; box-shadow: none; background: #f4f7e7; }
.helios-breadcrumb .elementor-widget-text-editor p { margin: 0; font-size: 12px; color: #595959; }
.helios-breadcrumb a { color: #127b85; }
.helios-institute-sheet .elementor-widget-search-form,
.helios-courses-sheet .elementor-widget-search-form { max-width: 300px; margin-bottom: 24px; }
.helios-institute-sheet .elementor-widget-image img,
.helios-director-sheet .elementor-widget-image img { width: auto; max-width: 100%; max-height: 220px; object-fit: contain; }
.helios-institute-sheet .elementor-column:last-child,
.helios-director-sheet .elementor-column:first-child { text-align: center; }
.helios-institute-sheet .elementor-column:last-child .elementor-widget-text-editor,
.helios-director-sheet .elementor-column:first-child .elementor-widget-text-editor { font-style: italic; line-height: 1.25; }
.helios-director-sheet .elementor-heading-title { text-transform: none; }
.helios-director-sheet h1.elementor-heading-title { text-transform: uppercase; }
.helios-courses-grid { border-top: 1px solid #e5e5d3; }
.helios-courses-grid .elementor-posts-container .elementor-post__text { padding: 12px 15px; }
@media (max-width: 1024px) {
  .helios-identity .elementor-column:first-child { width: 38% !important; }
  .helios-identity .elementor-column:nth-child(2) { width: 38% !important; }
  .helios-identity .elementor-column:nth-child(3) { width: 24% !important; }
  .helios-identity .elementor-widget-text-editor { font-size: 15px; }
  .helios-visitor-counter { font-size: 15px; }
  .helios-visitor-counter strong { font-size: 30px; }
}
@media (max-width: 767px) {
  .helios-top .elementor-widget-text-editor p { text-align: center; }
  .helios-top .elementor-widget-text-editor { font-size: 11px; }
  .helios-top-separator:nth-of-type(n+2), .helios-top a[href^="mailto:"] { display: none; }
  .helios-identity .elementor-container { flex-wrap: wrap; }
  .helios-identity .elementor-column:first-child { width: 65% !important; }
  .helios-identity .elementor-column:nth-child(2) { width: 35% !important; }
  .helios-identity .elementor-column:nth-child(3) { display: block; width: 100% !important; }
  .helios-identity .elementor-widget-image img,
  .elementor-location-header .helios-identity .elementor-widget-image img { max-width: 100%; }
  .helios-identity .elementor-widget-text-editor { font-size: 10px; }
  .helios-visitor-counter { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; white-space: normal; }
  .helios-visitor-counter span { margin: 0; }
  .helios-visitor-counter strong { font-size: 23px; }
  .helios-historic-slider .swiper-slide { min-height: 270px; }
  .helios-institute-sheet .elementor-column:first-child,
  .helios-institute-sheet .elementor-column:last-child,
  .helios-director-sheet .elementor-column { width: 100% !important; }
  .helios-director-sheet .elementor-column:first-child { order: 1; }
}

/* Trim Elementor's default widget padding in the two narrow header bars. */
.elementor-location-header .helios-top .elementor-widget-wrap,
.elementor-location-header .helios-nav .elementor-widget-wrap { padding: 0 !important; }
.elementor-location-header .helios-top .elementor-widget-text-editor,
.elementor-location-header .helios-nav .elementor-widget-nav-menu { margin-bottom: 0 !important; }
.elementor-location-header .helios-top .elementor-container { min-height: 0; }
.elementor-location-header .helios-nav .elementor-nav-menu--main .elementor-item { padding-top: 14px; padding-bottom: 14px; }
.elementor-location-header .helios-identity .elementor-widget-image img { width: 352px !important; max-width: 100% !important; height: auto !important; }
.helios-institute .elementor-button,
.helios-courses-index .elementor-button { background-color: #b02a31 !important; color: #fff !important; }
.helios-institute h1.elementor-heading-title,
.helios-courses-index h1.elementor-heading-title { color: #4b4b4b !important; font-weight: 400 !important; }
@media (max-width: 767px) {
  .helios-historic-slider .elementor-widget-slides .swiper-slide { min-height: 270px !important; }
  .helios-nav .elementor-menu-toggle { color: #fff !important; background: #9d252d !important; margin: 0; }
  .helios-nav .elementor-menu-toggle svg { fill: #fff !important; }
  .helios-nav .elementor-widget-nav-menu { width: 100%; }
  .elementor-location-header .helios-nav .elementor-widget-wrap { justify-content: flex-start; }
  .helios-top a { margin-right: 5px; }
}

/* v2: proportions and density measured against the 1440 px historical home. */
.elementor-location-header .helios-top-v2 { min-height: 39px; }
.helios-top-v2 .elementor-container { align-items: center; min-height: 35px; }
.helios-top-v2 .elementor-widget-wrap { padding: 0 !important; }
.helios-top-v2 .elementor-widget-text-editor { margin: 0 !important; }
.helios-top-v2 .elementor-widget-text-editor p { margin: 0; white-space: nowrap; }
.helios-top-v2 .elementor-column:first-child p { text-align: left; }
.helios-top-v2 .elementor-column:first-child a { display: inline-block; min-width: 20px; margin-right: 3px; padding: 2px 4px; border-radius: 2px; background: #286bb6; text-align: center; font-weight: 700; }
.helios-top-v2 .elementor-column:last-child p { display: flex; justify-content: flex-end; align-items: center; gap: 30px; }
.helios-top-v2 .elementor-column:last-child a,
.helios-top-v2 .elementor-column:last-child span { color: #fff; font-size: 12px; letter-spacing: .015em; }
.helios-top-v2 span[aria-disabled="true"] { opacity: .9; cursor: default; }
.helios-top-v2 a:hover, .helios-top-v2 a:focus-visible { text-decoration: underline; }
.helios-identity-v2 .elementor-container { align-items: center; }
.helios-identity-v2 .elementor-widget-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
.helios-identity-v2 .elementor-widget-image,
.helios-identity-v2 .elementor-widget-text-editor { margin-bottom: 0 !important; }
.helios-identity-v2 .elementor-column:first-child .elementor-widget-image { transform: translateY(12px); }
.helios-identity-v2 .elementor-column:nth-child(2) .elementor-widget-text-editor { transform: translateY(17px); }
.helios-identity-v2 .elementor-widget-text-editor { font: 700 18px/1.13 Georgia, serif; color: #161a2e; }
.helios-identity-v2 .helios-visitor-counter { font-size: 20px; }
.helios-identity-v2 .helios-visitor-counter span { position: relative; top: -27px; }
.helios-identity-v2 .helios-visitor-counter strong { font-size: 43px; letter-spacing: .025em; }
.elementor-location-header .helios-nav-v2 .elementor-nav-menu--main .elementor-item { padding: 16px 18.5px; font-size: 12px; font-weight: 500; letter-spacing: .035em; }
.elementor-location-header .helios-nav-v2 .elementor-nav-menu--main .elementor-item.elementor-item-active { background: #bd373e; }
.helios-nav-v2 .helios-menu-pending > a { opacity: .9; cursor: default; }
.helios-nav-v2 .helios-menu-pending > a:hover { text-decoration: none; }
.helios-offer-heading-v2 .elementor-widget-wrap,
.helios-offer-body-v2 .elementor-widget-wrap { padding-left: 0 !important; padding-right: 0 !important; }
.helios-offer-body-v2 .elementor-widget-text-editor p { margin: 0 0 15px; }
.helios-offer-body-v2 .elementor-button { margin-top: 12px; }
.helios-offer-heading-v2 .elementor-widget-heading { margin-bottom: 0 !important; }
@media (max-width: 1200px) {
  .helios-top-v2 .elementor-column:last-child p { gap: 9px; }
  .elementor-location-header .helios-nav-v2 .elementor-nav-menu--main .elementor-item { padding-left: 7px; padding-right: 7px; font-size: 11px; }
}
@media (max-width: 1024px) {
  .helios-top-v2 .elementor-column:first-child { width: 14% !important; }
  .helios-top-v2 .elementor-column:last-child { width: 86% !important; }
  .helios-top-v2 .elementor-column:last-child p { gap: 7px; }
  .helios-top-v2 .elementor-column:last-child span[aria-disabled="true"] { display: none; }
  .helios-top-v2 .elementor-column:last-child a,
  .helios-top-v2 .elementor-column:last-child span { font-size: 12px; }
  .helios-identity-v2 .helios-visitor-counter { font-size: 14px; white-space: normal; }
  .helios-identity-v2 .helios-visitor-counter span { top: 0; }
  .helios-identity-v2 .helios-visitor-counter strong { font-size: 32px; }
  .helios-offer-body-v2 .elementor-column:first-child { width: 63% !important; }
  .helios-offer-body-v2 .elementor-column:last-child { width: 37% !important; }
}
@media (max-width: 767px) {
  .elementor-location-header .helios-top-v2 { min-height: 30px; }
  .helios-top-v2 .elementor-container { min-height: 26px; }
  .helios-top-v2 .elementor-column:first-child { width: 25% !important; }
  .helios-top-v2 .elementor-column:nth-child(2) { display: block !important; width: 75% !important; }
  .helios-top-v2 .elementor-column:last-child p { justify-content: flex-end; }
  .helios-top-v2 .elementor-column:last-child span { display: none; }
  .helios-top-v2 .elementor-column:last-child a { font-size: 10px; }
  .helios-identity-v2 .elementor-widget-text-editor { font-size: 10px; }
  .helios-identity-v2 .helios-visitor-counter { font-size: 13px; }
  .helios-identity-v2 .helios-visitor-counter span { top: 0; }
  .helios-identity-v2 .elementor-column:first-child .elementor-widget-image,
  .helios-identity-v2 .elementor-column:nth-child(2) .elementor-widget-text-editor { transform: none; }
  .helios-identity-v2 .helios-visitor-counter strong { font-size: 23px; }
  .helios-offer-body-v2 .elementor-column:first-child,
  .helios-offer-body-v2 .elementor-column:last-child { width: 100% !important; }
}

/* Institutional archive: keep original copy and image captions readable. */
.helios-instituto-historical .elementor-widget-wrap { min-width: 0; }
.helios-instituto-historical .elementor-widget-text-editor { overflow-wrap: anywhere; }
.helios-instituto-historical .elementor-widget-text-editor a { overflow-wrap: anywhere; }
.helios-instituto-historical .elementor-widget-text-editor table { display: block; max-width: 100%; overflow-x: auto; }
.helios-instituto-historical .elementor-image-gallery .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0; }
.helios-instituto-historical .elementor-image-gallery .gallery-item { float: none; min-width: 0; width: 100% !important; max-width: 100% !important; margin: 0; padding: 0; }
.helios-instituto-historical .elementor-image-gallery .gallery-icon { height: 220px; display: flex; align-items: center; justify-content: center; }
.helios-instituto-historical .elementor-image-gallery .gallery-icon a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.helios-instituto-historical .elementor-image-gallery .gallery-icon img { display: block; max-width: none !important; width: 100% !important; max-height: none !important; height: 100% !important; object-fit: contain; border: 0; }
.helios-instituto-historical .elementor-image-gallery .gallery-caption { display: block; width: 100% !important; max-width: none !important; margin: 8px 0 0; padding: 0 5px; color: #39445a; font-size: 14px; line-height: 1.35; text-align: center; }
@media (max-width: 1024px) {
  .helios-instituto-historical .elementor-image-gallery .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .helios-instituto-historical .elementor-image-gallery .gallery { grid-template-columns: 1fr; }
  .helios-instituto-historical .elementor-image-gallery .gallery-icon { height: 250px; }
}

/* Full width: native kit owns the maximum; this rule supplies fluid gutters. */
.elementor .elementor-section.elementor-top-section > .elementor-container {
  width: 94%;
  margin-inline: auto;
}
.elementor .elementor-section.helios-historic-slider > .elementor-container {
  width: 100%;
  max-width: 100%;
}
.helios-historic-slider > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding-inline: 0;
}
@media (max-width: 767px) {
  .elementor .elementor-section.elementor-top-section > .elementor-container { width: calc(100% - 32px); }
  .elementor .elementor-section.helios-historic-slider > .elementor-container { width: 100%; }
}
@media (min-width: 1600px) {
  .helios-instituto-historical .elementor-image-gallery .gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Shared interaction layer: Elementor retains ownership of navigation and content. */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--helios-admin-offset, 0px) + var(--helios-nav-height, 64px) + 12px); }
.helios-fixed { position: fixed !important; top: var(--helios-admin-offset, 0px); left: 0; width: 100%; z-index: 1000; }
.helios-scrolled { box-shadow: 0 3px 10px rgb(7 31 67 / 14%); }
.helios-nav, .helios-mobile-navigation { transition: box-shadow .2s ease; }
.helios-nav-spacer { width: 100%; pointer-events: none; }
body button.helios-back-to-top { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(80px + env(safe-area-inset-bottom)); z-index: 990; width: 48px; height: 48px; border: 0; border-radius: 50%; padding: 0; background: #b02a31; color: white; font: 28px/1 Arial, sans-serif; box-shadow: 0 3px 10px rgb(7 31 67 / 20%); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease, visibility .25s; }
body button.helios-back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
body button.helios-back-to-top:hover { background: #91232a; color: white; }
:where(.elementor-button, .elementor-menu-toggle, .elementor-nav-menu a, body button.helios-back-to-top):focus-visible { outline: 3px solid #236bd1; outline-offset: 4px; }
.elementor .elementor-button { transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
body:not(.elementor-editor-active) .elementor .animated { animation-duration: .6s; }
body:not(.elementor-editor-active) .elementor .animated.animated-slow { animation-duration: .7s; }
body:not(.elementor-editor-active) .elementor .animated.animated-fast { animation-duration: .4s; }
body:not(.elementor-editor-active) .elementor .animated.fadeInUp { animation-name: helios-fade-up; }
@keyframes helios-fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
  .elementor .elementor-post { transition: transform .25s ease, box-shadow .25s ease; }
  .elementor .elementor-post:hover { transform: translateY(-3px); box-shadow: 0 9px 20px rgb(7 31 67 / 12%); }
  .elementor .elementor-button:hover { transform: translateY(-2px); filter: brightness(.94); }
  .helios-offer-body-v2 .elementor-widget-image img:hover { transform: scale(1.02); }
}
@media (max-width: 1024px) {
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { max-height: calc(100dvh - var(--helios-admin-offset, 0px) - var(--helios-nav-height, 64px) - 12px); overflow-y: auto; overscroll-behavior: contain; }
  .elementor-location-header .elementor-nav-menu--dropdown a { min-height: 44px; }
  .elementor-location-header .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown.elementor-nav-menu__container { max-height: calc(100dvh - var(--helios-admin-offset, 0px) - var(--helios-nav-height, 64px) - 12px) !important; }
}
@media (max-width: 767px) {
  .elementor-location-header .helios-mobile-navigation > .elementor-container { min-height: 64px; align-items: center; }
  .helios-mobile-navigation .elementor-column:first-child { width: 72% !important; }
  .helios-mobile-navigation .elementor-column:last-child { width: 28% !important; }
  .helios-mobile-navigation .elementor-widget-wrap { padding: 0 !important; }
  .elementor-location-header .helios-mobile-navigation .elementor-widget-image img { width: 205px !important; max-width: 100% !important; height: 50px !important; object-fit: contain; }
  .helios-mobile-navigation .elementor-menu-toggle { min-height: 44px; min-width: 44px; margin-left: auto; padding: 10px; color: #fff; background: #b02a31; }
  .helios-mobile-navigation .elementor-menu-toggle svg { fill: #fff; }
  .helios-mobile-navigation .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: fixed; top: calc(var(--helios-admin-offset, 0px) + 64px) !important; margin-top: 0 !important; left: 0 !important; width: 100% !important; background: #b02a31; max-height: 0 !important; transform: none !important; transition: max-height .2s ease, opacity .2s ease; }
  .helios-mobile-navigation .elementor-nav-menu--dropdown a { color: #fff; padding: 12px 20px; font-size: 16px; line-height: 1.35; }
  .helios-mobile-navigation .elementor-item-active { background: #bd373e !important; }
  .helios-mobile-navigation .sub-arrow svg { fill: currentColor; }
  .helios-mobile-navigation .elementor-nav-menu--dropdown .sub-menu { background: #2a74fe; }
  .helios-mobile-navigation .elementor-nav-menu--dropdown a:hover, .helios-mobile-navigation .elementor-nav-menu--dropdown a:focus { background: #3882ff; color: #fff; }
  body button.helios-back-to-top { width: 44px; height: 44px; right: max(16px, env(safe-area-inset-right)); }
}
body.elementor-editor-active button.helios-back-to-top { display: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .elementor .elementor-invisible { visibility: visible !important; }
  .elementor .animated { animation: none !important; }
  .elementor .elementor-post, .elementor .elementor-button, .helios-offer-body-v2 img, body button.helios-back-to-top { transition: none !important; transform: none !important; }
  .helios-historic-slider .swiper-wrapper { transition-duration: 0ms !important; }
}

.elementor .helios-reveal { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
.elementor .helios-reveal.helios-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .elementor .helios-reveal { opacity: 1; transform: none; transition: none; }
}

/* Mobile/tablet: direct destinations stay visible beside the native overflow menu. */
@media (max-width: 1024px) {
  .helios-mobile-primary-bar { position: relative; z-index: 1000; }
  .helios-mobile-brand > .elementor-container { min-height: 60px; align-items: center; }
  .helios-mobile-brand .elementor-column { width: 100% !important; }
  .helios-mobile-brand .elementor-widget-wrap { padding: 0 !important; }
  .elementor-location-header .helios-mobile-brand .elementor-widget-image img { width: 205px !important; max-width: 100% !important; height: 48px !important; object-fit: contain; }
  .elementor-location-header .helios-mobile-primary-bar > .elementor-container { width: calc(100% - 16px); min-height: 56px; align-items: center; }
  .helios-mobile-primary-bar .elementor-column:first-child { width: calc(100% - 48px) !important; }
  .helios-mobile-primary-bar .elementor-column:last-child { width: 48px !important; }
  .helios-mobile-primary-bar .elementor-widget-wrap { padding: 0 !important; }
  .helios-mobile-primary-links .elementor-nav-menu--main { display: block !important; width: 100%; }
  .helios-mobile-primary-links .elementor-menu-toggle,
  .helios-mobile-primary-links .elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none !important; }
  .helios-mobile-primary-links .elementor-nav-menu--main > ul { display: flex; flex-wrap: nowrap; width: 100%; }
  .helios-mobile-primary-links .elementor-nav-menu--main > ul > li { flex: 1; min-width: 0; }
  .helios-mobile-primary-links .elementor-nav-menu--main .elementor-item { min-height: 48px; justify-content: center; padding: 12px 8px; color: #fff !important; font-size: 13px; line-height: 1.3; font-weight: 600; white-space: nowrap; }
  .helios-mobile-primary-links .current-menu-item > a,
  .helios-mobile-primary-links .current-menu-ancestor > a { background: #2a74fe !important; color: #fff !important; }
  .helios-mobile-primary-links a:hover, .helios-mobile-primary-links a:focus-visible { background: #bd373e; }
  .helios-mobile-primary-bar .helios-mobile-overflow .elementor-menu-toggle { min-width: 44px; min-height: 44px; margin: 0 0 0 auto; padding: 10px; background: #9d252d; color: #fff; }
  .helios-mobile-overflow .elementor-menu-toggle svg { fill: #fff; }
  .helios-mobile-primary-bar .helios-mobile-overflow .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: fixed; top: var(--helios-nav-bottom, 56px) !important; left: 0 !important; margin-top: 0 !important; width: 100% !important; max-height: 0 !important; transform: none !important; background: #b02a31; overflow-y: auto; transition: max-height .2s ease; }
  .helios-mobile-primary-bar .helios-mobile-overflow .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown.elementor-nav-menu__container { max-height: calc(100dvh - var(--helios-nav-bottom, 56px) - 12px) !important; }
  .helios-mobile-overflow .elementor-nav-menu--dropdown a { min-height: 44px; padding: 12px 20px; color: #fff !important; font-size: 16px !important; line-height: 1.35; }
  .helios-mobile-overflow .elementor-nav-menu--dropdown a.highlighted { background: #bd373e !important; }
  .helios-mobile-overflow .elementor-nav-menu--dropdown .sub-menu { background: #2a74fe; }
  .helios-mobile-overflow .elementor-item-active { background: #bd373e !important; }
  .helios-mobile-overflow .sub-arrow svg { fill: currentColor; }
}
/* Documentary media keep all cover text visible. Layout/content live in Elementor. */
.helios-publication-card > .elementor-container { width: 100% !important; }
.helios-publication-card .elementor-widget-wrap { align-content: flex-start; }
.helios-publications .elementor-loop-container { align-items: stretch; }
.helios-publication-prose > .elementor-container { width: 100% !important; }
.helios-publications .elementor-widget-theme-post-content table { max-width: 100%; display: block; overflow-x: auto; }
.helios-publications nav { line-height: 1.8; }
.helios-publication-card { transition: box-shadow .25s ease, transform .25s ease; }
/* SmartMenus recognizes the arrow span as its touch toggle, including nested levels. */
@media (max-width: 1024px) {
 .helios-mobile-overflow .menu-item-28 .sub-arrow svg,
 .helios-mobile-overflow .menu-item-28 .sub-arrow svg * { pointer-events: none; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
 .helios-publication-card:hover { transform: translateY(-3px); box-shadow: 0 9px 20px rgb(7 31 67 / 12%); }
}

/* Compact library documents: no image grids or per-row entrance animation. */
.helios-library-row > .elementor-container { width: 100% !important; }
.helios-library-row .elementor-widget-wrap { align-content: center; }
.helios-library-row .elementor-widget { margin-bottom: 0; }
.helios-library-row .elementor-heading-title { line-height: 1.35; }
.helios-library-table-head .elementor-heading-title { font-size: 15px; font-weight: 600; }
.helios-library nav { line-height: 1.7; }
.helios-library-search { margin-top: 18px; }
@media (max-width: 1024px) {
 .helios-mobile-overflow .menu-item-29 .sub-arrow svg,
 .helios-mobile-overflow .menu-item-29 .sub-arrow svg *,
 .helios-library-filters .sub-arrow svg,
 .helios-library-filters .sub-arrow svg * { pointer-events: none; }
}
@media (max-width: 767px) {
 .helios-library-row .elementor-column:nth-child(1),
 .helios-library-row .elementor-column:nth-child(2) { width: 100%; }
 .helios-library-row .elementor-column:nth-child(3),
 .helios-library-row .elementor-column:nth-child(4) { width: 50%; }
 .helios-library-row .elementor-column:nth-child(2) { font-size: 14px; }
}

/* Nuevos Horizontes: dedicated Elementor loop, documentary scans kept intact. */
.helios-press-grid .elementor-loop-container { align-items: stretch; }
.helios-press-grid .e-loop-item { min-width: 0; display: flex; }
.elementor .helios-press-card { width: 100%; height: 100%; padding: 0 !important; overflow: hidden; border: 1px solid #dce5f0; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgb(7 31 67 / 4%); transition: box-shadow .2s ease; }
.helios-press-card > .elementor-container { width: 100% !important; height: 100%; }
.helios-press-card .elementor-widget-wrap { padding: 0 !important; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px; }
.helios-press-card .elementor-widget { margin: 0 !important; min-width: 0; }
.helios-press-card .elementor-widget:not(.helios-press-image) { width: auto; margin-inline: 22px !important; }
.helios-press-card .helios-press-image { background: #edf2f8; }
.helios-press-card .helios-press-image img { display: block; width: 100%; height: 250px; object-fit: contain; }
.helios-press-card .elementor-heading-title { font-size: 22px; line-height: 1.35; overflow-wrap: anywhere; }
.helios-press-card .helios-press-date { color: #526178; font-size: 13px; line-height: 1.5; }
.helios-press-card .helios-press-excerpt { color: #30445f; line-height: 1.55; }
.helios-press-card .helios-press-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.helios-press-card .elementor-widget-button { margin-top: auto !important; padding-top: 4px; padding-bottom: 22px; }
.helios-press-card .elementor-button { border-radius: 4px; }
.helios-press-card .elementor-button:focus-visible { outline: 3px solid #b02a31; outline-offset: 3px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
 .elementor .helios-press-card:hover { box-shadow: 0 5px 16px rgb(7 31 67 / 10%); }
}
@media (prefers-reduced-motion: reduce) { .elementor .helios-press-card { transition: none; } }

/* Complementary layout/interaction only: colours, backgrounds and spacing live in Elementor. */
.helios-nav.helios-scrolled, .helios-mobile-navigation.helios-scrolled { background-color: var(--helios-sticky-color) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
/* Reuse the existing sticky state and its colour sampled from the Elementor header.
   Relative colour removes only alpha; older browsers retain Elementor's solid red
   hover/active backgrounds. No second sticky controller or scroll handler. */
.elementor-location-header :is(.helios-nav, .helios-mobile-navigation).helios-scrolled {
 box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
}
.elementor-location-header :is(.helios-nav, .helios-mobile-navigation) {
 transition: background-color .2s ease, box-shadow .2s ease !important;
}
.elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li > a,
.elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li > a::before {
 transition: background-color .2s ease, color .2s ease, opacity .2s ease !important;
}
@supports (color: rgb(from red r g b / 1)) {
 :is(.helios-nav, .helios-mobile-navigation).helios-scrolled {
  --helios-menu-solid-color: rgb(from var(--helios-sticky-color) r g b / 1);
 }
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation).helios-scrolled .elementor-nav-menu--main > ul > li > a:is(:hover, :focus-visible, .highlighted, .elementor-item-active),
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation).helios-scrolled .elementor-nav-menu--main > ul > li.current-menu-ancestor > a {
  background-color: var(--helios-menu-solid-color) !important;
  color: #fff !important;
 }
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation).helios-scrolled .elementor-nav-menu--main > ul > li > a::before {
  background-color: var(--helios-menu-solid-color) !important;
 }
 .helios-mobile-navigation.helios-scrolled .elementor-menu-toggle {
  background-color: var(--helios-menu-solid-color) !important;
 }
}
.elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li > a.elementor-item-active,
.elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li.current-menu-ancestor > a {
 text-decoration: underline;
 text-underline-offset: 6px;
 text-decoration-thickness: 2px;
}
@media (max-width: 1024px) {
 .helios-mobile-navigation.helios-scrolled { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
}
@media (prefers-reduced-motion: reduce) {
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation),
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation) :is(a, .sub-menu, .elementor-nav-menu__container, .elementor-menu-toggle),
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li > a,
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li > a::before,
 .elementor-location-header :is(.helios-nav, .helios-mobile-navigation) .elementor-nav-menu--main > ul > li > a::after { transition: none !important; }
}
.helios-nav .elementor-item, .helios-nav .elementor-sub-item { transition: background-color .2s ease, color .2s ease; }
.helios-nav .elementor-item.elementor-item-active { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.helios-nav .sub-menu { transition: opacity .18s ease; }
.helios-quick > .elementor-container { flex-wrap: wrap; align-items: stretch; }
.helios-quick .elementor-column > .elementor-widget-wrap { align-content: center; }
.helios-quick .elementor-icon-box-title { overflow-wrap: anywhere; }
.helios-quick-card { transition: transform .2s ease, filter .2s ease; }
.helios-visual-offer > .elementor-container { align-items: center; }
.helios-visual-offer .elementor-widget-image img { width: 100%; max-height: 600px; object-fit: contain; }
.helios-catalogs .elementor-column > .elementor-widget-wrap { height: calc(100% - 16px); }
.helios-enrollment .elementor-widget-icon-list li { align-items: flex-start; }
body a.helios-floating-whatsapp { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 990; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #147D45; color: #fff; box-shadow: 0 3px 12px rgb(7 31 67 / 18%); transition: background-color .2s ease, transform .2s ease; }
.helios-floating-whatsapp svg { width: 34px; height: 34px; }
body a.helios-floating-whatsapp:hover { background: #106639; color: #fff; }
body button.helios-back-to-top { bottom: calc(98px + env(safe-area-inset-bottom)); right: max(24px, env(safe-area-inset-right)); }
:where(.helios-floating-whatsapp,.helios-quick a,.elementor-slide-button,.swiper-pagination-bullet):focus-visible { outline: 3px solid #F4BD52; outline-offset: 4px; }
.helios-global-footer .elementor-widget-wrap { min-width: 0; }
.helios-global-footer .elementor-widget-text-editor { overflow-wrap: anywhere; }
.helios-global-footer .elementor-nav-menu--main a { white-space: normal; }
body.elementor-editor-active .helios-floating-whatsapp { display: none; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
 .helios-quick-card:hover { transform: translateY(-3px); filter: brightness(1.05); }
}
@media (max-width: 1024px) {
 .helios-quick > .elementor-container > .elementor-column { width: 25% !important; }
 .helios-global-footer > .elementor-container { flex-wrap: wrap; }
 .helios-global-footer > .elementor-container > .elementor-column { width: 50%; }
 .helios-global-footer > .elementor-container > .elementor-column:last-child { width: 100%; }
}
@media (max-width: 767px) {
 .helios-quick > .elementor-container > .elementor-column { width: 50% !important; }
 .helios-quick > .elementor-container > .elementor-column:last-child { width: 100% !important; }
 .helios-global-footer > .elementor-container > .elementor-column { width: 100% !important; }
 body a.helios-floating-whatsapp { width: 54px; height: 54px; right: max(16px, env(safe-area-inset-right)); }
 body button.helios-back-to-top { right: max(21px, env(safe-area-inset-right)); }
 .helios-utilities { padding-right: 84px; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
 .helios-quick-card, .helios-nav .elementor-item, .helios-nav .elementor-sub-item, .helios-nav .sub-menu, body a.helios-floating-whatsapp { transition: none; transform: none; }
}
/* Two-tone keyboard focus remains visible on light sections and dark surfaces. */
:where(.elementor-button,.elementor-slide-button,.elementor-menu-toggle,.elementor-nav-menu a,.helios-floating-whatsapp,.helios-quick a,.swiper-pagination-bullet):focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #123C78; }

/* Director widget: preserve the former Posts card's proportions and typography. */
.helios-director .helios-director-card { gap:20px; border-radius:10px; border-color:#dde5ef; box-shadow:0 4px 16px rgba(7,31,67,.06); }
.helios-director-card .elementor-post__title { margin:0 0 5px; font-size:21px; font-weight:700; line-height:1.3; }
.helios-director-card .elementor-post__excerpt { font-size:14px; line-height:1.5; }
.helios-director-card .elementor-post__excerpt p { margin:0 0 10px; }
.helios-director-card .elementor-post__read-more { font-size:12px; font-weight:700; }
@media (max-width:767px) { .helios-director .helios-director-card { gap:0; } }
