*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;font-family:Inter,Arial,sans-serif;background:#fff}
body{overflow-x:hidden}

.testimonials-section{
    --blue:#0878ed;
    --dark:#092f70;
    --muted:#5c769f;
    position:relative;
    width:100%;
    height:400px;
    min-height:400px;
    max-height:400px;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 18%,rgba(255,255,255,.98) 0 28%,rgba(245,251,255,.94) 60%,rgba(228,244,255,.98) 100%);
    color:var(--dark);
}

.bg-blob{
    position:absolute;
    pointer-events:none;
    border-radius:50%;
    background:rgba(181,222,251,.35);
}
.blob-left{width:430px;height:270px;left:-100px;top:-150px}
.blob-right{width:420px;height:270px;right:-100px;top:-80px}

.dot-pattern{
    position:absolute;
    width:105px;height:90px;
    opacity:.45;
    background-image:radial-gradient(#79c7ff 1.4px,transparent 1.4px);
    background-size:12px 12px;
}
.dots-left{left:-10px;top:205px}
.dots-right{right:-8px;bottom:10px}

.testimonial-header{
    position:relative;
    z-index:5;
    height:150px;
    padding-top:10px;
    text-align:center;
}
.kicker{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:13px;
    color:#496b9a;
    font-size:10px;
    font-weight:600;
    letter-spacing:4px;
}
.kicker span{width:70px;height:1px;background:#72b8f6}
.testimonial-header h1{
    margin:13px 0 3px;
    color:var(--dark);
    font-size:56px;
    line-height:1;
    font-weight:800;
    letter-spacing:-2.8px;
}
.testimonial-header h1 em{
    color:var(--blue);
    font-style:normal;
}
.testimonial-header p{
    margin:8px 0 0;
    color:#5e769d;
    font-size:22px;
    line-height:1.1;
    font-weight:500;
}
.header-marker{
    position:relative;
    width:115px;
    height:12px;
    margin:9px auto 0;
}
.header-marker:before{
    content:"";
    position:absolute;
    top:5px;left:0;right:0;
    height:1px;background:#b9d9f6;
}
.header-marker i{
    position:absolute;
    left:50%;top:0;
    width:11px;height:11px;
    transform:translateX(-50%);
    border-radius:50%;
    background:var(--blue);
    box-shadow:0 0 0 4px rgba(8,120,237,.10);
}

.hand-text{
    position:absolute;
    color:#092f70;
    font-family:"Pacifico",cursive;
    font-size:19px;
    line-height:1.25;
    text-align:left;
}
.hand-text small{font-size:16px}
.hand-left{left:43px;top:25px}
.hand-right{right:35px;top:21px;text-align:left}

.slider-area{
    position:relative;
    z-index:6;
    width:100%;
    height:205px;
    padding:0 38px;
}
.slider-controls{
    position:absolute;
    z-index:30;
    left:38px;
    right:38px;
    top:0;
    height:198px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    pointer-events:none;
}
.slider-arrow{
    width:43px;height:43px;
    flex:0 0 43px;
    border:0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    background:#fff;
    color:var(--blue);
    box-shadow:0 4px 15px rgba(19,91,155,.18);
    font-size:20px;
    pointer-events:auto;
    transition:transform .2s,background .2s,color .2s,opacity .2s;
}
.slider-arrow:hover{transform:scale(1.06);background:var(--blue);color:#fff}
.slider-arrow:disabled{opacity:.48;cursor:not-allowed;transform:none}

.testimonial-viewport{
    width:100%;
    height:205px;
    overflow:hidden;
}
.testimonial-track{
    height:100%;
    display:flex;
    gap:16px;
    will-change:transform;
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
.testimonial-card{
    flex:0 0 calc((100% - 48px)/4);
    min-width:0;
    height:198px;
    padding:17px 18px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.9);
    border-radius:17px;
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,252,255,.94));
    box-shadow:0 5px 22px rgba(36,104,160,.10);
}
.testimonial-card:after{
    content:"";
    position:absolute;
    width:155px;height:155px;
    right:-55px;bottom:-80px;
    border-radius:50%;
    background:rgba(216,237,253,.55);
}
.quote-icon{
    position:absolute;
    left:16px;top:12px;
    width:48px;height:48px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    background:#e5f3ff;
    color:var(--blue);
    font-family:Georgia,serif;
    font-size:48px;
    font-weight:700;
    line-height:1;
    padding-top:10px;
}
.card-body-custom{
    position:relative;
    z-index:2;
    height:100%;
    padding-left:58px;
}
.testimonial-text{
    margin:3px 0 13px;
    color:#173e78;
    font-size:13px;
    line-height:1.42;
    font-weight:500;
    min-height:73px;
}
.client-row{
    display:flex;
    align-items:center;
    gap:12px;
}
.client-photo{
    width:66px;height:66px;
    flex:0 0 66px;
    border-radius:50%;
    object-fit:cover;
    object-position:center;
    border:3px solid #edf5fa;
    background:#edf5fa;
}
.avatar-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,#0a76e9,#0a3d8a);
    font-size:18px;
    font-weight:800;
}
.client-info{min-width:0}
.stars{
    color:#ffad00;
    font-size:17px;
    line-height:1;
    letter-spacing:1px;
    margin-bottom:5px;
}
.client-info h3{
    margin:0 0 3px;
    color:#123a78;
    font-size:17px;
    line-height:1.1;
    font-weight:800;
}
.client-info span{
    color:#7187a8;
    font-size:12px;
    line-height:1.1;
}

