.process-steps-section {
position: relative;
width: 100%;
background-color: #FBF4E0;
padding: 7rem 2rem;
display: flex;
flex-direction: column;
justify-content: center;
overflow: visible;
} .process-steps-logo-icon {
display: flex;
justify-content: center;
opacity: 0;
animation: fadeIn 1s ease-out forwards;
flex-shrink: 0;
}
.process-steps-logo-icon img {
max-width: 60px;
height: auto;
} .process-title {
margin-top: 2rem;
margin-bottom: 4rem;
font-family: var(--font-serif, 'Libre Bodoni', serif);
font-size: 2rem;
font-weight: 700;
color: var(--color-primary);
text-align: center;
text-transform: uppercase;
opacity: 0;
animation: fadeInUp 1s ease-out 0.2s forwards;
} .process-steps-grid {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 3rem 2rem;
flex: 1;
} .process-step-item {
position: relative;
display: flex;
flex-direction: row;
gap: 1rem;
align-items: flex-start;
opacity: 0;
transform: translateY(20px);
animation: fadeInUp 1s ease-out forwards;
} .process-step-image {
position: relative;
flex-shrink: 0;
width: 130px;
height: 130px;
overflow: visible;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
} .step-number {
position: absolute;
top: -12px;
left: -12px;
width: 40px;
height: 40px;
background-color: var(--color-primary, #844A34);
border-radius: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
box-shadow: 0 3px 10px rgba(132, 74, 52, 0.5);
font-family: var(--font-display, 'Prompt', sans-serif);
font-size: 1.2rem;
font-weight: 700;
color: #fff;
line-height: 1;
} .process-step-item:nth-child(1)::after,
.process-step-item:nth-child(2)::after,
.process-step-item:nth-child(4)::after,
.process-step-item:nth-child(5)::after {
content: '';
position: absolute;
left: 150px;
bottom: 19%;
width: calc(100% - 100px);
height: 3px;
background-color: var(--color-primary, #844A34);
z-index: 1;
} .process-step-item:nth-child(3)::before {
content: '';
position: absolute;
left: 53px;
top: 130px;
width: 3px;
height: calc(100% + 3rem - 100px);
background-color: var(--color-primary, #844A34);
z-index: 1;
}
.step-img,
.process-step-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.process-step-item:hover .step-img,
.process-step-item:hover .process-step-image img {
transform: scale(1.05);
} .process-step-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.5rem;
justify-content: flex-start;
} .process-step-title {
font-family: var(--font-display, 'Prompt', sans-serif);
font-size: 0.9rem;
font-weight: 700;
color: var(--color-dark);
text-transform: uppercase;
letter-spacing: 0.05em;
margin: 0;
} .process-step-description {
font-family: var(--font-sans, 'Karla', sans-serif);
font-size: 0.8rem;
line-height: 1.5;
color: var(--color-dark);
opacity: 0.85;
margin: 0;
} @keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
} @media (max-width: 1200px) {
.process-steps-grid {
gap: 2.5rem 1.5rem;
}
.process-step-image {
width: 110px;
height: 110px;
}
.step-number {
width: 36px;
height: 36px;
font-size: 1.1rem;
top: -10px;
left: -10px;
}
.process-step-item:nth-child(1)::after,
.process-step-item:nth-child(2)::after,
.process-step-item:nth-child(4)::after,
.process-step-item:nth-child(5)::after {
left: 110px;
width: calc(100% - 80px);
}
.process-step-item:nth-child(3)::before {
left: 45px;
top: 110px;
height: calc(100% + 2.5rem - 80px);
}
.process-step-title {
font-size: 0.85rem;
}
.process-step-description {
font-size: 0.75rem;
}
} @media (max-width: 1024px) {
.process-steps-section {
padding: 4rem 1.5rem;
}
.process-title {
font-size: 1.75rem;
margin-bottom: 2.5rem;
}
.process-steps-grid {
gap: 2rem 1rem;
}
.process-step-item {
gap: 0.75rem;
}
.process-step-image {
width: 90px;
height: 90px;
}
.step-number {
width: 32px;
height: 32px;
font-size: 1rem;
top: -8px;
left: -8px;
} .process-step-item:nth-child(1)::after,
.process-step-item:nth-child(2)::after,
.process-step-item:nth-child(4)::after,
.process-step-item:nth-child(5)::after {
left: 90px;
width: calc(100% - 60px);
}
.process-step-item:nth-child(3)::before {
left: 37px;
top: 90px;
height: calc(100% + 2rem - 60px);
}
.process-step-title {
font-size: 0.8rem;
}
.process-step-description {
font-size: 0.7rem;
line-height: 1.4;
}
} @media (max-width: 768px) {
.process-steps-section {
padding: 3rem 1rem;
}
.process-steps-logo-icon img {
max-width: 50px;
}
.process-title {
font-size: 1.5rem;
margin-bottom: 2rem;
} .process-steps-grid {
grid-template-columns: 1fr;
gap: 0;
}
.process-step-item {
gap: 1rem;
padding-bottom: 2rem;
padding-left: 20px;
}
.process-step-item:last-child {
padding-bottom: 0;
}
.process-step-image {
width: 100px;
height: 100px;
}
.step-number {
width: 36px;
height: 36px;
font-size: 1.1rem;
top: -10px;
left: -10px;
} .process-step-item::after {
display: none !important;
} .process-step-item:not(:last-child)::before {
content: '';
position: absolute;
left: 38px;
top: 100px;
width: 3px;
height: calc(100% - 70px);
background-color: var(--color-primary, #844A34);
z-index: 1;
}
.process-step-title {
font-size: 1rem;
}
.process-step-description {
font-size: 0.9rem;
line-height: 1.6;
}
} @media (max-width: 480px) {
.process-steps-section {
padding: 2.5rem 1rem;
}
.process-steps-logo-icon img {
max-width: 40px;
}
.process-title {
font-size: 1.25rem;
margin-bottom: 1.75rem;
}
.process-step-item {
gap: 0.75rem;
padding-bottom: 1.5rem;
padding-left: 15px;
}
.process-step-image {
width: 80px;
height: 80px;
}
.step-number {
width: 32px;
height: 32px;
font-size: 1rem;
top: -8px;
left: -8px;
}
.process-step-item:not(:last-child)::before {
left: 30px;
top: 80px;
height: calc(100% - 55px);
}
.process-step-title {
font-size: 0.95rem;
}
.process-step-description {
font-size: 0.85rem;
}
}