.hero {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--soft-beige);
    text-align: center;
}
.hero-content { width: 100%; }
.hero-title {
    font-family: var(--font-heading);
    font-size: clamp(3rem, 9vw, 6.5rem);
    color: var(--dark-green);
    line-height: 1.1;
    font-weight: 700;
}
.hero-title .line { overflow: hidden; }
.hero-title span { display: inline-block; }
.hero-subtitle {
    font-size: 1.3rem; color: var(--text-color);
    margin: 2rem auto 3rem; max-width: 600px;
}
.info-section { padding: 8rem 0; }
.info-section.alt-bg { background: #f7f5e9; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5rem; }
.info-grid.reverse .info-image { grid-column: 2; grid-row: 1; }
.info-grid.reverse .info-text { grid-column: 1; grid-row: 1; }
.info-image { overflow: hidden; border-radius: 16px; }
.info-image img {
    width: 100%; display: block; border-radius: 16px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.info-image:hover img { transform: scale(1.05); }
.info-text h3 { font-family: var(--font-heading); color: var(--dark-green); margin-bottom: 1.5rem; font-size: 2rem; }
.info-text p { margin-bottom: 1.5rem; max-width: 500px; }
.info-text ul { list-style: none; padding: 0; }
.info-text li { margin-bottom: 1rem; padding-left: 2rem; position: relative; }
.info-text li::before {
    content: '✓'; color: var(--primary-green);
    position: absolute; left: 0; font-weight: bold; font-size: 1.2rem;
}
@media (max-width: 768px) {
    .info-grid, .info-grid.reverse { grid-template-columns: 1fr; }
    .info-grid.reverse .info-image { grid-column: 1; grid-row: auto;}
    .info-image { margin-bottom: 3rem; }
}