.reviews-page{
    padding:34px 0 48px;
}

.reviews-hero{
    width:min(100%, 1180px);
    margin:0 auto 28px;
    padding:38px 42px;
    border-radius:34px;
    background:linear-gradient(180deg, rgba(151,165,95,.78), rgba(125,139,70,.7));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 22px 38px rgba(42,52,16,.16);
}

.reviews-page-title{
    font-family:'Oswald', sans-serif;
    font-size:78px;
    line-height:.92;
    font-weight:500;
    text-transform:uppercase;
    color:#f4f0e0;
}

.reviews-page-script{
    margin-top:-8px;
    font-family:'Bickham Script Pro', 'Times New Roman', serif;
    font-size:76px;
    line-height:.95;
    color:#ece0b1;
}

.reviews-page-lead{
    max-width:720px;
    margin:22px 0 0;
    font-size:18px;
    line-height:1.55;
    color:#f4f0e0;
}

.reviews-page-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    height:54px;
    margin-top:26px;
    padding:0 26px;
    border-radius:999px;
    background:#f0b90e;
    color:#4f561d;
    font-family:'Oswald', sans-serif;
    font-size:22px;
    text-transform:uppercase;
    text-decoration:none;
    box-shadow:0 14px 26px rgba(44,54,16,.14);
}

.reviews-list{
    width:min(100%, 1180px);
    margin:0 auto 34px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
    align-items:start;
}

.reviews-item{
    padding:28px 28px 30px;
    border-radius:28px;
    background:#8d9a5f;
    border:1px solid rgba(255,255,255,.18);
    color:#f3efdf;
    box-shadow:0 18px 34px rgba(52,61,21,.14);
    display:flex;
    flex-direction:column;
}

.reviews-item-top{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:16px;
}

.reviews-avatar{
    width:68px;
    height:68px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, #f6d75f, #d8a60a);
    color:#4d531c;
    font-family:'Oswald', sans-serif;
    font-size:26px;
    font-weight:500;
    flex:0 0 auto;
}

.reviews-name{
    font-family:'Oswald', sans-serif;
    font-size:36px;
    line-height:1;
    color:#fff7dc;
}

.reviews-role{
    margin-top:4px;
    font-size:18px;
    color:rgba(244,240,224,.88);
}

.reviews-rating{
    margin-bottom:16px;
    color:#f0b90e;
    font-size:22px;
    letter-spacing:2px;
}

.reviews-rating span{
    margin-left:8px;
    color:#f4f0e0;
    letter-spacing:0;
    font-size:16px;
}

.reviews-copy-wrap{
    min-height:230px;
}

.reviews-copy{
    font-size:19px;
    line-height:1.7;
    color:#f4f0e0;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:7;
    overflow:hidden;
}

.reviews-item.is-expanded .reviews-copy{
    display:block;
    overflow:visible;
}

.reviews-toggle{
    margin-top:18px;
    align-self:flex-start;
    min-width:210px;
    height:52px;
    padding:0 24px;
    border:none;
    border-radius:999px;
    background:#f0b90e;
    color:#4f561d;
    font-family:'Oswald', sans-serif;
    font-size:20px;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 14px 24px rgba(44,54,16,.14);
    transition:transform .2s ease, box-shadow .2s ease;
}

.reviews-toggle:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 30px rgba(44,54,16,.2);
}

.reviews-toggle[hidden]{
    display:none !important;
}

.reviews-page + .footer,
.footer{
    margin-top:26px;
    background:rgba(148,160,98,.56);
    border-radius:24px;
    padding:42px 38px;
    display:grid;
    grid-template-columns:1.5fr 1fr 1.15fr 1fr;
    gap:32px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 18px 34px rgba(52,61,21,.14);
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.footer-brand-name{
    color:#f0b90e;
    font-family:'Oswald',sans-serif;
    font-size:24px;
    font-weight:500;
    text-transform:uppercase;
    line-height:1;
}

.footer-about{
    font-size:18px;
    line-height:1.45;
    color:#f1ecd8;
    max-width:330px;
    margin-bottom:28px;
}

.footer-socials{
    display:flex;
    gap:12px;
}

.footer-socials a{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#f0b90e;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    text-decoration:none;
}

.footer-title{
    color:#f0b90e;
    font-size:18px;
    font-weight:700;
    margin-bottom:18px;
}

.footer-links{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.footer-links li,
.footer-links a{
    color:#f1ecd8;
    font-size:18px;
    line-height:1.3;
    text-decoration:none;
}

@media (max-width: 1024px){
    .reviews-page-title{
        font-size:58px;
    }

    .reviews-page-script{
        font-size:56px;
    }

    .footer{
        grid-template-columns:1fr 1fr;
    }

    .reviews-list{
        grid-template-columns:1fr;
    }
}

@media (max-width: 768px){
    .reviews-page{
        padding:24px 0 36px;
    }

    .reviews-hero,
    .reviews-list{
        width:min(100%, 100%);
    }

    .reviews-hero{
        padding:28px 22px;
        border-radius:24px;
    }

    .reviews-page-title{
        font-size:42px;
    }

    .reviews-page-script{
        margin-top:0;
        font-size:42px;
    }

    .reviews-page-lead,
    .reviews-copy{
        font-size:16px;
    }

    .reviews-copy-wrap{
        min-height:0;
    }

    .reviews-item{
        padding:22px 20px 24px;
        border-radius:22px;
    }

    .reviews-name{
        font-size:28px;
    }

    .reviews-role{
        font-size:16px;
    }

    .reviews-toggle{
        min-width:190px;
        height:48px;
        font-size:18px;
    }

    .footer{
        grid-template-columns:1fr;
        padding:24px 20px;
        gap:22px;
    }

    .footer-brand-name{
        font-size:20px;
    }

    .footer-about,
    .footer-links li,
    .footer-links a{
        font-size:14px;
    }
}
