/* Start custom CSS *//* ===== Keeping it human: floating quotes ===== */
/* IDs: container 7f81d15, copy stack 88f2e48, quote layer dbb2d9b */

/* Container: center the copy */
.elementor .e-con[data-interaction-id="7f81d15"] {
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 680px;
  padding-top: 96px;
  padding-bottom: 112px;
}

/* Copy stack: centered, above the quotes */
.elementor .e-con[data-interaction-id="88f2e48"] {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 100%;
  max-width: 560px;
  align-items: center;
  text-align: center;
}
.elementor .e-con[data-interaction-id="88f2e48"] :is(p, h2) { text-align: center; }
/* soft white halo so drifting quotes never fight the copy */
.elementor .e-con[data-interaction-id="88f2e48"]::before {
  content: "";
  position: absolute;
  inset: -48px -64px;
  z-index: -1;
  background: radial-gradient(closest-side, #fff 62%, rgba(255,255,255,0));
  pointer-events: none;
}

/* Quote layer (desktop) */
@media (min-width: 1025px) {
  .elementor .e-con[data-interaction-id="dbb2d9b"] {
    position: absolute;
    inset: 0;
    align-self: stretch;
    justify-self: stretch;
    height: auto;
    z-index: 1;
    display: block;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }
  body:not(.elementor-editor-active) .elementor .e-con[data-interaction-id="dbb2d9b"] { pointer-events: none; }

  /* hide label + dividers on desktop */
  .elementor .e-con[data-interaction-id="dbb2d9b"] p:not(.lm-quote) { display: none; }

  .elementor .e-con[data-interaction-id="dbb2d9b"] p.lm-quote {
    position: absolute;
    margin: 0;
    padding: 0;
    border: 0;
    max-width: min(260px, calc((100% - 600px) / 2 - 24px));
    font-family: "Space Mono", monospace;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0;
    color: #1B3F8B;
    opacity: .3;
    animation: lm-drift-a 28s ease-in-out infinite alternate;
    will-change: transform;
  }

  .elementor p.lm-quote[data-interaction-id="9994b47"] { top: 12%;  left: 4%;  animation-name: lm-drift-a; animation-duration: 26s; }
  .elementor p.lm-quote[data-interaction-id="cfe13ac"] { top: 7%;   right: 6%; animation-name: lm-drift-b; animation-duration: 34s; animation-delay: -8s; }
  .elementor p.lm-quote[data-interaction-id="f28080c"] { top: 47%;  left: 24px;   animation-name: lm-drift-c; animation-duration: 30s; animation-delay: -14s; }
  .elementor p.lm-quote[data-interaction-id="8ad2ecb"] { top: 40%;  right: 24px; animation-name: lm-drift-b; animation-duration: 24s; animation-delay: -5s; }
  .elementor p.lm-quote[data-interaction-id="d704112"] { bottom: 9%; left: 9%; animation-name: lm-drift-b; animation-duration: 38s; animation-delay: -19s; }
  .elementor p.lm-quote[data-interaction-id="fb2dd4e"] { bottom: 13%; right: 8%; animation-name: lm-drift-a; animation-duration: 32s; animation-delay: -11s; }
}

@keyframes lm-drift-a { from { transform: translate(0, 0); } to { transform: translate(10px, -14px); } }
@keyframes lm-drift-b { from { transform: translate(0, 0); } to { transform: translate(-12px, 10px); } }
@keyframes lm-drift-c { from { transform: translate(0, 0); } to { transform: translate(14px, 8px); } }

@media (prefers-reduced-motion: reduce) {
  .elementor .e-con[data-interaction-id="dbb2d9b"] p.lm-quote { animation: none; }
}

/* Tablet + mobile: quiet list below the copy */
@media (max-width: 1024px) {
  .elementor .e-con[data-interaction-id="7f81d15"] { min-height: 0; padding-top: 64px; padding-bottom: 72px; }
  .elementor .e-con[data-interaction-id="88f2e48"]::before { display: none; }
  .elementor .e-con[data-interaction-id="dbb2d9b"] {
    width: 100%;
    max-width: 560px;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    align-items: center;
    text-align: center;
  }
  .elementor .e-con[data-interaction-id="dbb2d9b"] p.lm-quote {
    padding: 10px 0;
    font-family: "Space Mono", monospace;
    font-size: 15px;
    line-height: 1.5;
    color: #1B3F8B;
    opacity: .6;
    text-align: center;
    border: 0;
  }
  .elementor .e-con[data-interaction-id="dbb2d9b"] p:not(.lm-quote):not(.lm-eyebrow) { display: none; }
  .elementor .e-con[data-interaction-id="dbb2d9b"] p.lm-eyebrow { text-align: center; opacity: .7; padding: 0 0 8px; border: 0; }
}/* End custom CSS */