.fp-solutions {
padding: 64px 0;
background: linear-gradient(to bottom, #ffffff, #f8fafb, #ffffff);
} .fp-solutions__header {
text-align: center;
margin-bottom: 40px;
}
.fp-solutions__title {
font-size: 26px;
color: var(--fp-text-dark);
margin: 0 0 8px;
font-weight: 700;
text-align: center;
}
.fp-solutions__subtitle {
font-size: 16px;
color: var(--fp-text-muted);
margin: 0;
text-align: center;
} .fp-solutions__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
} .fp-solutions__card {
display: flex;
flex-direction: column;
text-decoration: none;
border-radius: var(--fp-radius-lg);
overflow: hidden;
background: #ffffff;
box-shadow: var(--fp-shadow-card);
transition: var(--fp-transition-card);
}
.fp-solutions__card:hover {
transform: translateY(-4px);
box-shadow: var(--fp-shadow-card-hover);
} .fp-solutions__image {
position: relative;
aspect-ratio: 16 / 9;
overflow: hidden;
}
.fp-solutions__image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.fp-solutions__card:hover .fp-solutions__image img {
transform: scale(1.05);
} .fp-solutions__image-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(0, 32, 64, 0.9), rgba(0, 32, 64, 0.5), transparent);
} .fp-solutions__image-content {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 24px;
color: #ffffff;
}
.fp-solutions__card-title {
font-size: 24px;
text-align: center;
margin: 0 0 12px;
line-height: 1.3;
}
.fp-solutions__divider {
width: 48px;
height: 2px;
background: #CCFF00;
} .fp-solutions__desc {
padding: 16px;
min-height: 128px;
flex: 1;
display: flex;
align-items: flex-start;
justify-content: flex-start;
}
.fp-solutions__desc p {
font-size: 14px;
color: #364153;
margin: 0;
text-align: left;
} .fp-solutions__image--placeholder {
background: #e5e7eb;
display: flex;
align-items: center;
justify-content: center;
color: #9ca3af;
} @media only screen and (max-width: 640px) {
.fp-solutions__grid {
grid-template-columns: 1fr;
}
.fp-solutions__card-title {
font-size: 20px;
}
}