.hero { background: linear-gradient(135deg, var(--ivory) 0%, #efe5cf 100%); padding: 70px 0; }
.hero h1 { font-size: 2.6rem; line-height: 1.2; }
.hero .lead { color: #5b4b3c; margin: 18px 0 26px; }
.hero-visual { border-radius: 18px; overflow: hidden; box-shadow: 0 16px 40px rgba(74, 47, 27, .2); aspect-ratio: 4 / 3; background: var(--neutral); }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.hero-ph { font-size: 4rem; }
.gallery-item { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 12px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.gallery-item:hover img { transform: scale(1.07); }
.step-box { background: #fff; border-radius: 14px; padding: 28px 18px; box-shadow: 0 4px 16px rgba(74, 47, 27, .07); height: 100%; }
.step-no { display: inline-flex; width: 48px; height: 48px; border-radius: 50%; background: var(--green); color: #fff; font-weight: 600; align-items: center; justify-content: center; margin-bottom: 12px; }
.accordion-button:not(.collapsed) { background: var(--ivory); color: var(--brown); }
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(47, 107, 58, .15); }
.cta { background: linear-gradient(135deg, var(--green), var(--brown)); color: #fff; padding: 70px 0; }
.cta h2 { color: #fff; }
@media (max-width: 575px) { .hero h1 { font-size: 1.9rem; } .hero { padding: 45px 0; } }.gallery-item { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 12px; }
