.membership-details a.btn-outline-secondary:hover{
  color: #fff !important;
}

/* User dropdown overlay */
.user-dropdown-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.user-dropdown-overlay.show {
  opacity: 1;
  visibility: visible;
}

/* Asegurar que el dropdown del usuario esté por encima del overlay */
.user-menu .dropdown-menu {
  z-index: 10002;
}

/* GTranslate Switcher Styles */
.gt_float_wrapper {
  position: relative !important;
  display: inline-block !important;
  overflow: visible !important;
}

.gt_float_switcher {
  position: relative !important;
  display: inline-block !important;
  overflow: visible !important;
  box-shadow: none !important;
}

.gt_options {
  position: absolute !important;
  top: 170% !important;
  left: auto !important;
  right: 0 !important;
  min-width: 200px !important;
  background: white !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  z-index: 99999 !important;
  max-height: 250px !important;
  overflow-y: auto !important;
  margin-top: 2px !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.gt_options a {
  display: block !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
  color: #333 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  transition: background-color 0.2s ease !important;
}

.gt_options a:last-child {
  border-bottom: none !important;
}

.gt_options a:hover {
  background-color: #f8f9fa !important;
}

.gt_options img {
  width: 16px !important;
  height: 12px !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}

.gt-selected {
  cursor: pointer !important;
}

.gt-current-lang {
  display: flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  background: white !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  min-width: 80px !important;
}

.gt-current-lang img {
  width: 16px !important;
  height: 12px !important;
  margin-right: 6px !important;
}

.gt-lang-code {
  margin-right: 6px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.gt_float_switcher-arrow {
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 4px solid #666 !important;
  transition: transform 0.2s ease !important;
}

.gt_arrow_rotate {
  transform: rotate(180deg) !important;
}

/* Ensure header containers allow overflow for GTranslate dropdown */
.header,
.navbar,
.navbar-nav,
.user-menu,
.dropdown {
  overflow: visible !important;
}

/* Specific fix for user menu container */
.user-menu .dropdown {
  overflow: visible !important;
}

.user-menu .dropdown-menu {
  overflow: visible !important;
}

/* Additional GTranslate visibility fixes */
.gt_options.gt-open {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* GTranslate hover and click states */
.gt_float_switcher:hover .gt_options,
.gt-selected:hover .gt_options,
.gt_float_switcher:focus .gt_options,
.gt-selected:focus .gt_options {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* Home 2025 v1 styles + atomic UI framework (scoped) */

.home2025 .object-fit-cover {
  object-fit: cover;
}

/*
 * UI TOKENS (scoped to .home2025)
 */
.home2025 {
  --ui-color-primary: #4D68B0;
  --ui-color-accent: #6BABDC;
  --ui-color-muted: #6c757d;
  --ui-color-text: #212529;
  --ui-color-secondary: #F59E0B;
  --ui-color-surface: #ffffff;
  --ui-radius-sm: 5px;
  --ui-radius-md: 12px;
  --ui-radius-lg: 16px;
  --ui-shadow-sm: 0 .25rem .75rem rgba(0,0,0,.08);
  --ui-shadow-md: 0 .5rem 1.25rem rgba(0,0,0,.12);
  --ui-shadow-lg: 0 .75rem 2rem rgba(0,0,0,.16);
  --ui-space-1: .25rem;
  --ui-space-2: .5rem;
  --ui-space-3: .75rem;
  --ui-space-4: 1rem;
  --ui-space-5: 1.25rem;
  --ui-space-6: 1.5rem;
}

/*
 * UTILITIES (u-*) — safe, prefixed, scoped
 */
.home2025 .u-radius-sm { border-radius: var(--ui-radius-sm); }
.home2025 .u-radius-md { border-radius: var(--ui-radius-md); }
.home2025 .u-radius-lg { border-radius: var(--ui-radius-lg); }
.home2025 .u-shadow-sm { box-shadow: var(--ui-shadow-sm); }
.home2025 .u-shadow-md { box-shadow: var(--ui-shadow-md); }
.home2025 .u-shadow-lg { box-shadow: var(--ui-shadow-lg); }
.home2025 .u-text-muted { color: var(--ui-color-muted); }
.home2025 .u-maxw-60ch { max-width: 60ch; }

/* Typography utilities */
.home2025 .u-h1 {
  font-size: clamp(2.25rem, 1.75rem + 3.5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.home2025 .u-h2 {
  font-size: clamp(1.65rem, 1.1rem + 1.8vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.home2025 .u-h3 { font-size: 1.25rem; line-height: 1.25; }
.home2025 .u-lead { font-size: 2.25rem; line-height: 1.15; }
.home2025 .u-lead-sm { font-size: 1.75rem; line-height: 1.25; }
.home2025 .u-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: .8rem; }
.home2025 .ui-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: .8rem; }

/* Section spacing */
.home2025 .u-section-sm { padding-top: 2rem; padding-bottom: 2rem; }
.home2025 .u-section-md { padding-top: 3rem; padding-bottom: 3rem; }
.home2025 .u-section-lg { padding-top: 5rem; padding-bottom: 5rem; }

/* Vertical stack helper: adds top margin between children */
.home2025 .u-stack-md > * + * { margin-top: var(--ui-space-5); }
.home2025 .u-stack-sm > * + * { margin-top: var(--ui-space-3); }

/*
 * COMPONENTS (ui-*) — scoped primitives
 */
.home2025 .ui-card {
  background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.75) 100%);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--ui-shadow-sm);
  transition: transform .3s ease, box-shadow .3s ease;
  overflow: hidden;
}
.home2025 .ui-card.is-hoverable:hover {
  transform: translateY(-3px);
  box-shadow: var(--ui-shadow-md);
}
.home2025 .ui-card__body { padding: var(--ui-space-5); }
@media (max-width: 575.98px){ .home2025 .ui-card__body { padding: 1rem; } }

.home2025 .ui-card--media .ui-card__media { display: block; }
.home2025 .ui-card--media .ui-card__media img { width: 100%; height: 100%; object-fit: cover; }
.home2025 .ui-card--media .ui-card__body { padding-top: var(--ui-space-5); }

/* Typographic atoms for cards */
.home2025 .ui-title { font-size: 1.05rem; font-weight: 700; color: var(--ui-color-text); margin: 0 0 .25rem; }
.home2025 .ui-title { font-size: 1.1rem; margin-bottom: .35rem; }
.home2025 .ui-meta { color: var(--ui-color-muted); }
.home2025 .ui-card a { text-decoration: none; }
.home2025 .ui-card a:hover { text-decoration: underline; text-underline-offset: 2px; }

/* Icon circle (Explore tiles) */
.home2025 .ui-icon-circle {
  width: 44px; height: 44px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #DAE2F1; color: var(--ui-color-primary);
}

/* Focus-visible for accessibility */
.home2025 .ui-btn:focus-visible,
.home2025 .ui-card:focus-within,
.home2025 .key-tile:focus-visible { outline: 3px solid var(--ui-color-accent); outline-offset: 2px; }

/* Date badge overlay */
.home2025 .ui-date-badge {
  position: absolute; top: .5rem; left: .5rem; z-index: 2;
  background: rgba(255,255,255,.9); color: var(--ui-color-text);
  border-radius: 10px; padding: .35rem .5rem; box-shadow: var(--ui-shadow-sm);
  display: inline-flex; align-items: center; gap: .35rem;
}
.home2025 .ui-date-badge i { color: var(--ui-color-primary); }

/* Recurrence badge */
.home2025 .ui-rec-badge {
  position: absolute; top: .5rem; right: .5rem; z-index: 2;
  background: rgba(33,37,41,.85); color: #fff; border-radius: 999px; padding: .25rem .6rem; font-size: .75rem;
  box-shadow: var(--ui-shadow-sm);
}

/* Events section - Horizontal carousel design */
.home2025-events {
  background: url('../images/home/bg-events.png') no-repeat center center;
  background-size: cover;
  padding: 3rem 0;
  position: relative;
}

.home2025-events .events-header {
  margin-bottom: 2rem;
  position: absolute;
  top: 3rem;
  left: 3rem;
  z-index: 1;
}

.home2025-events .events-title-nav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 200px;
}

.home2025-events .events-nav-controls {
  display: flex;
  gap: 0.5rem;
}

.home2025-events .events-nav-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff !important;
  border: 1px solid #4a4a4a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #4a4a4a !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.home2025-events .events-nav-btn:hover:not(:disabled) {
  background: #f8f9fa;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.home2025-events .events-nav-btn:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  pointer-events: none;
}

.home2025-events .events-nav-btn:disabled:hover {
  background: #fff !important;
  transform: none !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.home2025-events .events-nav-btn i {
  font-size: 2rem;
}

.home2025-events .events-carousel {
  overflow: visible;
  padding-left: 220px;
}

@media (max-width: 767.98px) {
  .home2025-events .events-carousel {
    padding-left: 0 !important;
  }
}

.home2025-events .events-carousel .carousel-inner {
  display: flex;
  flex-direction: row;
  gap: 3rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 1rem;
  transform: none !important;
}

.home2025-events .events-carousel .carousel-inner::-webkit-scrollbar {
  display: none;
}

.home2025-events .events-carousel .carousel-item {
  flex: 0 0 auto;
  width: auto;
  min-width: 420px;
  max-width: 420px;
  display: block;
  margin-right: 0;
  opacity: 1 !important;
  transform: none !important;
}

.home2025-events .event-card {
  display: block;
  position: relative;
  width: 100%;
  height: 560px;
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.home2025-events .event-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.home2025-events .event-card-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.home2025-events .event-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(0deg, rgba(30, 47, 95, 0.85) 0%, rgba(30, 47, 95, 0.6) 50%, rgba(30, 47, 95, 0) 100%);
  z-index: 1;
}

.home2025-events .event-card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
  z-index: 2;
  color: #fff;
}

.home2025-events .event-card-title {
  font-size: 2.75rem;
  font-weight: 500;
  color: #fff;
  margin: 0 0 20px 0;
  line-height: 1 !important;
  font-family: "Barlow Semi Condensed", sans-serif;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.home2025-events .event-card-description {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.95);
  margin: 0;
  line-height: 1.2 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

@media (max-width: 991.98px) {
  .home2025-events .events-carousel .carousel-item {
    min-width: 280px;
    max-width: 320px;
  }
  
  .home2025-events .event-card {
    height: 360px;
  }
  
  .home2025-events .event-card-title {
    font-size: 1.25rem;
  }
  
  .home2025-events .event-card-description {
    font-size: 0.875rem;
  }
}

@media (max-width: 767.98px) {
  .home2025-events {
    padding: 2rem 0;
  }
  
  .home2025-events .events-header {
    position: relative;
    width: 100%;
    top: auto;
    left: auto;
    margin-bottom: 1.5rem;
    padding: 0 1rem;
  }
  
  .home2025-events .events-title-nav {
    max-width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
  }
  
  .home2025-events .events-title {
    font-size: 1.75rem;
    margin: 0;
  }
  
  .home2025-events .events-nav-controls {
    flex-direction: row;
    gap: 0.5rem;
    flex-shrink: 0;
  }
  
  .home2025-events .events-nav-btn {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
  }
  
  .home2025-events .events-nav-btn i {
    font-size: 0.75rem;
  }
  
  .home2025-events .events-carousel {
    padding-left: 0 !important;
  }
  
  .home2025-events .events-carousel .carousel-inner {
    padding-left: 1rem;
    padding-right: 1rem;
    gap: 1rem;
  }
  
  .home2025-events .events-carousel .carousel-item {
    min-width: calc(100vw - 2rem);
    max-width: calc(100vw - 2rem);
    width: calc(100vw - 2rem);
  }
  
  .home2025-events .event-card {
    height: 400px;
    min-height: 400px;
  }
  
  .home2025-events .event-card-content {
    padding: 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 50%;
  }
  
  .home2025-events .event-card-title {
    font-size: 1.125rem;
    line-height: 1.3;
    margin-bottom: 0.75rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  .home2025-events .event-card-description {
    font-size: 0.875rem;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    margin-top: 0.5rem;
  }
  
  .home2025-events .event-card-overlay {
    height: 55%;
  }
}

/* Extra small mobile devices */
@media (max-width: 575.98px) {
  .home2025-events {
    padding: 1.5rem 0;
  }
  
  .home2025-events .events-header {
    padding: 0 0.75rem;
    margin-bottom: 1.25rem;
  }
  
  .home2025-events .events-title {
    font-size: 1.5rem;
  }
  
  .home2025-events .events-nav-btn {
    width: 44px;
    height: 44px;
  }
  
  .home2025-events .events-carousel .carousel-inner {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  
  .home2025-events .events-carousel .carousel-item {
    min-width: calc(100vw - 1.5rem);
    max-width: calc(100vw - 1.5rem);
    width: calc(100vw - 1.5rem);
  }
  
  .home2025-events .event-card {
    height: 380px;
    min-height: 380px;
  }
  
  .home2025-events .event-card-content {
    padding: 1.25rem 1rem;
  }
  
  .home2025-events .event-card-title {
    font-size: 1rem;
    margin-bottom: 0.625rem;
  }
  
  .home2025-events .event-card-description {
    font-size: 0.8125rem;
  }
}

/* Card button variant similar to archive */
.home2025 .ui-btn.ui-btn--view {
  background: linear-gradient(135deg, #4D68B0, #5a7bc8);
  color: #fff; border: none; box-shadow: 0 4px 15px rgba(77,104,176,.3);
}
.home2025 .ui-btn.ui-btn--view:hover { filter: brightness(0.98); transform: translateY(-1px); }

/* Tag badge for HHH types */
.home2025 .ui-tag-badge {
  position: absolute; top: .5rem; right: .5rem; z-index: 2;
  border-radius: 999px; padding: .25rem .55rem; font-size: .8rem; color: #fff;
  box-shadow: var(--ui-shadow-sm);
  left: auto !important;
}
.home2025 .ui-tag-badge.tag-healthy { background: #2ecc71; }
.home2025 .ui-tag-badge.tag-happy { background: #f39c12; }
.home2025 .ui-tag-badge.tag-holy { background: #6c5ce7; }

/* Subtle top border accent for HHH cards */
.home2025 .hhh-healthy.ui-card { box-shadow: 0 .25rem .9rem rgba(46,204,113,.18); }
.home2025 .hhh-happy.ui-card { box-shadow: 0 .25rem .9rem rgba(243,156,18,.18); }
.home2025 .hhh-holy.ui-card { box-shadow: 0 .25rem .9rem rgba(108,92,231,.18); }
.home2025 .hhh-healthy.ui-card .ui-card__body { border-top: 3px solid #2ecc71; }
.home2025 .hhh-happy.ui-card .ui-card__body { border-top: 3px solid #f39c12; }
.home2025 .hhh-holy.ui-card .ui-card__body { border-top: 3px solid #6c5ce7; }

.home2025 .ui-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .25rem .6rem;
  font-size: .825rem;
  line-height: 1.1;
}
.home2025 .ui-badge--light { background: #fff; color: var(--ui-color-primary); box-shadow: var(--ui-shadow-sm); }
.home2025 .ui-badge--brand { background: var(--ui-color-primary); color: #fff; }

.home2025 .ui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .85rem 1.35rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  box-shadow: var(--ui-shadow-md);
  transition: all 0.3s ease;
}
.home2025 .ui-btn:hover { transform: translateY(-2px); box-shadow: var(--ui-shadow-lg); }
.home2025 .ui-btn--primary { background: var(--ui-color-primary); color: #fff; }
.home2025 .ui-btn--secondary { background: var(--ui-color-secondary); color: #fff; }
.home2025 .ui-btn--white { background: #fff; color: var(--ui-color-primary); }
.home2025 .ui-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.75); }
.home2025 .ui-btn--outline-dark { background: transparent; color: #212529; border-color: rgba(33,37,41,.6); }
.home2025 .ui-btn--outline-dark:hover { background: rgba(33,37,41,.06); }
.home2025 .ui-btn--sm { padding: .55rem .8rem; font-size: .9rem; box-shadow: var(--ui-shadow-sm); }
.home2025 .ui-btn--primary:hover { filter: brightness(.97); color: #fff !important; }
.home2025 .ui-btn--secondary:hover { filter: brightness(.97); color: #fff !important; }
.home2025 .ui-btn--white:hover { filter: brightness(.97); }
.home2025 .ui-btn--outline-light:hover { background: rgba(255,255,255,.08); }

/* Inline actions for small CTAs inside cards */
.home2025 .ui-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; justify-content: start; }
.home2025 .ui-actions .ui-btn { padding: .5rem .8rem; font-size: .85rem; box-shadow: var(--ui-shadow-sm); }

/* Quotes */
.home2025 .ui-quote {
  background: var(--ui-color-surface);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--ui-shadow-sm);
  padding: var(--ui-space-6);
  position: relative;
}
.home2025 .ui-quote__icon { color: var(--ui-color-primary); opacity: .9; font-size: 1.25rem; }
.home2025 .ui-quote__text { color: var(--ui-color-text); font-size: 1.05rem; line-height: 1.6; margin-top: var(--ui-space-3); }
.home2025 .ui-quote__footer { color: var(--ui-color-muted); margin-top: var(--ui-space-4); font-weight: 600; }

/* Section Header */
.home2025 .ui-section-header{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.home2025 .ui-section-title{ margin: 0; }
.home2025 .ui-section-title.u-h2{ margin-top: .25rem; }
.home2025 .ui-section-subtitle{ color: var(--ui-color-muted); margin: 0; }
.home2025 .ui-section-header.is-centered{ justify-content: center; text-align: center; }
.home2025 .ui-section-header.is-centered > *{ width: 100%; }
.home2025 .ui-section-header.is-start{ justify-content: start; text-align: start; }
.home2025 .ui-section-header.is-start > *{ width: 100%; }

/* Section separators */
.home2025 .home2025-hhh { position: relative; }
.home2025 .home2025-hhh::before{
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(77,104,176,.25) 15%, rgba(77,104,176,.25) 85%, rgba(0,0,0,0) 100%);
}
.home2025 .home2025-hhh::after{
  content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(77,104,176,.15) 15%, rgba(77,104,176,.15) 85%, rgba(0,0,0,0) 100%);
}

.home2025-hero {
  position: relative;
  min-height: 50vh;
  margin-top: 0.5rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}
/* Video Background Styles */
.home2025-hero .hero-video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.home2025-hero .hero-video-iframe,
.home2025-hero .hero-video-tag {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
  pointer-events: none;
}
.home2025-hero .hero-video-iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.home2025-hero .hero-video-fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: -1;
}
.home2025-hero .hero-content {
  position: relative;
  z-index: 1;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.home2025-hero .hero-content h1 {
  font-size: clamp(1.5rem, 4.5vw + 1rem, 4.25rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-shadow: none;
  color: #fff !important;
  font-family: "Barlow Semi Condensed", sans-serif !important;
  font-weight: 500 !important;
}
.home2025-hero .hero-content p.lead {
  max-width: 60ch;
  color: #fff !important;
}
.home2025-hero .hero-content .hero-content-inner{
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}
.home2025-hero .hero-content-inner .btn-xl{
  padding: .5rem 2.25rem !important;
  font-size: 1.55rem !important;
}
@media (min-width: 992px){
  .home2025-hero .hero-content .hero-content-inner{ max-width: 50%px; }
}
.home2025-hero .hero-video {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  width: min(360px, 48%);
  border-radius: 12px;
  overflow: hidden;
  z-index: 2;
}
@media (max-width: 767.98px){
  .home2025-hero{
    min-height: 75vh;
  }
  .home2025-hero .hero-video { position: static; width: 100%; margin-top: 1rem; }
  .home2025 .u-lead{
    font-size: 1.5rem;
  }
  .home2025 .u-lead-sm{
    font-size: 1.25rem;
  }
}
/* Small overlay tag on video */
.home2025-hero .hero-video .hero-tag {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}
.home2025-hero .hero-video .hero-tag .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4D68B0;
  display: inline-block;
}
@media (min-width: 992px) {
  .home2025-hero .hero-video { left: 2rem; bottom: 2rem; }
  .home2025-hero .hero-content { padding-bottom: 4rem; }
}

/* Floating search that overlaps hero and white background */
.home2025-search-floater { position: relative; margin-top: -2.75rem; }
.home2025-search-floater .search-card {
  max-width: 760px;
  position: relative;
}
.home2025-search-floater .search-pill{
  background: rgba(255,255,255,.65);
  border-radius: 999px;
  box-shadow: 0 0.75rem 2rem rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.35);
  padding: .35rem .35rem .35rem .2rem;
  border: 1px solid rgba(255,255,255,.45);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
}
.home2025-search-floater input::placeholder{ color: #6c757d; }
.home2025-search-spacer { height: 2.25rem; }

/* Hero playbox absolute (left) */
.home2025-hero .hero-playbox {
  position: absolute; right: 1rem; bottom: 1rem; width: min(360px, 48%);
  overflow: hidden; background: #000;
  z-index: 2;
}
.home2025-hero .hero-playbox .play-overlay{
  position: absolute; inset: 0; display: grid; place-items: center;
  background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.35)); color: #fff;
  font-size: 1.5rem;
  z-index: 2;
}
@media (min-width: 992px){ .home2025-hero .hero-playbox{ right: 2rem; bottom: 2rem; width: 420px; } }
@media (max-width: 767.98px){ .home2025-hero .hero-playbox{ position: static; width: 100%; margin-top: 1rem; } }

.home2025-banner p{
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: "Barlow Semi Condensed", sans-serif !important;
}
.home2025-banner p a{
  color: #fff;
  transition: all 0.3s ease;
  &:hover{
    color: #fff !important;
    text-decoration: underline !important;
  }
  &:focus{
    color: #fff !important;
  }
  &:active{
    color: #fff !important;
    text-decoration: underline !important;
  }
  &:visited{
    color: #fff !important;
  }
}

.home2025-social .kpi {
  padding: 16px 8px;
}
.home2025-social .kpi-number {
  font-size: 2rem;
  font-weight: 700;
}
.home2025-social .kpi-label {
  color: #6c757d;
  font-size: 0.95rem;
}

/* KPI component */
.home2025 .ui-kpi { text-align: center; }
.home2025 .ui-kpi .ui-kpi__num {
  font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
  font-weight: 800;
  color: var(--ui-color-text);
}
.home2025 .ui-kpi .ui-kpi__label { color: var(--ui-color-muted); font-weight: 500; }
.home2025 .ui-kpi .ui-kpi__chip {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .25rem .6rem; border-radius: 999px;
  background: #fff; color: var(--ui-color-primary);
  box-shadow: var(--ui-shadow-sm);
}

/* KPI list row style for 2-column layout */
.home2025 .ui-impact { overflow: hidden; }
.home2025 .ui-kpi--row { text-align: left; }
.home2025 .ui-kpi--row .ui-kpi__num { font-size: 2rem; }
.home2025 .ui-kpi--row .ui-icon-circle { width: 80px; height: 80px; font-size: 1.5rem; }

/* Impact tint and color accents */
.home2025 .ui-impact--tinted { background: linear-gradient(180deg, rgba(218,226,241,.35) 0%, rgba(255,255,255,1) 60%); }
.home2025 .ui-impact--tinted .ui-icon-circle { background: rgba(77,104,176,.15); color: #4D68B0; }
.home2025 .ui-impact--tinted .kpi-1 .ui-icon-circle { background: rgba(79,193,123,.18); color: #2ecc71; }
.home2025 .ui-impact--tinted .kpi-2 .ui-icon-circle { background: rgba(243,156,18,.18); color: #f39c12; }
.home2025 .ui-impact--tinted .kpi-3 .ui-icon-circle { background: rgba(108,92,231,.18); color: #6c5ce7; }

.home2025-benefits .benefit-card {
  transition: transform .3s ease, box-shadow .3s ease;
}
.home2025-benefits .benefit-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.08);
}
.home2025-benefits .benefit-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #DAE2F1;
  color: #4D68B0;
}

.home2025-sisters .sister-logo {
  width: 72px;
  height: 72px;
  box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,.08);
}

/* Sisters tiles */
.home2025 .ui-sister { text-decoration: none; }
.home2025 .ui-sister .logo {
  width: 80px; height: 80px; background: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.home2025 .ui-sister .name { font-size: 0.65rem; text-transform: uppercase; font-weight: 400; color: var(--ui-color-primary); }

.home2025 .carousel-controls .btn { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; }

/* Unified carousel controls */
.home2025 .ui-carousel-controls { display: inline-flex; gap: .5rem; }
.home2025 .ui-carousel-controls .btn {
  width: 40px; height: 40px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: var(--ui-color-primary);
  border-color: rgba(0,0,0,.12); box-shadow: var(--ui-shadow-sm);
}
.home2025 .ui-carousel-controls .btn:hover { filter: brightness(.98); }

/* Membership invite styling */
.home2025-membership .ui-card { background: linear-gradient(180deg, rgba(77,104,176,.06) 0%, #ffffff 65%); }
.home2025-membership .ui-icon-circle { background: #fff; color: var(--ui-color-primary); box-shadow: var(--ui-shadow-sm); }

/* Wide membership CTA */
.home2025-membership-cta { background: linear-gradient(180deg, rgba(77,104,176,.06) 0%, #ffffff 65%); }
.home2025-membership-cta .ui-card { background: transparent; }
.home2025-membership-cta .ui-icon-circle { background: #fff; color: var(--ui-color-primary); box-shadow: var(--ui-shadow-sm); }

.home2025-membership-cta-alt { background: radial-gradient(1200px 600px at 50% -20%, rgba(77,104,176,.35), transparent 60%), linear-gradient(180deg, #3f57a2, #2a3f83); }
.home2025-membership-cta-alt .membership-banner { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); padding: 2rem; border-radius: 18px; backdrop-filter: blur(8px); box-shadow: 0 12px 30px rgba(17,24,39,.25); }
.home2025-membership-cta-alt .ui-icon-circle { background: rgba(255,255,255,.95); color: var(--ui-color-primary); box-shadow: var(--ui-shadow-sm); }
.home2025-membership-cta-alt h2, .home2025-membership-cta-alt li { color: #fff; }
.home2025-membership-cta-alt h2 { font-size: 1.9rem; letter-spacing: .2px; }
.home2025-membership-cta-alt ul { margin-top: .5rem; }
.home2025-membership-cta-alt li { font-size: 1rem; opacity: .9; }
.home2025-membership-cta-alt .ui-btn--white { background: #fff; color: var(--ui-color-primary); border-radius: 999px; padding: .7rem 1.1rem; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.home2025-membership-cta-alt .ui-btn--secondary { background: var(--ui-color-secondary); color: #fff; border-radius: 999px; padding: .7rem 1.1rem; box-shadow: 0 8px 20px rgba(245,158,11,.35); }
.home2025-membership-cta-alt .ui-btn--white:hover { transform: translateY(-1px); }
.home2025-membership-cta-alt .ui-btn--secondary:hover { transform: translateY(-1px); }

/* Key Areas */
.home2025-keys.home2025-keys--dark { background: radial-gradient(1200px 600px at 50% -20%, rgba(77,104,176,.15), transparent 60%), linear-gradient(180deg, #e9eef9, #f5f7fc); }
.home2025-keys.home2025-keys--dark .ui-card { box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.home2025-keys.home2025-keys--dark .u-text-muted { color: #5f6b7a !important; }
.home2025-keys.home2025-keys--dark .ui-icon-circle { box-shadow: var(--ui-shadow-sm); }
.home2025-keys .key-tile { text-decoration: none; }
.home2025-keys .key-body{ padding: 1.25rem 1.25rem; }
.home2025-keys .key-tile i{ color: #4D68B0; font-size: 1.5rem; }
.home2025-keys .key-tile h3{ margin: .5rem 0 .25rem; font-size: 1.05rem; color: #212529; }
.home2025-keys.home2025-keys--dark .ui-section-title { color: #212529; }
.home2025-keys .key-tile p{ margin: 0; color: #6c757d; font-size: .95rem; }

/* Bento grid */
.home2025 .ui-bento { display: grid; gap: 1rem; }
@media (min-width: 768px){ .home2025 .ui-bento { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1200px){ .home2025 .ui-bento { grid-template-columns: repeat(12, 1fr); gap: 1.25rem; } }
.home2025 .ui-bento__item { min-height: 180px; }
.home2025 .ui-bento__item .ui-card__body { padding: 1rem 1rem; }
.home2025 .ui-bento__item .ui-title { font-size: 1.1rem; }
.home2025 .ui-bento__item .ui-icon-circle { width: 48px; height: 48px; }
/* Span helpers (desktop) */
@media (min-width: 1200px){
  .home2025 .span-3 { grid-column: span 3; }
  .home2025 .span-4 { grid-column: span 4; }
  .home2025 .span-5 { grid-column: span 5; }
  .home2025 .span-6 { grid-column: span 6; }
}

/* Explore themed colors */
.home2025 .explore-card { border: 1px solid rgba(0,0,0,.04); }
.home2025 .explore-card .ui-card__body { position: relative; }
.home2025 .explore-card.has-bg { position: relative; overflow: hidden; border: none; --explore-tint-opacity: .24; --explore-scrim-a: .20; --explore-scrim-b: .48; --explore-scrim-c: .68; }
.home2025 .explore-card.has-bg .ui-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.02); z-index: 0; }
.home2025 .explore-card.has-bg .ui-card__tint { position: absolute; inset: 0; background: var(--explore-accent, transparent); opacity: var(--explore-tint-opacity); z-index: 1; }
.home2025 .explore-card.has-bg .ui-card__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,var(--explore-scrim-a)) 0%, rgba(0,0,0,var(--explore-scrim-b)) 60%, rgba(0,0,0,var(--explore-scrim-c)) 100%); z-index: 2; }
.home2025 .explore-card.has-bg .ui-card__body { position: relative; color: #fff; z-index: 3; }
.home2025 .explore-card.has-bg .u-text-muted { color: rgba(255,255,255,.85) !important; }
.home2025 .explore-card.has-bg .ui-icon-circle { background: rgba(255,255,255,.95); color: var(--explore-accent, var(--ui-color-primary)); box-shadow: var(--ui-shadow-sm); }
.home2025 .explore-card.has-accent .ui-icon-circle { color: var(--explore-accent); }

/* Improve legibility on image backgrounds */
.home2025 .explore-card.has-bg .ui-title,
.home2025 .explore-card.has-bg .u-eyebrow,
.home2025 .explore-card.has-bg p { text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.home2025 .explore-card.has-bg .ui-title { color: var(--explore-title, #fff); }
.home2025 .explore-practices { background: linear-gradient(180deg, rgba(77,104,176,.08) 0%, #fff 65%); }
.home2025 .explore-recipes   { background: linear-gradient(180deg, rgba(243,156,18,.10) 0%, #fff 65%); }
.home2025 .explore-names     { background: linear-gradient(180deg, rgba(108,92,231,.10) 0%, #fff 65%); }
.home2025 .explore-causes    { background: linear-gradient(180deg, rgba(79,193,123,.10) 0%, #fff 65%); }
.home2025 .explore-courses   { background: linear-gradient(180deg, rgba(105,190,255,.12) 0%, #fff 65%); }
.home2025 .explore-ikyta     { background: linear-gradient(180deg, rgba(33,37,41,.06) 0%, #fff 65%); }

.home2025 .explore-card .ui-icon-circle { background: rgba(255,255,255,.85); box-shadow: var(--ui-shadow-sm); }
.home2025 .explore-card .ui-actions { text-align: left; }
.home2025 .explore-practices .ui-icon-circle { color: #4D68B0; }
.home2025 .explore-recipes   .ui-icon-circle { color: #f39c12; }
.home2025 .explore-names     .ui-icon-circle { color: #6c5ce7; }
.home2025 .explore-causes    .ui-icon-circle { color: #2ecc71; }
.home2025 .explore-courses   .ui-icon-circle { color: #4D68B0; }
.home2025 .explore-ikyta     .ui-icon-circle { color: #212529; }

/* Benefits as Bento grid (mirrors explore) */
.home2025 .benefit-card { border: 1px solid rgba(0,0,0,.04); }
.home2025 .benefit-card .ui-card__body { position: relative; }
.home2025 .benefit-card.has-bg { position: relative; overflow: hidden; border: none; }
.home2025 .benefit-card.has-bg .ui-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.02); z-index: 0; }
.home2025 .benefit-card.has-bg .ui-card__tint { position: absolute; inset: 0; background: var(--benefit-accent, transparent); opacity: .18; z-index: 1; }
.home2025 .benefit-card.has-bg .ui-card__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.32) 60%, rgba(0,0,0,.52) 100%); z-index: 2; }
.home2025 .benefit-card.has-bg .ui-card__body { position: relative; color: #fff; z-index: 3; }
.home2025 .benefit-card.has-bg .u-text-muted { color: rgba(255,255,255,.85) !important; }
.home2025 .benefit-card.has-bg .ui-icon-circle { background: rgba(255,255,255,.95); color: var(--benefit-accent, var(--ui-color-primary)); box-shadow: var(--ui-shadow-sm); }
.home2025 .benefit-card .ui-icon-circle { width: 48px; height: 48px; }
.home2025 .benefit-card .ui-actions { text-align: left; }

/* Ensure legibility on dark benefits backgrounds */
.home2025 .benefit-card.has-bg .ui-title,
.home2025 .benefit-card.has-bg .u-eyebrow,
.home2025 .benefit-card.has-bg p { text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.home2025 .benefit-card.has-bg .ui-title { color: #fff; }


#home2025SearchForm{
  width: 40%;
}
#home2025SearchForm .form-select{
  border: none !important; 
  width: 20% !important;
}
#home2025SearchForm button{
  padding: 0 20px !important;
}
.menu-container{
  width: calc(100% - 140px);
}

@media (max-width: 991px) {
  #home2025SearchForm{
    width: 100%;
  }
  #home2025SearchForm .form-select{
    width: 35% !important;
  }
  .menu-container{
    width: 100%;
  }
}

/* Footer hamburger button styles */
.footer-hamburger {
  display: flex;
  align-items: center;
  background: transparent !important;
  border: none;
  cursor: pointer;
  padding: 10px;
  transition: all 0.3s ease;
}

.footer-hamburger:hover {
  opacity: 0.8;
}

.footer-hamburger .hamburger-inner,
.footer-hamburger .hamburger-inner:after,
.footer-hamburger .hamburger-inner:before {
  background-color: #fff;
}

.footer-hamburger.is-active .hamburger-inner,
.footer-hamburger.is-active .hamburger-inner:after,
.footer-hamburger.is-active .hamburger-inner:before {
  background-color: #fff;
}

.footer-hamburger span:last-child {
  font-size: 14px;
  font-weight: 500;
}

footer .navbar-nav a{
  color: #fff !important;
  text-transform: initial !important;
  font-family: "Barlow" !important;
  font-weight: 500 !important;
  margin: 0 10px !important;
}

footer .navbar-nav a:hover{
  color: #fff !important;
  text-decoration: underline !important;
}

footer .navbar-nav a:focus{
  color: #fff !important;
}

footer .navbar-nav a:active{
  color: #fff !important;
}

header #home2025SearchForm .form-select{
  padding: 2px 10px !important;
}

/* Trust indicators section */
.home2025-trust {
  background-image: url('../images/home/bg-trust-indicators.png');
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #ffffff;
  padding: 4rem 0;
}

.home2025-trust .trust-indicator {
  text-align: center;
  padding: 1rem;
}

.home2025-trust .trust-indicator img {
  width: 120px;
  height: auto;
  margin-bottom: 1rem;
}

.home2025-trust .trust-indicator .big-text {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ui-color-text);
  margin-bottom: 0.5rem;
}

.home2025-trust .trust-indicator .small-text {
  font-size: 1.25rem;
  color: #fff;
  line-height: 1.2;
  font-weight: 600;
}

/* Healthy, Happy and Holy Tabs */
.home2025-healthy-happy-holy {
  background: linear-gradient(135deg, #2a3f83 0%, #4D68B0 100%);
  color: #fff;
  overflow: hidden;
}

.hhh-nav-tabs {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 500px;
}

.hhh-tab-nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: linear-gradient(270deg, #2a3f83 0%, #4D68B0 100%);
  color: #fff;
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  font-weight: 600;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  position: relative;
  padding: 2rem 1.5rem 2rem 2.5rem;
  font-family: "Barlow", sans-serif;
  overflow: hidden;
}

.hhh-tab-nav::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.6s ease;
}

.hhh-tab-nav:hover::after {
  left: 100%;
}

.hhh-tab-nav:hover {
  background: linear-gradient(270deg, #3a4f93 0%, #5a7bc8 100%);
  padding-left: 3rem;
  transform: translateX(5px);
}

.hhh-tab-nav.active {
  background: rgba(77, 104, 176, 0.3);
  border-right: 4px solid #fff;
}

.hhh-tab-nav.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #F59E0B;
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from {
    width: 0;
  }
  to {
    width: 3px;
  }
}

.hhh-content-area {
  background: rgba(77, 104, 176, 0.3);
  padding: 3rem 2.5rem;
  height: 600px;
  min-height: 600px;
  max-height: 600px;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.hhh-banner-common {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: #F59E0B;
  color: #fff;
  padding: 0.75rem 2rem;
  font-weight: 500;
  font-size: 1.5rem;
  z-index: 10;
  font-style: italic;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
  letter-spacing: 0.05em;
}

.hhh-tab-content {
  position: absolute;
  top: 0;
  left: 2.5rem;
  right: 2.5rem;
  bottom: 0;
  width: calc(100% - 5rem);
  height: 100%;
  display: flex;
  opacity: 0;
  transform: translateY(20px) scale(0.98);
  pointer-events: none;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), 
              transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0.6s;
  visibility: hidden;
  gap: 3rem;
  align-items: center;
  z-index: 1;
  padding: 2rem 0;
  box-sizing: border-box;
}

.hhh-tab-content.active {
  position: absolute;
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  visibility: visible;
  z-index: 2;
}

.hhh-tab-content:not(.active) {
  animation: fadeOut 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.hhh-tab-content.active {
  animation: fadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px) scale(0.98);
    filter: blur(4px);
  }
}

.hhh-content-left {
  flex: 0 0 auto;
  width: 48%;
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
              transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
  display: flex;
  align-items: center;
  align-self: stretch;
}

.hhh-content-right {
  flex: 1;
  width: 52%;
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s,
              transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
}

.hhh-tab-content.active .hhh-content-left,
.hhh-tab-content.active .hhh-content-right {
  opacity: 1;
  transform: translateX(0);
}

.hhh-media {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.hhh-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

.hhh-image-link:hover img {
  transform: scale(1.02);
}

.hhh-banner {
  background: #F59E0B;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  display: inline-block;
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

.hhh-title {
  font-size: 2.25rem;
  color: #fff;
  margin-bottom: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.hhh-title-link {
  color: #fff !important;
  text-decoration: none;
  transition: all 0.3s ease;
  display: block;
  cursor: pointer;
}

.hhh-title-link:hover {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}

.hhh-description {
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.125rem;
  line-height: 1.75;
  margin-bottom: 0;
  max-width: none;
}

.hhh-image {
  position: relative;
}

.hhh-image-link {
  text-decoration: none;
  display: block;
}

/* Horizontal Variant - Modern Design */
.hhh-variant-horizontal .hhh-tabs-container {
  padding: 0;
}

.hhh-variant-horizontal .hhh-tabs-container .row {
  justify-content: space-between;
}

.hhh-variant-horizontal .hhh-nav-tabs {
  flex-direction: row;
  gap: 0;
  background: transparent;
  min-height: auto;
}

.hhh-variant-horizontal .hhh-tab-nav {
  flex: 0 1 auto;
  padding: 1.25rem 2.5rem;
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-bottom: none;
  position: relative;
  margin-right: -1px;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.hhh-variant-horizontal .hhh-tab-nav:hover {
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-3px);
}

.hhh-variant-horizontal .hhh-tab-nav.active {
  background: rgba(77, 104, 176, 0.4);
  border-color: rgba(255, 255, 255, 0.4);
  z-index: 2;
  transform: translateY(-3px);
}

.hhh-variant-horizontal .col-md-3{
  width: auto;
  flex: 0 0 auto;
  max-width: auto;
  padding: 0 !important;
}
.hhh-variant-horizontal .col-md-9 {
  width: 100%;
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0 !important;
}

.hhh-variant-horizontal .hhh-content-area {
  background: rgba(77, 104, 176, 0.25);
  padding: 0!important;
  height: 400px;
  min-height: 400px;
  max-height: 400px;
  border-top: 2px solid rgba(255, 255, 255, 0.2)!important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2)!important;
}

.hhh-variant-horizontal .hhh-tab-content {
  width: 100%!important;
  left: 0!important;
  right: 0!important;
  padding: 0!important;
}

.hhh-variant-horizontal .hhh-tab-content.active {
  flex-direction: row;
  align-items: stretch;
  gap: 3rem;
}

.hhh-variant-horizontal .hhh-content-left {
  width: 45%;
  flex: 0 0 45%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-items: center;
  justify-content: center;
}

.hhh-variant-horizontal .hhh-content-right {
  width: 55%;
  flex: 1;
  padding-right: 2rem !important;
}

.hhh-variant-horizontal .hhh-content-left { 
  height: 100%;
  align-self: stretch;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
.hhh-variant-horizontal .hhh-image,
.hhh-variant-horizontal .hhh-image-link { height: 100%; width: 100%; flex: 1 1 auto; }
.hhh-variant-horizontal .hhh-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
  transition: none;
  display: block;
}

.hhh-variant-horizontal .hhh-image-link:hover img {
  transform: none;
}

.hhh-variant-horizontal .hhh-title {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

.hhh-variant-horizontal .hhh-description {
  font-size: 1.15rem;
  line-height: 1.8;
  max-width: none;
}

.hhh-variant-horizontal .hhh-banner-common {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  position:initial !important;
  display: flex;
  align-items: center;
  width: auto;
  flex-grow: 1;
}

@media (max-width: 768px) {
  .hhh-variant-horizontal .hhh-content-area {
    height: auto!important;
    min-height: auto !important;
    max-height: auto!important;
  }
  .hhh-nav-tabs {
    flex-direction: row;
    margin-bottom: 2rem;
    min-height: auto;
  }
  
  .hhh-tab-nav {
    flex: 1;
    text-align: center;
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1rem 0.5rem;
  }
  
  .hhh-tab-nav.active {
    border-right: none;
    border-bottom: 4px solid #fff;
  }
  
  .hhh-content-area {
    padding: 1.5rem;
    min-height: auto;
  }
  
  .hhh-banner-common {
    position: static !important;
    display: block !important;
    width: 100% !important;
    font-size: 1rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    text-align: center;
    border-radius: 0;
    top: auto !important;
    right: auto !important;
    order: -1;
  }
  
  .hhh-tabs-container .row {
    flex-direction: column;
    position: relative;
  }
  
  .hhh-tabs-container .row > .hhh-banner-common {
    order: -2;
    width: 100% !important;
    margin: 0 !important;
    position: static !important;
    display: block !important;
  }
  
  /* Columnas en móvil */
  .hhh-tabs-container .col-md-3,
  .hhh-tabs-container .col-md-9 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .hhh-content-area {
    padding: 2rem 1.5rem !important;
    height: auto !important;
    min-height: 400px !important;
    max-height: none !important;
  }
  
  .hhh-tab-content {
    height: auto !important;
    position: relative !important;
    margin-top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 0 !important;
  }
  
  .hhh-tab-content.active {
    position: relative !important;
  }
  
  .hhh-tab-nav {
    font-size: 1.2rem !important;
    padding: 1.5rem 1rem 1.5rem 1.5rem !important;
  }
  
  .hhh-tab-content.active {
    flex-direction: column;
    gap: 1rem;
    position: relative;
  }
  
  .hhh-content-left {
    order: -1;
    transform: translateX(0) !important;
  }
  
  .hhh-content-right {
    transform: translateX(0) !important;
  }
  
  .hhh-title {
    font-size: 1.5rem;
  }
  
  /* Reset transitions on mobile for better performance */
  .hhh-tab-content {
    transform: translateY(10px) scale(1);
  }
  
  .hhh-tab-content.active {
    transform: translateY(0) scale(1);
  }
  
  /* Horizontal variant mobile */
  .hhh-variant-horizontal .hhh-tabs-container .row {
    flex-direction: column;
  }
  .hhh-variant-horizontal .col-md-3{
    padding: 0 !important;
    width: 100% !important;
    flex: 1 !important;
    max-width: 100% !important;
  }
  .hhh-variant-horizontal .col-md-9{
    padding: 0 !important;
    width: 100% !important;
    flex: 1 !important;
    max-width: 100% !important;
  }
  .hhh-variant-horizontal .hhh-nav-tabs {
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 0 !important;
  }
  
  .hhh-variant-horizontal .hhh-tab-nav {
    flex: 1 1 calc(33.333% - 0.5rem);
    min-width: 100px;
    padding: 1rem 0.75rem !important;
    text-align: center !important;
    font-size: 0.9rem;
    border-radius: 0 !important;
    margin-right: 0;
  }

  .hhh-variant-horizontal .hhh-banner-common {
    padding: 0.75rem 1rem !important;
    font-size: 1rem;
    position: static !important;
    display: block !important;
    align-items: center;
    width: 100% !important;
    margin-bottom: 1rem !important;
    text-align: center;
    order: -2;
  }
  
  /* En móvil, el banner debe estar arriba de todo */
  .hhh-tabs-container {
    position: relative;
    padding: 1rem 0;
  }
  
  .hhh-tabs-container > .row {
    display: flex;
    flex-direction: column;
    margin: 0;
  }
  
  .hhh-tabs-container > .row > .hhh-banner-common {
    order: -10;
    position: static !important;
    margin: 0 !important;
    width: 100% !important;
    border-radius: 0;
    box-shadow: none;
  }
  
  .hhh-variant-horizontal .container-fluid{
    padding: 0 !important;
  }
  /* Asegurar que las columnas se apilen correctamente */
  
  .hhh-variant-horizontal .hhh-tab-nav:first-child,
  .hhh-variant-horizontal .hhh-tab-nav:last-child {
    border-radius: 8px;
  }
  
  .hhh-variant-horizontal .hhh-tab-content {
    flex-direction: column !important;
    gap: 1.5rem;
    /* Override relative positioning to absolute so inactive tabs don't take up space */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    /* Hide inactive tabs completely */
    display: none !important;
  }
  
  /* Show active tab with flex display */
  .hhh-variant-horizontal .hhh-tab-content.active {
    display: flex !important;
    position: relative !important;
  }
  
  /* Ensure content area has relative positioning for absolute children */
  .hhh-variant-horizontal .hhh-content-area {
    position: relative !important;
  }
  
  .hhh-variant-horizontal .hhh-content-left,
  .hhh-variant-horizontal .hhh-content-right {
    width: 100%;
    flex: 1;
  }
  
  /* Add horizontal padding to content-right for mobile */
  .hhh-variant-horizontal .hhh-content-right {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  
  .hhh-variant-horizontal .hhh-title {
    font-size: 1.75rem;
    margin-top: 0.5rem !important;
    margin-bottom: 1rem !important;
  }

  .hhh-variant-horizontal .hhh-description {
    margin-bottom: 1.5rem !important;
  }

}

/* Start a Practice Section */
.home2025-start-practice {
  color: #fff;
  padding: 0 !important;
}
.home2025-start-practice .container-fluid{
  padding: 0 !important;
}

.practice-header {
  background: #fff;
  padding: 1rem 2rem;
  text-align: center;
}

.practice-title {
  font-size: 2.75rem;
  font-weight: 500;
  margin: 0;
  text-transform: uppercase;
  font-family: "Barlow", sans-serif;
}

.practice-subtitle {
  font-size: 0.9rem;
  margin: 0;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.practice-nav-container {
  padding: 0;
}

.practice-nav-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.practice-tab-nav {
  flex: 1;
  padding: 1rem 2rem;
  background: transparent;
  color: #fff;
  border: none;
  font-weight: 500 !important;
  font-size: 2.5rem !important;
  text-transform: uppercase !important;
  font-family: "Barlow Semi Condensed", sans-serif !important;
  text-align: center !important;
}

.practice-content-area {
  background: rgba(30, 47, 95, 0.6);
}

.practice-card {
  position: relative;
  overflow: hidden;
  transition: all 0.35s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  border-radius: 0 !important;
}

.practice-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.practice-image {
  width: 100%;
  margin-bottom: 0 !important;
  overflow: hidden;
  background: #fff;
  border-radius: 0 !important;
}

.practice-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}

.practice-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.5rem;
  background: linear-gradient(0deg, rgba(77,104,176,.85) 0%, rgba(77,104,176,.55) 60%, rgba(77,104,176,0) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
}

.practice-card-title {
  font-size: 3rem;
  font-weight: 500;
  color: #fff;
  margin: 0 0 .05rem;
  line-height: 1.2;
  font-family: "Barlow", sans-serif;
  text-shadow: 0 3px 18px rgba(0,0,0,.45);
}

.practice-card-desc {
  font-size: 1.25rem;
  color: rgba(255,255,255,.92);
  margin: 0 0 2rem;
  line-height: 1.5;
}

.practice-btn {
  align-self: center;
  display: inline-block;
  background: #F59E0B;
  color: #fff;
  padding: 0.85rem 2.5rem;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.25rem;
  text-align: center;
  transition: all 0.25s ease;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 0;
  box-shadow: 0 8px 18px rgba(245,158,11,.35);
}

.practice-btn:hover {
  background: #3a4f93;
  border-color: #3a4f93;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}

/* Practice card wrapper - only for mobile structure */
.practice-card-wrapper {
  display: flex;
  flex-direction: column;
}

/* Practice card label header - mobile only */
.practice-card-label-header {
  display: none;
}

@media (max-width: 768px) {
  .practice-header {
    padding: 1.5rem 1rem 1rem;
  }
  
  .practice-title {
    font-size: 1.75rem;
  }
  
  .practice-subtitle {
    font-size: 0.8rem;
  }
  
  /* Hide navigation tabs on mobile */
  .practice-nav-container {
    display: none;
  }
  
  
  /* Show and style practice card label header on mobile */
  .practice-card-label-header {
    display: block;
    color: #fff;
    padding: 1rem 2rem;
    font-weight: 500;
    font-size: 1.5rem;
    text-transform: uppercase;
    font-family: "Barlow Semi Condensed", sans-serif;
    text-align: center;
  }
  
  .practice-card {
    margin-bottom: 0;
  }
  
  
  .practice-card-title {
    font-size: 2rem;
    margin-top: 0;
  }
}

/* Hide practice card labels on desktop */
@media (min-width: 768px) {
  .practice-card-label-header {
    display: none !important;
  }
}


/* ===================== */
/* Testimonials featured */
/* ===================== */
.home2025-testimonials{
  background: url('../images/home/bg-testimonials.png') no-repeat center center;
  background-size: cover;
  font-family: "Barlow Semi Condensed", sans-serif;
  position: relative;
}
.home2025-testimonials .testimonials-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 100%);
  z-index: 1;
  pointer-events: none;
}
.home2025-testimonials .container-fluid {
  position: relative;
  z-index: 2;
}
.home2025-testimonials .t-wrap{
  position: relative;
  padding: 4rem 160px 4rem 0;
}
.home2025-testimonials .t-card{
  margin: 0 auto;
  background: #fff;
  border-radius: 5px !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  padding: .75rem 2.5rem 1.25rem;
  position: relative;
  z-index: 2;
}
.home2025-testimonials .t-quote{
  max-width: calc(100% - 160px);
}
.home2025-testimonials .t-quote-icon{
  aspect-ratio: 1/1;
  overflow: hidden;
  width: 50px;
  display: block;
  height: 80px;
  margin-bottom: 1rem;
}

.home2025-testimonials .t-title{
  font-size: clamp(1.6rem, 1rem + 1.8vw, 2.25rem);
  font-weight: 500;
  color: #2b2b2b;
  line-height: 1.2;
  margin-top: 0 !important;
}
.home2025-testimonials .t-text{
  color: #5f6b7a;
  font-size: 1rem;
  line-height: 1.65;
}
.home2025-testimonials .t-footer{ color:#2b2b2b; }
.home2025-testimonials .t-location{ color:#6c757d; }

/* Hide mobile avatar on desktop */
.home2025-testimonials .t-avatar-mobile {
  display: none;
}

.home2025-testimonials .t-avatars{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 15;
  right: 0px; 
  width: 320px;
  height: 320px;
  border-radius: 999px;
  object-fit: cover;
  border: 12px solid #fff;
  box-shadow: 0 15px 40px rgba(0,0,0,.25);
  overflow: hidden;
}

.home2025-testimonials .t-avatar{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Owl Carousel styles for testimonials */
.home2025-testimonials .owl-carousel {
  overflow: visible;
  position: relative;
  /* padding: 0 80px; */
}
.home2025-testimonials .owl-stage-outer {
  overflow: visible;
  padding: 2rem 0;
  width: 100%;
}
.home2025-testimonials .owl-stage {
  display: flex;
  align-items: center;
  /* justify-content: center; */
}
.home2025-testimonials .owl-item {
  opacity: 0.4;
  transition: opacity 0.3s ease, transform 0.3s ease;
  padding: 0;
  margin-right: 0;
}
.home2025-testimonials .owl-item.center {
  opacity: 1 !important;
  z-index: 10;
  overflow: visible;
}
.home2025-testimonials .owl-item.center .t-wrap {
  transform: scale(1);
}
.home2025-testimonials .owl-item .t-wrap {
  transition: transform 0.3s ease;
  width: 100%;
  position: relative;
  overflow: visible;
}
.home2025-testimonials .owl-item:not(.center) .t-wrap {
  transform: scale(0.9);
}
/* Owl Carousel navigation arrows - white */
.home2025-testimonials .owl-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(100% + 160px);
  left: -80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  z-index: 20;
}
.home2025-testimonials .owl-nav button {
  pointer-events: all;
  background: transparent !important;
  color: #fff !important;
  font-size: 40px !important;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  transition: opacity 0.3s ease;
  z-index: 10;
}
.home2025-testimonials .owl-nav button:hover {
  opacity: 0.8;
}
.home2025-testimonials .owl-nav button.owl-prev {
  position: absolute;
  left: 0;
}
.home2025-testimonials .owl-nav button.owl-next {
  position: absolute;
  right: 0;
}

/* Hide dots */
.home2025-testimonials .owl-dots {
  display: none !important;
}
@media (max-width:1280px){
    .home2025-testimonials .t-card{
      padding: .5rem 1rem;
    }
    .home2025-testimonials .t-quote{
      max-width: calc(100% - 140px);
    }

  .home2025-testimonials .t-avatars{
    width: 280px;
    height: 280px;
  }
}

@media (max-width:1024px){
  
  .home2025-testimonials {
    padding: 1.5rem 0 !important;
  }
  
  .home2025-testimonials .owl-carousel {
    padding: 0 0.75rem !important;
  }
  
  .home2025-testimonials .owl-item {
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .home2025-testimonials .t-card {
    padding: 1.5rem 1.25rem !important;
  }
  
  .home2025-testimonials .t-quote-icon {
    width: 28px !important;
    height: 42px !important;
    margin-bottom: 0.875rem !important;
  }
  
  .home2025-testimonials .t-title {
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
  }
  
  .home2025-testimonials .t-text {
    font-size: 0.875rem !important;
    margin-bottom: 1rem !important;
  }
  
  .home2025-testimonials .t-footer {
    font-size: 0.8125rem !important;
  }
  
  .home2025-testimonials .t-author {
    font-size: 0.875rem !important;
  }
  
  .home2025-testimonials .t-location {
    font-size: 0.75rem !important;
  }
  
  .home2025-testimonials .owl-nav {
    padding: 0 0.5rem !important;
  }
  
  .home2025-testimonials .owl-nav button {
    width: 36px !important;
    height: 36px !important;
    font-size: 20px !important;
  }
  
  .home2025-testimonials .owl-nav button.owl-prev {
    left: 0.5rem !important;
  }
  
  .home2025-testimonials .owl-nav button.owl-next {
    right: 0.5rem !important;
  }
}
@media (max-width: 767.98px) {
  .home2025-testimonials {
    padding: 2rem 0 !important;
    overflow: hidden !important;
  }
  
  .home2025-testimonials .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .home2025-testimonials .owl-carousel {
    padding: 0 1rem !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .home2025-testimonials .owl-stage-outer {
    padding: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
  }
  
  .home2025-testimonials .owl-stage {
    display: flex !important;
    transition: transform 0.3s ease !important;
    align-items: center !important;
  }
  
  
  .home2025-testimonials .t-wrap {
    padding: 0 !important;
    margin: 0 auto !important;
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .home2025-testimonials .t-avatars {
    display: none !important;
  }
  
  .home2025-testimonials .t-avatar {
    display: none !important;
  }
  
  /* Show mobile avatar */
  .home2025-testimonials .t-avatar-mobile {
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 auto 1rem auto !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 3px solid #fff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    flex-shrink: 0 !important;
  }
  
  .home2025-testimonials .t-avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
  
  .home2025-testimonials .t-card {
    padding: 1.75rem 1.5rem !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  
  .home2025-testimonials .t-quote {
    max-width: 100% !important;
    padding: 0 .5rem !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .home2025-testimonials .t-quote * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .home2025-testimonials .t-quote-icon {
    width: 32px !important;
    height: 48px !important;
    margin-bottom: 1rem !important;
  }
  
  .home2025-testimonials .t-avatar-mobile {
    margin-top: 0 !important;
    margin-bottom: 1.25rem !important;
  }
  
  .home2025-testimonials .t-quote-icon img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
  
  .home2025-testimonials .t-title {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.875rem !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .home2025-testimonials .t-text {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.25rem !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    color: #5f6b7a !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .home2025-testimonials .t-footer {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    margin-top: 0.5rem !important;
  }
  
  .home2025-testimonials .t-author {
    font-weight: 600 !important;
    margin-bottom: 0.25rem !important;
  }
  
  .home2025-testimonials .t-location {
    font-size: 0.8125rem !important;
    color: #6c757d !important;
  }
  
  .home2025-testimonials .owl-nav {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 0.75rem !important;
    box-sizing: border-box !important;
    pointer-events: none;
  }
  
  .home2025-testimonials .owl-nav button {
    font-size: 24px !important;
    padding: 0 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    color: #4D68B0 !important;
    margin: 0 0.25rem !important;
  }
  
  .home2025-testimonials .owl-nav button.owl-prev {
    left: -.15rem !important;
  }
  
  .home2025-testimonials .owl-nav button.owl-next {
    right: -.15rem !important;
  }
  
  .home2025-testimonials .owl-nav button:hover {
    background: rgba(255, 255, 255, 1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  }
}

.home2025-newsletter{
  background: url('../images/home/footer-top-bg.png') no-repeat bottom center;
  background-size: contain;
  padding: 1rem 0 15rem;
  position: relative;
}

.home2025-newsletter__inner{
  max-width: 980px;
  margin: 0 auto;
}

.home2025-newsletter__logo{
  max-width: 200px;
  width: 100%;
  height: auto;
  margin: 0 auto 1.25rem;
}

.home2025-newsletter__copy{
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 500;
  margin-left: auto;
  margin-right: auto;
  max-width: 78ch;
}

.home2025-newsletter__signup{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.home2025-newsletter__signup-label{
  font-weight: 700;
  color: #6c757d;
  font-size: 1.1rem;
  white-space: nowrap;
}

.home2025-newsletter__signup-form{
  flex: 1 1 520px;
  max-width: 760px;
}

.home2025-newsletter__fineprint{
  margin-top: .65rem;
  font-size: .9rem;
  color: #6c757d;
}

/* Gravity Forms layout inside Newsletter */
.home2025-newsletter .gform_wrapper{
  margin: 0 !important;
}

.home2025-newsletter .gform_wrapper form{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin: 0;
}

.home2025-newsletter .gform_wrapper .gform_body{
  margin: 0;
  flex: 1 1 420px;
}

.home2025-newsletter .gform_wrapper .gform_fields{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin: 0 !important;
  padding: 0 !important;
}

.home2025-newsletter .gform_wrapper .gfield{
  margin: 0 !important;
  flex: 1 1 220px;
  min-width: 200px;
}

.home2025-newsletter .gform_wrapper .gfield_label{
  display: none !important;
}

.home2025-newsletter .gform_wrapper input[type="text"],
.home2025-newsletter .gform_wrapper input[type="email"],
.home2025-newsletter .gform_wrapper input[type="tel"],
.home2025-newsletter .gform_wrapper input[type="url"],
.home2025-newsletter .gform_wrapper input[type="number"]{
  width: 100% !important;
  height: 44px !important;
  border-radius: 6px !important;
  border: 1px solid #d9dee8 !important;
  background: #fff !important;
  padding: 0 .9rem !important;
  box-shadow: none !important;
}

.home2025-newsletter .gform_wrapper input::placeholder{
  color: #9aa4b2;
}

.home2025-newsletter .gform_wrapper .gform_footer{
  margin: 0 !important;
  padding: 0 !important;
}
.home2025-newsletter .gform_wrapper.gravity-theme .gfield.gfield--width-one-sixth{
  grid-column: span 4 !important;
}
.home2025-newsletter .gform_wrapper .gform_footer input[type="submit"],
.home2025-newsletter .gform_wrapper .gform_footer button,
.home2025-newsletter .gform_wrapper .gform_footer input[type="button"]{
  height: 44px !important;
  border-radius: 6px !important;
  border: 0 !important;
  padding: 0 1.25rem !important;
  background: #F59E0B !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 14px rgba(245, 158, 11, .25) !important;
}

.home2025-newsletter .gform_wrapper .gform_footer input[type="submit"]:hover,
.home2025-newsletter .gform_wrapper .gform_footer button:hover{
  filter: brightness(0.95);
}

@media (max-width: 575.98px){
  .home2025-newsletter{
    padding: 3rem 0 4.5rem;
    background-size: cover;
  }

  .home2025-newsletter__signup-label{
    width: 100%;
    text-align: center;
  }

  .home2025-newsletter__signup-form{
    flex-basis: 100%;
  }
}