/* Scroll reveal + hover micro-interactions */.tbrs-root {

  --tbrs-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --tbrs-ease-soft: cubic-bezier(0.33, 0, 0.22, 1);
  --tbrs-reveal-duration: 0.75s;
  --tbrs-reveal-stagger: 0.1s;
  --tbrs-hover-duration: 0.28s;

}
/* --- Scroll reveal --- */.tbrs-root .tbrs-reveal {

  opacity: 0;
  transition:
    opacity var(--tbrs-reveal-duration) var(--tbrs-ease-out),
    transform var(--tbrs-reveal-duration) var(--tbrs-ease-out),
    filter var(--tbrs-reveal-duration) var(--tbrs-ease-out);
  will-change: opacity, transform;

}
.tbrs-root .tbrs-reveal--up {

  transform: translateY(28px);

}
.tbrs-root .tbrs-reveal--fade {

  transform: translateY(12px);

}
.tbrs-root .tbrs-reveal--scale {

  transform: scale(0.96) translateY(12px);

}
.tbrs-root .tbrs-section.tbrs-is-visible .tbrs-reveal,
.tbrs-root .tbrs-section.tbrs-is-visible .tbrs-reveal.tbrs-is-visible {

  opacity: 1;
  transform: none;

}
.tbrs-root .tbrs-kicker-line {

  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.8s var(--tbrs-ease-out);

}
.tbrs-root .tbrs-section.tbrs-is-visible .tbrs-kicker-line {

  transform: scaleX(1);

}
.tbrs-root .tbrs-section.tbrs-is-visible .tbrs-kicker-line--right {

  transition-delay: 0.15s;

}
.tbrs-root [data-reveal-delay="0"] {
  transition-delay: 0s;
}
.tbrs-root [data-reveal-delay="1"] {
  transition-delay: calc(var(--tbrs-reveal-stagger) * 1);
}
.tbrs-root [data-reveal-delay="2"] {
  transition-delay: calc(var(--tbrs-reveal-stagger) * 2);
}
.tbrs-root [data-reveal-delay="3"] {
  transition-delay: calc(var(--tbrs-reveal-stagger) * 3);
}
.tbrs-root [data-reveal-delay="4"] {
  transition-delay: calc(var(--tbrs-reveal-stagger) * 4);
}
.tbrs-root [data-reveal-delay="5"] {
  transition-delay: calc(var(--tbrs-reveal-stagger) * 5);
}
.tbrs-root .tbrs-bg-decor {

  opacity: 0;
  transform: scale(0.98);
  transition:
    opacity 1s var(--tbrs-ease-out) 0.35s,
    transform 1.2s var(--tbrs-ease-out) 0.35s;

}
.tbrs-root .tbrs-section.tbrs-is-visible .tbrs-bg-decor {

  opacity: 1;
  transform: scale(1);

}
/* Card enter (initial load only) */.tbrs-root .tbrs-card.tbrs-card--enter {

  animation: tbrsCardEnter 0.6s var(--tbrs-ease-out) both;

}
.tbrs-root .tbrs-card.tbrs-card--enter-left {

  animation-name: tbrsCardEnterLeft;

}
.tbrs-root .tbrs-card.tbrs-card--enter-right {

  animation-name: tbrsCardEnterRight;

}
@keyframes tbrsCardEnter {

  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }

}
@keyframes tbrsCardEnterLeft {

  from {
    opacity: 0;
    transform: translateX(-20px) translateY(10px);
  }
  to {
    opacity: 0.72;
    transform: translateX(0) translateY(0);
  }

}
@keyframes tbrsCardEnterRight {

  from {
    opacity: 0;
    transform: translateX(20px) translateY(10px);
  }
  to {
    opacity: 0.72;
    transform: translateX(0) translateY(0);
  }

}
.tbrs-root .tbrs-card.is-active.tbrs-card--enter-left,
.tbrs-root .tbrs-card.is-active.tbrs-card--enter-right {

  animation-name: tbrsCardEnter;

}
/* --- Hover effects --- */@media (hover: hover) and (pointer: fine) {
  .tbrs-root .tbrs-kicker-star {

    transition: transform var(--tbrs-hover-duration) var(--tbrs-ease-out);
  
  }
  .tbrs-root .tbrs-header:hover .tbrs-kicker-star {

    transform: rotate(90deg) scale(1.1);
  
  }
  .tbrs-root .tbrs-card {

    cursor: default;
    transition:
      transform 0.35s var(--tbrs-ease-soft),
      box-shadow 0.35s var(--tbrs-ease-soft),
      border-color 0.35s var(--tbrs-ease-soft),
      opacity 0.35s var(--tbrs-ease-soft);
  
  }
  .tbrs-root .tbrs-card:not(.is-active):hover {

    transform: translateY(-4px);
    opacity: 0.88;
    box-shadow: 0 12px 32px rgba(23, 51, 91, 0.12);
    border-color: rgba(23, 51, 91, 0.12);
  
  }
  .tbrs-root .tbrs-card.is-active:hover {

    transform: translateY(-3px);
    box-shadow: 0 16px 48px rgba(23, 51, 91, 0.14);
  
  }
  .tbrs-root .tbrs-card:hover .tbrs-card__quote {

    transform: scale(1.06);
  
  }
  .tbrs-root .tbrs-card:hover .tbrs-card__tag {

    filter: brightness(1.04);
  
  }
  .tbrs-root .tbrs-card:hover .tbrs-card__stars svg {

    transform: scale(1.12);
  
  }
  .tbrs-root .tbrs-card.is-active:hover .tbrs-card__badge {

    transform: translate(-50%, -50%) scale(1.08);
  
  }
  .tbrs-root .tbrs-card__quote,
  .tbrs-root .tbrs-card__tag,
  .tbrs-root .tbrs-card__badge,
  .tbrs-root .tbrs-card__stars svg {

    transition: transform var(--tbrs-hover-duration) var(--tbrs-ease-out), filter var(--tbrs-hover-duration) var(--tbrs-ease-out);
  
  }
  .tbrs-root .tbrs-card__stars svg:nth-child(1) {
 transition-delay: 0ms; 
  }
  .tbrs-root .tbrs-card__stars svg:nth-child(2) {
 transition-delay: 20ms; 
  }
  .tbrs-root .tbrs-card__stars svg:nth-child(3) {
 transition-delay: 40ms; 
  }
  .tbrs-root .tbrs-card__stars svg:nth-child(4) {
 transition-delay: 60ms; 
  }
  .tbrs-root .tbrs-card__stars svg:nth-child(5) {
 transition-delay: 80ms; 
  }
  .tbrs-root .tbrs-arrow {

    transition:
      transform var(--tbrs-hover-duration) var(--tbrs-ease-out),
      box-shadow var(--tbrs-hover-duration) var(--tbrs-ease-out),
      background-color var(--tbrs-hover-duration) var(--tbrs-ease-out);
  
  }
  .tbrs-root .tbrs-arrow:hover {

    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 6px 20px rgba(23, 51, 91, 0.18);
    background-color: #fafbfd;
  
  }
  .tbrs-root .tbrs-arrow:hover img {

    opacity: 1;
    transform: translateX(var(--tbrs-arrow-shift, 0));
  
  }
  .tbrs-root .tbrs-arrow--prev {

    --tbrs-arrow-shift: -2px;
  
  }
  .tbrs-root .tbrs-arrow--next {

    --tbrs-arrow-shift: 2px;
  
  }
  .tbrs-root .tbrs-arrow img {

    transition:
      opacity var(--tbrs-hover-duration) var(--tbrs-ease-out),
      transform var(--tbrs-hover-duration) var(--tbrs-ease-out);
  
  }
  .tbrs-root .tbrs-arrow:active {

    transform: translateY(-50%) scale(0.96);
  
  }
  .tbrs-root .tbrs-dot {

    transition:
      transform var(--tbrs-hover-duration) var(--tbrs-ease-out),
      background-color var(--tbrs-hover-duration) var(--tbrs-ease-out),
      width var(--tbrs-hover-duration) var(--tbrs-ease-out),
      height var(--tbrs-hover-duration) var(--tbrs-ease-out);
  
  }
  .tbrs-root .tbrs-dot:hover:not(.is-active) {

    transform: scale(1.35);
    background: #a8b8c8;
  
  }
  .tbrs-root .tbrs-dot.is-active:hover {

    transform: scale(1.15);
  
  }
}
.tbrs-root .tbrs-dot:focus-visible,
.tbrs-root span.tbrs-dot:focus-visible,
.tbrs-root .tbrs-arrow:focus-visible {

  outline: 2px solid var(--tbrs-navy-deep);
  outline-offset: 3px;

}
/* Reduced motion */@media (prefers-reduced-motion: reduce) {
  .tbrs-root .tbrs-reveal,
  .tbrs-root .tbrs-reveal--up,
  .tbrs-root .tbrs-reveal--fade,
  .tbrs-root .tbrs-reveal--scale,
  .tbrs-root .tbrs-kicker-line,
  .tbrs-root .tbrs-bg-decor {

    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  
  }
  .tbrs-root .tbrs-card.tbrs-card--enter,
  .tbrs-root .tbrs-card.tbrs-card--enter-left,
  .tbrs-root .tbrs-card.tbrs-card--enter-right,
  .tbrs-root .tbrs-card.is-active.tbrs-card--enter {

    animation: none !important;
  
  }
  .tbrs-root .tbrs-section.tbrs-is-visible .tbrs-kicker-line {

    transform: none;
  
  }
}
