.elementor-24 .elementor-element.elementor-element-8f7dacb{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-3c2b653 */.reviews-section {
      width: min(100% - 32px, 1120px);
      margin: 0 auto;
      padding: clamp(42px, 8vw, 92px) 0;
    }

    .reviews-shell {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(217, 238, 238, .95);
      border-radius: var(--radius-xl);
      background: rgba(255, 255, 255, .72);
      box-shadow: var(--shadow);
      isolation: isolate;
    }

    .reviews-shell::before,
    .reviews-shell::after {
      position: absolute;
      z-index: -1;
      width: 180px;
      height: 180px;
      border-radius: 50%;
      background: rgba(34, 211, 238, .12);
      content: "";
      filter: blur(2px);
    }

    .reviews-shell::before { top: -80px; right: -60px; }
    .reviews-shell::after { bottom: -110px; left: -60px; background: rgba(22, 163, 106, .09); }

    .reviews-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      padding: clamp(25px, 5vw, 48px) clamp(22px, 6vw, 66px) 16px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
      color: var(--primary);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .02em;
    }

    .eyebrow::before {
      width: 26px;
      height: 3px;
      border-radius: 10px;
      background: var(--accent);
      content: "";
    }

    h1 {
      max-width: 560px;
      margin: 0;
      color: var(--primary-deep);
      font-size: clamp(1.55rem, 3.4vw, 2.6rem);
      line-height: 1.35;
      letter-spacing: -.035em;
    }

    .rating-summary {
      display: flex;
      flex-shrink: 0;
      align-items: center;
      gap: 11px;
      padding: 11px 15px;
      border: 1px solid var(--line);
      border-radius: 15px;
      background: rgba(255, 255, 255, .8);
      color: var(--muted);
      font-size: .78rem;
      white-space: nowrap;
    }

    .rating-summary strong {
      color: var(--ink);
      font-size: 1.2rem;
      line-height: 1;
    }

    .star-icon { width: 17px; height: 17px; color: #e29d22; }

    .slider {
      position: relative;
      min-height: 318px;
      margin: 0 clamp(15px, 5vw, 52px);
    }

    .slide {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      padding: 26px clamp(21px, 5vw, 54px);
      opacity: 0;
      visibility: hidden;
      transform: translateX(100%);
      transition: transform .56s var(--ease), opacity .36s ease, visibility 0s linear .56s;
      pointer-events: none;
    }

    .slide.is-active,
    .slide.is-entering,
    .slide.is-leaving {
      visibility: visible;
    }

    .slide.is-active {
      opacity: 1;
      transform: translateX(0);
      transition-delay: 0s;
      pointer-events: auto;
    }

    .slide.is-leaving { opacity: 0; transform: translateX(-100%); }
    .slide.is-entering { opacity: 1; transform: translateX(0); pointer-events: auto; }
    .slide.is-entering.from-left { transform: translateX(-100%); }
    .slide.is-leaving.to-right { transform: translateX(100%); }

    .review-card {
      position: relative;
      width: 100%;
      padding: clamp(23px, 4vw, 38px);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      background: var(--surface);
      box-shadow: 0 10px 30px rgba(12, 93, 103, .07);
    }

    .quote-mark {
      position: absolute;
      top: 18px;
      left: 26px;
      width: 45px;
      height: 45px;
      color: rgba(8, 127, 140, .12);
    }

    .review-topline {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 20px;
    }

    .reviewer {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .avatar {
      display: grid;
      flex: 0 0 42px;
      place-items: center;
      width: 42px;
      height: 42px;
      border-radius: 14px;
      background: linear-gradient(145deg, var(--primary), var(--primary-deep));
      color: #fff;
      font-size: .95rem;
      font-weight: 700;
    }

    .reviewer-name {
      overflow: hidden;
      margin: 0;
      color: var(--ink);
      font-size: .94rem;
      font-weight: 700;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .source {
      margin: 2px 0 0;
      color: var(--muted);
      font-size: .72rem;
    }

    .stars {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      color: #e29d22;
      direction: ltr;
    }

    .stars svg { width: 14px; height: 14px; fill: currentColor; }

    .review-text {
      max-width: 820px;
      margin: 0;
      color: #274c54;
      font-size: clamp(.94rem, 1.5vw, 1.1rem);
      line-height: 2.05;
    }

    .service {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      max-width: 100%;
      margin-top: 23px;
      padding: 7px 12px;
      border-radius: 999px;
      background: var(--surface-soft);
      color: var(--primary-deep);
      font-size: .75rem;
      font-weight: 700;
    }

    .service svg { width: 15px; height: 15px; flex: 0 0 auto; }

    .slider-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 11px clamp(22px, 6vw, 66px) clamp(25px, 5vw, 44px);
    }

    .controls { display: flex; align-items: center; gap: 8px; }

    .control-button {
      display: grid;
      place-items: center;
      width: 46px;
      height: 46px;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: var(--surface);
      color: var(--primary-deep);
      cursor: pointer;
      transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    }

    .control-button:hover { border-color: var(--primary); background: var(--primary); color: #fff; transform: translateY(-2px); }
    .control-button:focus-visible { outline: 3px solid rgba(8, 127, 140, .25); outline-offset: 3px; }
    .control-button svg { width: 20px; height: 20px; }

    .dots {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      max-width: 70%;
      direction: ltr;
    }

    .dot {
      width: 7px;
      height: 7px;
      padding: 0;
      border: 0;
      border-radius: 999px;
      background: #b9d8dc;
      cursor: pointer;
      transition: width .25s ease, background .25s ease;
    }

    .dot.is-active { width: 25px; background: var(--primary); }
    .dot:focus-visible { outline: 3px solid rgba(8, 127, 140, .25); outline-offset: 3px; }

    .progress {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 3px;
      overflow: hidden;
      background: rgba(8, 127, 140, .08);
    }

    .progress-bar {
      width: 0;
      height: 100%;
      background: linear-gradient(90deg, var(--accent), var(--primary));
    }

    .progress-bar.is-running { animation: progress 5.2s linear forwards; }

    @keyframes progress { from { width: 0; } to { width: 100%; } }

    @media (max-width: 640px) {
      .reviews-section { width: min(100% - 20px, 1120px); padding: 25px 0; }
      .reviews-shell { border-radius: 22px; }
      .reviews-header { display: block; padding: 25px 20px 9px; }
      .rating-summary { width: fit-content; margin-top: 17px; }
      .slider { min-height: 455px; margin: 0 10px; }
      .slide { padding: 15px 10px 23px; }
      .review-card { padding: 23px 18px; }
      .quote-mark { top: 15px; left: 16px; }
      .review-topline { align-items: flex-start; margin-bottom: 17px; }
      .stars { gap: 1px; }
      .stars svg { width: 12px; height: 12px; }
      .review-text { font-size: .92rem; line-height: 2; }
      .service { align-items: flex-start; border-radius: 13px; line-height: 1.65; }
      .slider-footer { padding: 8px 20px 29px; }
      .dots { gap: 4px; }
      .dot:not(.is-active) { width: 5px; height: 5px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    }/* End custom CSS */