Redesign services as 2x2 card grid with compact images

Cards have small image at top, text + feature list + CTA below.
Much more compact than full-width alternating rows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 01:33:13 +02:00
parent 6a344445b1
commit 44bbb80082
2 changed files with 106 additions and 148 deletions

112
style.css
View File

@@ -336,41 +336,37 @@ img {
margin-bottom: 28px;
}
/* ---- Services Intro ---- */
.services-intro {
padding: 100px 0 40px;
/* ---- Services ---- */
.services {
padding: 100px 0;
background: var(--bg-alt);
}
/* ---- Service Rows ---- */
.service-row {
padding: 0;
background: var(--bg);
}
.service-row:nth-child(even) {
background: var(--bg-alt);
}
.service-row-inner {
.services-grid {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 500px;
gap: 24px;
}
.service-row-reverse .service-row-inner {
direction: rtl;
.service-card {
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
overflow: hidden;
transition: box-shadow 0.3s, transform 0.2s;
}
.service-row-reverse .service-row-inner > * {
direction: ltr;
.service-card:hover {
box-shadow: 0 12px 40px rgba(0,0,0,0.08);
transform: translateY(-3px);
}
.service-row-image {
.service-card-img {
height: 180px;
overflow: hidden;
}
.service-row-image img {
.service-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
@@ -378,62 +374,51 @@ img {
transition: transform 0.5s ease;
}
.service-row:hover .service-row-image img {
transform: scale(1.03);
.service-card:hover .service-card-img img {
transform: scale(1.05);
}
.service-row-content {
display: flex;
flex-direction: column;
justify-content: center;
padding: 64px 80px;
.service-card-body {
padding: 28px 28px 32px;
}
.service-row-number {
font-size: 0.85rem;
font-weight: 700;
color: var(--orange);
letter-spacing: 0.05em;
margin-bottom: 12px;
}
.service-row-content h2 {
font-size: 2rem;
.service-card-body h3 {
font-size: 1.3rem;
font-weight: 700;
color: var(--dark);
margin-bottom: 16px;
margin-bottom: 10px;
}
.service-row-content p {
font-size: 1.05rem;
.service-card-body p {
font-size: 0.92rem;
color: var(--text-light);
line-height: 1.7;
margin-bottom: 24px;
line-height: 1.65;
margin-bottom: 18px;
}
.service-row-features {
.service-card-features {
list-style: none;
padding: 0;
margin: 0 0 32px;
margin: 0 0 24px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
gap: 8px;
}
.service-row-features li {
font-size: 0.92rem;
.service-card-features li {
font-size: 0.82rem;
color: var(--text);
padding-left: 24px;
padding-left: 20px;
position: relative;
}
.service-row-features li::before {
.service-card-features li::before {
content: '';
position: absolute;
left: 0;
top: 6px;
width: 14px;
height: 14px;
top: 5px;
width: 12px;
height: 12px;
background: var(--orange-light);
border-radius: 50%;
border: 2px solid var(--orange);
@@ -683,28 +668,11 @@ img {
gap: 24px;
}
.service-row-inner {
.services-grid {
grid-template-columns: 1fr;
min-height: auto;
}
.service-row-reverse .service-row-inner {
direction: ltr;
}
.service-row-image {
height: 280px;
}
.service-row-content {
padding: 40px 24px;
}
.service-row-content h2 {
font-size: 1.6rem;
}
.service-row-features {
.service-card-features {
grid-template-columns: 1fr;
}