.section { padding: 80px 0; background: #f4fbf3; } .container { max-width: 1300px; margin: 0 auto; padding: 0 1rem; } .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; } .cardWrapper { position: relative; overflow: hidden; min-height: 420px; border-radius: 32px; box-shadow: 0 22px 60px rgba(15, 79, 47, 0.12); transition: transform 0.35s ease, box-shadow 0.35s ease; } .cardWrapper:hover { transform: translateY(-10px); box-shadow: 0 28px 70px rgba(15, 79, 47, 0.18); } .imageContainer { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; } .imageContainer > span { position: absolute !important; inset: 0; } .cardOverlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 79, 47, 0.72), rgba(15, 79, 47, 0.5)); mix-blend-mode: multiply; } .contentContainer { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 18px; min-height: auto; width: min(85%, 380px); margin: 36px auto; padding: 48px 28px; background: rgba(15, 79, 47, 0.72); border-radius: 28px; border: 1px solid rgba(255, 255, 255, 0.24); box-shadow: 0 20px 60px rgba(15, 79, 47, 0.12); } .contentContainer::before { content: ''; width: 64px; height: 3px; border-radius: 999px; background: rgba(255, 255, 255, 0.9); display: block; margin-bottom: 12px; } .cardLabel { font-family: var(--font-inter), sans-serif; font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); } .title { font-family: var(--font-playfair), Georgia, serif; font-size: clamp(1.65rem, 2.3vw, 2.2rem); font-weight: 700; color: #ffffff; margin: 0; line-height: 1.1; } .description { max-width: 320px; font-family: var(--font-inter), sans-serif; font-size: 1rem; color: rgba(255, 255, 255, 0.92); line-height: 1.8; margin: 0; } .readMore { font-family: var(--font-inter), sans-serif; font-size: 0.95rem; font-weight: 700; color: rgba(255, 255, 255, 0.95); background: rgba(27, 67, 50, 0.96); padding: 12px 26px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.8); text-decoration: none; transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease; } .cardWrapper:hover .readMore { background: #ffffff; color: #1b4332; transform: translateY(-2px); } .cardVariant1 .cardOverlay { background: linear-gradient(180deg, rgba(31, 87, 49, 0.72), rgba(31, 87, 49, 0.55)); } .cardVariant2 .cardOverlay { background: linear-gradient(180deg, rgba(23, 82, 45, 0.76), rgba(23, 82, 45, 0.5)); } .cardVariant3 .cardOverlay { background: linear-gradient(180deg, rgba(15, 79, 47, 0.78), rgba(15, 79, 47, 0.52)); } .cardVariant2 .contentContainer { padding-top: 34px; padding-bottom: 44px; } .cardVariant3 .contentContainer { justify-content: center; } @media (max-width: 1100px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 760px) { .grid { grid-template-columns: 1fr; } .cardWrapper { min-height: 360px; } } @media (max-width: 767px) { .section { padding: 60px 16px; } }