/* Finnova V5.2.5 — scoped visual refinements. No layout/content migration.
 * Portraits: only actual uploaded photos grow. Initials keep their old size.
 * Effects use explicit opt-in classes outside the original Home components. */
.finnova-layout .fin51-reviews .fin42-review-avatar.fin525-has-photo {
  width:var(--fin525-portrait-size,88px); height:var(--fin525-portrait-size,88px);
  min-width:var(--fin525-portrait-size,88px); flex:0 0 var(--fin525-portrait-size,88px);
}
.fin525-portrait-small {--fin525-portrait-size:56px}
.fin525-portrait-medium {--fin525-portrait-size:88px}
.fin525-portrait-large {--fin525-portrait-size:120px}
.finnova-layout .fin51-reviews.fin525-has-portraits .fin42-review-person {
  min-height:calc(max(var(--fin51-avatar-size,52px),var(--fin525-photo-area,0px)) + 19px);
  box-sizing:border-box;
}
.finnova-layout .fin51-reviews .fin42-review-person>div {min-width:0;overflow-wrap:anywhere}
.finnova-layout .fin51-reviews .fin42-review-avatar img {display:block;object-position:center}
/* A narrow custom card keeps the full-size portrait above its attribution, rather than crushing text. */
.finnova-layout .fin51-reviews .fin42-review-card {container-type:inline-size}
@container (max-width:210px) {
  .finnova-layout .fin51-reviews.fin525-has-portraits .fin42-review-person {flex-wrap:wrap;row-gap:10px}
  .finnova-layout .fin51-reviews.fin525-has-portraits .fin42-review-person>div {flex:1 0 100%}
}

