:root {
    --mafer-purple: #6f3c87;
    --mafer-purple-dark: #4f285f;
    --mafer-lilac: #f4edf7;
    --mafer-cream: #fcfaf8;
    --mafer-text: #2d2630;
    --mafer-muted: #7b7280;
}

body {
    background: var(--mafer-cream);
    color: var(--mafer-text);
    font-family: Arial, Helvetica, sans-serif;
}

.hero {
    background:
        linear-gradient(rgba(45, 38, 48, 0.35), rgba(45, 38, 48, 0.35)),
        linear-gradient(135deg, #f3e5f8, #fff);
    padding: 120px 0;
    text-align: center;
}

.eyebrow {
    color: var(--mafer-purple);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.hero h1 {
    font-family: Georgia, serif;
    font-size: clamp(2.6rem, 6vw, 5rem);
    margin: 0 auto 20px;
    max-width: 850px;
}

.hero-text {
    color: #5f5364;
    font-size: 1.15rem;
    line-height: 1.8;
    margin: 0 auto 30px;
    max-width: 650px;
}

.btn-mafer,
.btn-package {
    background: var(--mafer-purple);
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    padding: 13px 24px;
    text-decoration: none;
}

.btn-mafer:hover,
.btn-package:hover {
    background: var(--mafer-purple-dark);
    color: #fff;
}

.packages-section {
    padding: 90px 0;
}

.section-heading {
    margin-bottom: 45px;
    text-align: center;
}

.section-heading h2 {
    font-family: Georgia, serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    margin-bottom: 10px;
}

.section-heading p {
    color: var(--mafer-muted);
}

.package-card {
    background: #fff;
    border: 1px solid #eee5f0;
    border-radius: 24px;
    box-shadow: 0 18px 40px rgba(79, 40, 95, 0.08);
    height: 100%;
    overflow: hidden;
}

.package-img {
    height: 260px;
    object-fit: cover;
    width: 100%;
}

.package-body {
    padding: 28px;
}

.package-body h3 {
    font-family: Georgia, serif;
    font-size: 1.6rem;
    margin-bottom: 8px;
}

.subtitle {
    color: var(--mafer-muted);
    margin-bottom: 16px;
}

.price {
    color: var(--mafer-purple);
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: 14px;
}

.meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.meta span {
    background: var(--mafer-lilac);
    border-radius: 999px;
    color: var(--mafer-purple-dark);
    font-size: 0.86rem;
    padding: 7px 11px;
}

.description {
    color: var(--mafer-muted);
    line-height: 1.7;
}

.includes {
    list-style: none;
    margin: 20px 0;
    padding: 0;
}

.includes li {
    border-bottom: 1px solid #f1e8f4;
    padding: 9px 0;
}

.includes li::before {
    color: var(--mafer-purple);
    content: "♡ ";
    font-weight: bold;
}

@media (max-width: 576px) {
    .hero {
        padding: 80px 18px;
    }

    .packages-section {
        padding: 60px 0;
    }
}

.btn-outline-mafer {
    background: transparent;
    border: 1px solid var(--mafer-purple);
    color: var(--mafer-purple);
    margin-left: 10px;
}

.btn-outline-mafer:hover {
    background: var(--mafer-purple);
    color: #fff;
}
