/*
  Entopy Quote Section v1.0.0
*/

.entopy-quote-section{
  --quote-bg-start: #1f1f20;
  --quote-bg-end: #2a2928;
  --quote-text: #e9e6de;
  --quote-text-muted: rgba(233, 230, 222, 0.82);

  --section-padding-top: 100px;
  --section-padding-right: 0px;
  --section-padding-bottom: 40px;
  --section-padding-left: 0px;

  --meta-width: 240px;
  --grid-gap: 28px;
  --quote-max-width: 1180px;

  --meta-x-offset: 0px;
  --meta-y-offset: 0px;
  --quote-x-offset: 0px;
  --quote-y-offset: 0px;
  --typing-area-min-height: 0px;

  --font-quote: clamp(36px, 4vw, 56px);
  --font-meta: clamp(13px, 0.9vw, 14px);

  width: 100%;
  padding:
    var(--section-padding-top)
    var(--section-padding-right)
    var(--section-padding-bottom)
    var(--section-padding-left);
  box-sizing: border-box;
  overflow: hidden;
  font-family: Montserrat, Arial, sans-serif;
  color: var(--quote-text);
  background: linear-gradient(90deg, var(--quote-bg-start) 0%, var(--quote-bg-end) 100%);
}

.entopy-quote-section *,
.entopy-quote-section *::before,
.entopy-quote-section *::after{
  box-sizing: border-box;
}

.entopy-quote-grid{
  display: grid;
  grid-template-columns: var(--meta-width) minmax(0, 1fr);
  gap: var(--grid-gap);
  align-items: start;
}

.entopy-quote-meta-wrap{
  transform: translate(var(--meta-x-offset), var(--meta-y-offset));
}

.entopy-quote-meta{
  padding-top: 6px;
}

.entopy-quote-name,
.entopy-quote-role{
  font-size: var(--font-meta);
  line-height: 1.25;
  font-weight: 500;
  color: var(--quote-text);
}

.entopy-quote-role{
  margin-top: 4px;
  color: var(--quote-text-muted);
}

.entopy-quote-content{
  width: 100%;
  min-width: 0;
  transform: translate(var(--quote-x-offset), var(--quote-y-offset));
}

.entopy-quote-text{
  display: block;
  margin: 0;
  max-width: var(--quote-max-width);
  font-size: var(--font-quote);
  line-height: 1.03;
  font-weight: 500;
  letter-spacing: -0.045em;
  color: var(--quote-text);
}

.entopy-quote-reveal{
  opacity: 0;
  transform: translateY(22px);
  filter: blur(4px);
  will-change: transform, opacity, filter;
}

.entopy-quote-section.is-visible .entopy-quote-reveal{
  animation: entopyQuoteReveal 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.entopy-quote-section.is-visible .entopy-quote-delay-1{
  animation-delay: 0.12s;
}

.entopy-quote-section.is-visible .entopy-quote-delay-2{
  animation-delay: 0.26s;
}

.entopy-quote-no-reveal .entopy-quote-reveal,
.entopy-quote-editor-no-reveal .entopy-quote-reveal,
.elementor-editor-active .entopy-quote-reveal,
.elementor-editor-preview .entopy-quote-reveal{
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

@keyframes entopyQuoteReveal{
  from{
    opacity: 0;
    transform: translateY(22px);
    filter: blur(4px);
  }

  to{
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (max-width: 1024px){
  .entopy-quote-section{
    --section-padding-top: 80px;
    --section-padding-right: 0px;
    --section-padding-bottom: 36px;
    --section-padding-left: 0px;
    --meta-width: 180px;
    --grid-gap: 22px;
    --font-quote: clamp(34px, 5vw, 52px);
  }
}

@media (max-width: 767px){
  .entopy-quote-section{
    --section-padding-top: 48px;
    --section-padding-right: 0px;
    --section-padding-bottom: 32px;
    --section-padding-left: 0px;
    --grid-gap: 26px;
    --font-quote: clamp(30px, 9vw, 38px);
    --font-meta: 13px;
  }

  .entopy-quote-grid{
    grid-template-columns: 1fr;
  }

  .entopy-quote-text{
    line-height: 1.05;
    letter-spacing: -0.04em;
  }
}

@media (prefers-reduced-motion: reduce){
  .entopy-quote-reveal{
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}


/* v1.0.1 Case Summary alignment defaults */
.entopy-quote-grid{
  align-items: start;
}

.entopy-quote-meta{
  padding-top: 4px;
}

@media (max-width: 767px){
  .entopy-quote-meta{
    padding-top: 0;
  }
}


/* v1.1.1 Typing effect and meta column toggle */
.entopy-quote-section{
  --quote-cursor-colour: #e9e6de;
}

.entopy-quote-section.entopy-quote-no-meta .entopy-quote-grid{
  grid-template-columns: minmax(0, 1fr);
}

.entopy-quote-section.entopy-quote-no-meta .entopy-quote-content{
  transform: translate(var(--quote-x-offset), var(--quote-y-offset));
}

.entopy-quote-will-type .entopy-quote-text{
  opacity: 1;
  transform: none;
  filter: none;
}

.entopy-quote-will-type:not(.is-typing-complete):not(.entopy-quote-no-cursor) .entopy-quote-text::after{
  content: "_";
  display: inline-block;
  margin-left: 0.04em;
  color: var(--quote-cursor-colour);
  animation: entopyQuoteCursorBlink 1s steps(1) infinite;
}

.entopy-quote-will-type .entopy-quote-meta{
  opacity: 0;
  transform: translateY(22px);
  filter: blur(4px);
  animation: none;
}

.entopy-quote-will-type.is-typing-complete .entopy-quote-meta{
  animation: entopyQuoteReveal 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.08s;
}

.entopy-quote-will-type.is-typing-complete .entopy-quote-text::after{
  opacity: 0;
  animation: none;
}

.elementor-editor-active .entopy-quote-text::after,
.elementor-editor-preview .entopy-quote-text::after{
  display: none !important;
}

@keyframes entopyQuoteCursorBlink{
  50%{
    opacity: 0;
  }
}


/* v1.1.2 Typing reserved height fix */
.entopy-quote-will-type .entopy-quote-content{
  min-height: var(--typing-area-min-height, 0px);
}

.entopy-quote-will-type .entopy-quote-text{
  min-height: var(--typing-area-min-height, 0px);
}


/* v1.1.3 Typing reserved height UI fix */
.entopy-quote-will-type .entopy-quote-content,
.entopy-quote-will-type .entopy-quote-text{
  min-height: var(--typing-area-min-height, 0px);
}