/* A background-size wipe preserves text/icon layering and reverses from the same left origin.
 * Native Elementor rules often set !important backgrounds, so these scoped states do as well. */
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button) {
  background-color:var(--fin525-button-base,#F6F5F0)!important;
  background-image:linear-gradient(var(--fin525-button-fill,#205B35),var(--fin525-button-fill,#205B35))!important;
  background-repeat:no-repeat!important;background-position:left center!important;background-size:0% 100%!important;
  color:var(--fin525-button-text,#205B35)!important;border-color:var(--fin525-button-base,#F6F5F0)!important;
  transition:background-size var(--fin525-button-duration,450ms) cubic-bezier(.22,.61,.36,1),color .25s ease,border-color .3s ease!important;
}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button):is(:hover,:focus-visible) {
  background-color:var(--fin525-button-base,#F6F5F0)!important;
  background-image:linear-gradient(var(--fin525-button-fill,#205B35),var(--fin525-button-fill,#205B35))!important;
  background-repeat:no-repeat!important;background-position:left center!important;background-size:100% 100%!important;
  color:var(--fin525-button-hover-text,#FFFFFF)!important;border-color:var(--fin525-button-fill,#205B35)!important;
}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button) :is(.elementor-button-text,.elementor-button-icon,.raven-button-text,.raven-button-icon) {color:inherit!important}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button) svg {fill:currentColor}
/* Do not run the old moving shine across the new hover fill. */
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button)::after {animation:none!important;content:none!important}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button):focus-visible {outline:2px solid currentColor;outline-offset:4px}

/* One seamless 320px diagonal period: near forest-green tones, not a pale glow.
 * Explicit solid/image modes remove the legacy animation, rather than hiding it underneath. */
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section,.fin525-bg-animated,.fin525-bg-solid,.fin525-bg-image) {
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--fin525-bg-base,#205B35)!important;
}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section,.fin525-bg-animated,.fin525-bg-solid,.fin525-bg-image)>:is(.e-con,.e-con-inner,.elementor-widget) {position:relative;z-index:1}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section,.fin525-bg-animated)::after {
  content:"";position:absolute;inset:-330px;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(135deg,var(--fin525-bg-base,#205B35) 0px,var(--fin525-bg-tone,#28643F) 80px,var(--fin525-bg-base,#205B35) 160px,var(--fin525-bg-shadow,#194B2D) 240px,var(--fin525-bg-base,#205B35) 320px)!important;
  background-size:auto!important;opacity:1!important;
  animation:fin525-green-flow var(--fin525-bg-speed,var(--fin522-gradient-duration,6s)) linear infinite!important;
  will-change:transform;
}
@keyframes fin525-green-flow {from{transform:translate3d(0,0,0)}to{transform:translate3d(226.27417px,226.27417px,0)}}
:is(body.finnova-refined-page .finnova-layout,body .elementor) .fin525-bg-solid::after {
  content:none!important;display:none!important;animation:none!important;transform:none!important;will-change:auto!important;
}
:is(body.finnova-refined-page .finnova-layout,body .elementor) .fin525-bg-image {
  background-color:var(--fin525-bg-base,#205B35)!important;
  background-image:var(--fin525-bg-image,none)!important;
  background-size:cover!important;background-position:var(--fin525-bg-position,center center)!important;background-repeat:no-repeat!important;
}
:is(body.finnova-refined-page .finnova-layout,body .elementor) .fin525-bg-image::after {
  content:"";display:block!important;position:absolute;inset:0;z-index:0;pointer-events:none;
  background:var(--fin525-bg-overlay,rgba(12,40,24,.44))!important;opacity:1!important;
  animation:none!important;transform:none!important;will-change:auto!important;border-radius:inherit;
}

/* Default = original four step cards only. Any other container can opt in explicitly. */
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section .fin-timeline-step:not(.fin525-card-hover-off),.elementor-element.fin525-card-hover-on) {
  position:relative;isolation:isolate;
  background-color:var(--fin525-card-base,rgba(255,255,255,.045))!important;
  background-image:linear-gradient(var(--fin525-card-fill,#2D6945),var(--fin525-card-fill,#2D6945))!important;
  background-repeat:no-repeat!important;background-position:left center!important;background-size:0% 100%!important;
  scale:1;translate:0 0;
  transition:scale .3s cubic-bezier(.22,.61,.36,1),translate .3s ease,background-size .38s ease,border-color .3s ease,box-shadow .3s ease!important;
}
@media (hover:hover) and (pointer:fine) {
  :is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section .fin-timeline-step:not(.fin525-card-hover-off),.elementor-element.fin525-card-hover-on):hover {
    scale:var(--fin525-card-scale,1.025);translate:0 -3px;
    background-size:100% 100%!important;border-color:#FFFFFF70!important;box-shadow:0 12px 26px #102F2529;
    z-index:2;
  }
}
:is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section .fin-timeline-step:not(.fin525-card-hover-off),.elementor-element.fin525-card-hover-on):focus-within {background-size:100% 100%!important;border-color:#FFFFFF70!important}
/* No additional tab stops or pointer cursor: step cards are not fake buttons. */
@media (prefers-reduced-motion:reduce) {
  :is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section,.fin525-bg-animated)::after {animation:none!important;transform:none!important;will-change:auto!important}
  :is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin5-process-section .fin-timeline-step:not(.fin525-card-hover-off),.elementor-element.fin525-card-hover-on) {transition:none!important;scale:1!important;translate:0 0!important}
  :is(body.finnova-refined-page .finnova-layout,body .elementor) :is(.fin-home-slider:not(.fin525-button-fill-off),.elementor-element.fin525-button-fill-on) :is(.raven-slide-button,.elementor-button,.raven-button) {transition:none!important}
}
body.elementor-editor-active :is(.finnova-layout,.elementor) :is(.fin5-process-section,.fin525-bg-animated)::after {animation:none!important;transform:none!important;will-change:auto!important}
body.elementor-editor-active :is(.finnova-layout,.elementor) :is(.fin-timeline-step,.fin525-card-hover-on) {scale:1!important;translate:0 0!important}
