.generator-card{
border:1px solid #e9ecef;
border-radius:12px;
overflow:hidden;
background:#fff;
height:100%;
box-shadow:0 4px 15px rgba(0,0,0,.05);
transition:all .3s ease;
}

.generator-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.generator-card img{
width:100%;
aspect-ratio:16/9;
object-fit:cover;
}

.generator-card .card-body{
padding:1.25rem;
}

.generator-card img.generator-type-icon{
width:52px;
height:52px;
aspect-ratio:1;
object-fit:contain;
margin-bottom:12px;
}

.generator-card h2{
font-size:1.15rem;
line-height:1.4;
}

.generator-card p{
color:#555;
}

.content-box{
background:#fff;
border:1px solid #e9ecef;
border-radius:12px;
padding:30px;
}

.step-box{
background:#f8f9fa;
border-radius:10px;
padding:20px;
height:100%;
}

.process-grid,
.benefit-grid{
display:grid;
gap:16px;
}

.process-grid{
grid-template-columns:repeat(5,minmax(0,1fr));
}

.benefit-grid{
grid-template-columns:repeat(4,minmax(0,1fr));
margin-top:24px;
}

.process-item,
.benefit-item{
background:#f8f9fa;
border:1px solid #e9ecef;
border-radius:8px;
padding:18px 14px;
text-align:center;
}

.process-item img,
.benefit-item img{
width:64px;
height:64px;
object-fit:contain;
margin-bottom:12px;
}

.process-item h3,
.benefit-item h3{
font-size:1rem;
line-height:1.35;
}

.hero-image{
border-radius:12px;
box-shadow:0 4px 20px rgba(0,0,0,.08);
}

.policy-box{
background:#fff8e1;
border:1px solid #ffe08a;
border-radius:12px;
color:#5c4100;
line-height:1.8;
padding:18px;
}

@media(max-width:767.98px){

.process-grid,
.benefit-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.content-box{
padding:20px 15px;
}

.generator-card h2{
font-size:1.05rem;
}

}