.trust-strip{
    position:absolute;
    z-index:8;
    left:50%;
    bottom:10px;
    transform:translateX(-50%);
    width:min(980px,calc(100% - 180px));
    height:45px;
    border-radius:0;
    background:rgba(255,255,255,.92);
    box-shadow:0 4px 20px rgba(36,104,160,.08);
    display:flex;
    align-items:center;
    justify-content:space-around;
    padding:0 15px;
}
.trust-item{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    color:#123a78;
}
.trust-item i{
    color:var(--blue);
    font-size:21px;
}
.trust-item span{
    font-size:10px;
    line-height:1.15;
}
.trust-item b{font-weight:700}
.trust-divider{
    width:1px;height:28px;background:#9fc9f2;
}

/* Desktop: 4 cards */
@media (min-width:1200px){
    .testimonial-track{transform:translateX(calc(var(--slide,0) * -1 * (25% + 4px)))}
}

/* Tablet */
@media (min-width:768px) and (max-width:1199.98px){
    .testimonial-header h1{font-size:48px}
    .testimonial-header p{font-size:19px}
    .hand-text{display:none}
    .slider-area{padding:0 25px}
    .testimonial-card{flex-basis:calc((100% - 32px)/3)}
    .trust-strip{width:calc(100% - 70px)}
}

/* Mobile: exactly 2 cards */
@media (max-width:767.98px){
    .testimonials-section{
        height:400px;
        min-height:400px;
        max-height:400px;
    }
    .testimonial-header{
        height:128px;
        padding-top:8px;
    }
    .kicker{font-size:7px;letter-spacing:2.6px;gap:7px}
    .kicker span{width:38px}
    .testimonial-header h1{
        margin-top:10px;
        font-size:31px;
        letter-spacing:-1.4px;
    }
    .testimonial-header p{
        margin-top:5px;
        font-size:12px;
    }
    .header-marker{width:80px;margin-top:7px}
    .hand-text{display:none}

    .slider-area{
        height:210px;
        padding:0 10px;
    }
    .slider-controls{
        left:10px;
        right:10px;
        top:0;
        height:198px;
    }
    .slider-arrow{
        width:36px;height:36px;
        flex-basis:36px;
        font-size:15px;
    }
    .testimonial-viewport{height:205px}
    .testimonial-track{gap:8px}
    .testimonial-card{
        flex:0 0 calc((100% - 8px)/2);
        height:198px;
        padding:11px 9px;
        border-radius:14px;
    }
    .quote-icon{
        left:7px;top:9px;
        width:36px;height:36px;
        font-size:37px;
        padding-top:8px;
    }
    .card-body-custom{padding-left:42px}
    .testimonial-text{
        margin:2px 0 9px;
        min-height:79px;
        font-size:8.4px;
        line-height:1.34;
    }
    .client-row{gap:6px}
    .client-photo{
        width:46px;height:46px;
        flex-basis:46px;
        border-width:2px;
    }
    .stars{
        font-size:9px;
        letter-spacing:.4px;
        margin-bottom:3px;
    }
    .client-info h3{
        font-size:10px;
        line-height:1.08;
        margin-bottom:2px;
    }
    .client-info span{font-size:8px}

    .trust-strip{
        bottom:9px;
        width:calc(100% - 16px);
        height:48px;
        padding:2px 3px;
        border-radius:9px;
    }
    .trust-item{gap:3px}
    .trust-item i{font-size:14px}
    .trust-item span{font-size:6.4px}
    .trust-divider{height:25px}
    .blob-left{width:260px;height:200px;left:-115px;top:-80px}
    .blob-right{width:260px;height:200px;right:-120px;top:80px}
    .dot-pattern{width:65px;height:65px;background-size:9px 9px}
    .dots-left{top:200px}
    .dots-right{bottom:65px}
}

/* Small phones */
@media (max-width:380px){
    .testimonial-header h1{font-size:28px}
    .testimonial-header p{font-size:11px}
    .testimonial-text{font-size:7.8px}
    .client-photo{width:42px;height:42px;flex-basis:42px}
    .client-info h3{font-size:9px}
    .client-info span{font-size:7px}
}
