.testimonials{

    padding-block:5rem;

}

.testimonials-wall{

    columns:3;

    column-gap:1.75rem;

}

@media (max-width:900px){

    .testimonials-wall{

        columns:2;

    }

}

@media (max-width:600px){

    .testimonials-wall{

        columns:1;

    }

}

.testimonial-pin{

    break-inside:avoid;

    -webkit-column-break-inside:avoid;

    margin-bottom:1.75rem;

    transform:rotate(var(--rot,0deg));

    transition:transform .35s ease;

}

.testimonial-pin:hover{

    transform:rotate(0deg) scale(1.035) translateY(-3px);

    z-index:5;

}

.testimonial-card{

    position:relative;

    display:block;

    width:100%;

    background-color:var(--color-surface);

    background-image:

        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.55  0 0 0 0 0.47  0 0 0 0 0.3  0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

    background-size:90px 90px;

    border-radius:var(--radius-md);

    box-shadow:var(--shadow-soft);

    overflow:hidden;

    transition:box-shadow .35s ease;

}

.testimonial-pin:hover .testimonial-card{

    box-shadow:0 22px 48px rgba(0,0,0,.16);

}

.testimonial-badge{

    position:absolute;

    top:.9rem;

    left:.9rem;

    z-index:2;

    font-family:"Manrope",sans-serif;

    font-size:.68rem;

    font-weight:700;

    letter-spacing:.04em;

    text-transform:uppercase;

    color:#FFFFFF;

    background:rgba(11,31,51,.55);

    backdrop-filter:blur(4px);

    padding:.3rem .65rem;

    border-radius:999px;

}

.testimonial-meta{

    display:flex;

    align-items:center;

    gap:.75rem;

    padding:1.1rem 1.5rem 1.5rem;

}

.testimonial-avatar{

    position:relative;

    width:40px;

    height:40px;

    border-radius:50%;

    overflow:hidden;

    background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));

    flex-shrink:0;

}

.testimonial-avatar img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.testimonial-name{

    font-family:"Manrope",sans-serif;

    font-weight:700;

    font-size:.88rem;

    color:var(--color-title);

}

/* ---------- Текст ---------- */

.testimonial-text{

    padding:2.5rem 1.75rem 0;

}

.testimonial-quote-mark{

    display:block;

    font-family:"Cormorant Garamond",serif;

    font-size:4rem;

    line-height:1;

    color:var(--gold-mid);

    opacity:.45;

    margin-bottom:-.75rem;

}

.testimonial-text-body{

    font-family:"Cormorant Garamond",serif;

    font-weight:600;

    font-size:1.4rem;

    line-height:1.4;

    color:var(--color-title);

    margin-bottom:1.25rem;

}

/* ---------- Видео ---------- */

.testimonial-video{

    padding:0;

}

.testimonial-video-frame{

    position:relative;

    aspect-ratio:4/3;

    overflow:hidden;

    background:linear-gradient(135deg,var(--gold-light),var(--gold-mid) 60%,var(--gold-deep));

}

.testimonial-video-frame video{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    animation:kenBurns 14s ease-in-out infinite alternate;

}

@keyframes kenBurns{

    from{transform:scale(1) translate(0,0);}

    to{transform:scale(1.09) translate(-1.5%,-1.5%);}

}

.testimonial-video-trigger{

    position:absolute;

    inset:0;

    border:none;

    background:transparent;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

}

.testimonial-play-icon{

    width:54px;

    height:54px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.92);

    color:var(--color-primary);

    font-size:1.05rem;

    animation:playPulse 2.6s ease-in-out infinite;

}

@keyframes playPulse{

    0%,100%{transform:scale(1);}

    50%{transform:scale(1.08);}

}

.testimonial-video .testimonial-meta{

    padding-top:1.1rem;

}

/* ---------- Голосовое ---------- */

.testimonial-audio{

    padding:2.25rem 1.5rem 0;

}

.audio-waveform{

    display:flex;

    align-items:flex-end;

    gap:2px;

    height:52px;

    margin-bottom:1rem;

    cursor:pointer;

}

.wave-bar{

    flex:1;

    min-width:2px;

    border-radius:2px;

    background:rgba(212,160,23,.3);

    transform-origin:bottom;

    animation:waveIdle 1.8s ease-in-out infinite;

}

.wave-bar.is-past{

    background:var(--gold-mid);

}

@keyframes waveIdle{

    0%,100%{transform:scaleY(.65);}

    50%{transform:scaleY(1);}

}

.audio-controls{

    display:flex;

    align-items:center;

    gap:.75rem;

    margin-bottom:1.1rem;

}

.audio-play-btn{

    flex-shrink:0;

    width:36px;

    height:36px;

    border:none;

    border-radius:50%;

    background:var(--color-primary);

    color:#FFFFFF;

    font-size:.85rem;

    cursor:pointer;

    transition:background var(--speed-fast) ease;

}

.audio-play-btn:hover{

    background:var(--gold-mid);

}

.audio-time{

    font-family:"Manrope",sans-serif;

    font-size:.75rem;

    color:var(--color-secondary);

}

/* ---------- Лайтбокс ---------- */

.testimonial-lightbox{

    position:fixed;

    inset:0;

    z-index:1000;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(11,31,51,.92);

    opacity:0;

    pointer-events:none;

    transition:opacity var(--speed-normal) ease;

    padding:2rem;

}

.testimonial-lightbox.is-open{

    opacity:1;

    pointer-events:auto;

}

.testimonial-lightbox video{

    max-width:min(90vw,720px);

    max-height:85vh;

    border-radius:var(--radius-sm);

    box-shadow:0 20px 60px rgba(0,0,0,.4);

}

.testimonial-lightbox-close{

    position:absolute;

    top:1.5rem;

    right:1.5rem;

    width:44px;

    height:44px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.1);

    color:#FFFFFF;

    font-size:1.5rem;

    cursor:pointer;

    transition:background var(--speed-fast) ease;

}

.testimonial-lightbox-close:hover{

    background:rgba(255,255,255,.2);

}