.testimonials-section {
position: relative;
width: 100%;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
padding: 7rem 2rem;
} .testimonials-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}
.testimonials-bg-img,
.testimonials-background img {
width: 100%;
height: 100%;
object-fit: cover;
} .testimonials-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.199);
z-index: 2;
} .testimonials-content {
position: relative;
z-index: 3;
max-width: 1400px;
margin: 0 auto;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
} .testimonials-logo-icon {
display: flex;
justify-content: center;
margin-bottom: 2rem;
opacity: 0;
animation: fadeIn 1s ease-out forwards;
flex-shrink: 0;
}
.testimonials-logo-icon img {
max-width: 60px;
height: auto;
} .testimonials-title {
font-family: var(--font-serif, 'Libre Bodoni', serif);
font-size: 2.5rem;
font-weight: 600;
color: var(--color-secondary, #C8102E);
line-height: 1.2;
text-align: center;
margin: 0 0 3rem 0;
opacity: 0;
animation: fadeInUp 1s ease-out 0.2s forwards;
} .testimonial-featured {
max-width: 900px;
text-align: center;
padding: 2rem;
opacity: 0;
animation: fadeInUp 1s ease-out 0.4s forwards;
}
.testimonial-featured-text {
font-family: var(--font-serif, 'Libre Bodoni', serif);
font-size: 1.5rem;
line-height: 1.8;
color: #ffffff;
margin: 0 0 1.5rem 0;
font-style: italic;
}
.testimonial-featured-author {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.testimonial-author-name {
font-family: var(--font-display, 'Prompt', sans-serif);
font-size: 1.1rem;
font-weight: 700;
color: #ffffff;
margin: 0;
}
.testimonial-author-role {
font-family: var(--font-sans, 'Karla', sans-serif);
font-size: 0.95rem;
color: rgba(255, 255, 255, 0.8);
margin: 0;
} .testimonials-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
width: 100%;
opacity: 0;
animation: fadeInUp 1s ease-out 0.6s forwards;
} .testimonial-card {
background-color: rgba(255, 255, 255, 0.95);
padding: 2rem;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
display: flex;
flex-direction: column;
gap: 1.5rem;
opacity: 0;
transform: translateY(20px);
animation: fadeInUp 1s ease-out forwards;
}
.testimonial-card-text {
font-family: var(--font-sans, 'Karla', sans-serif);
font-size: 0.95rem;
line-height: 1.8;
color: var(--color-dark);
margin: 0;
font-style: italic;
flex: 1;
}
.testimonial-card-author {
display: flex;
flex-direction: column;
gap: 0.25rem;
border-top: 2px solid var(--color-primary);
padding-top: 1rem;
}
.testimonial-card-name {
font-family: var(--font-display, 'Prompt', sans-serif);
font-size: 1rem;
font-weight: 700;
color: var(--color-primary);
margin: 0;
}
.testimonial-card-role {
font-family: var(--font-sans, 'Karla', sans-serif);
font-size: 0.85rem;
color: var(--color-dark);
opacity: 0.7;
margin: 0;
} .testimonial-text-wrapper {
overflow: hidden;
max-height: 150px;
transition: max-height 0.4s ease;
}
.testimonial-featured .testimonial-text-wrapper {
max-height: 180px;
}
.testimonial-text-wrapper.expanded {
max-height: 2000px;
}
.testimonial-toggle {
background: none;
border: none;
color: var(--color-secondary, #872D2F);
font-family: var(--font-mono, 'DM Mono', monospace);
font-size: 0.85rem;
cursor: pointer;
padding: 0.5rem 0;
text-transform: uppercase;
letter-spacing: 0.05em;
transition: color 0.3s ease;
display: none;
}
.testimonial-featured .testimonial-toggle {
color: rgba(255, 255, 255, 0.9);
}
.testimonial-featured .testimonial-toggle:hover {
color: #ffffff;
}
.testimonial-toggle:hover {
color: var(--color-primary, #844A34);
}
.testimonial-toggle.visible {
display: inline-block;
} @keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
} @media (max-width: 1024px) {
.testimonials-section {
padding: 5rem 1.5rem;
min-height: auto;
}
.testimonials-title {
font-size: 2rem;
}
.testimonial-featured-text {
font-size: 1.3rem;
}
.testimonials-grid {
gap: 1.5rem;
}
.testimonial-card {
padding: 1.75rem;
}
.testimonial-text-wrapper {
max-height: 180px;
}
}
@media (max-width: 900px) {
.testimonials-grid {
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
} .testimonial-card:last-child {
grid-column: 1 / -1;
max-width: 500px;
margin: 0 auto;
}
}
@media (max-width: 768px) {
.testimonials-section {
padding: 4rem 1rem;
min-height: auto;
}
.testimonials-logo-icon img {
max-width: 50px;
}
.testimonials-title {
font-size: 1.75rem;
margin-bottom: 2rem;
}
.testimonial-featured {
padding: 1.5rem;
}
.testimonial-featured-text {
font-size: 1.15rem;
line-height: 1.7;
}
.testimonial-author-name {
font-size: 1rem;
}
.testimonial-author-role {
font-size: 0.9rem;
}
.testimonials-grid {
grid-template-columns: 1fr;
gap: 1.5rem;
}
.testimonial-card {
padding: 1.5rem;
}
.testimonial-card:last-child {
grid-column: auto;
max-width: none;
}
.testimonial-card-text {
font-size: 0.9rem;
}
.testimonial-card-name {
font-size: 0.95rem;
}
.testimonial-card-role {
font-size: 0.8rem;
}
.testimonial-text-wrapper {
max-height: 200px;
}
}
@media (max-width: 480px) {
.testimonials-section {
padding: 3rem 1rem;
}
.testimonials-logo-icon img {
max-width: 40px;
}
.testimonials-title {
font-size: 1.5rem;
}
.testimonial-featured {
padding: 1rem;
}
.testimonial-featured-text {
font-size: 1rem;
}
.testimonial-author-name {
font-size: 0.95rem;
}
.testimonial-author-role {
font-size: 0.85rem;
}
.testimonials-grid {
gap: 1.25rem;
}
.testimonial-card {
padding: 1.25rem;
gap: 1.25rem;
}
.testimonial-card-text {
font-size: 0.85rem;
line-height: 1.7;
}
}