/* ── Hero ── */
.hero {
    padding: 32px 15px 20px;
    text-align: center;
}
.hero-inner {
    max-width: 1310px;
    margin: 0 auto;
}
.hero h1 {
    font-size: 48px;
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 16px;
}
.hero p {
    font-size: 18px;
    line-height: 150%;
    max-width: 640px;
    margin: 0 auto;
}

/* ── Audience ── */
.audience {
    padding: 24px 15px 20px;
}
.audience-inner {
    max-width: 1310px;
    margin: 0 auto;
}
.audience h2 {
    font-size: 32px;
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 12px;
}
.audience-text {
    font-size: 18px;
    line-height: 150%;
}
.audience-text p {
    margin-bottom: 28px;
}

/* Logos grid */
.logos-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px 4px;
}
.logo-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 4px;
}
.logo-cell img {
    height: 24px;
    max-width: 110px;
    object-fit: contain;
}
.logos-note {
    font-size: 14px;
    color: #999;
    margin-top: -45px;
    text-align: right;
}

/* ── Packages ── */
.packages-section {
    padding: 20px 15px 40px;
}
.packages-inner {
    max-width: 1310px;
    margin: 0 auto;
}
.packages-inner > h2 {
    font-size: 32px;
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 12px;
}
.packages-intro {
    font-size: 18px;
    line-height: 150%;
    margin-bottom: 40px;
}
.packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.package-card {
    border: 1px solid #E8E8E8;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    background: #fff;
}
.package-card h3 {
    font-size: 24px;
    font-weight: 600;
    line-height: 120%;
    margin: 0;
}
.package-desc {
    font-size: 14px;
    color: #6a6a6a;
    line-height: 150%;
    margin-top: 12px;
}
.package-features {
    list-style: none;
    margin: 24px 0;
    padding: 0;
    flex: 1;
}
.package-features li {
    font-size: 16px;
    line-height: 150%;
    padding: 5px 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.package-features li img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 3px;
}
.package-cta {
    display: block;
    text-align: center;
    padding: 14px 24px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    margin-top: 8px;
    background: #1874C1;
    color: #fff;
    border: none;
    transition: all 0.2s ease;
}
.package-cta:hover {
    opacity: 0.85;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(24,116,193,0.3);
}
.packages-footer {
    font-size: 16px;
    margin-top: 32px;
    text-align: center;
}
.packages-footer a {
    color: #1874C1;
    text-decoration: underline;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .logos-grid { grid-template-columns: repeat(3, 1fr); }
    .packages-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-columns { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
    .hero h1 { font-size: 32px !important; }
    .logos-grid { grid-template-columns: repeat(3, 1fr); gap: 6px 2px; }
    .packages-grid { grid-template-columns: 1fr; }
    .hero p br { display: none; }
    .footer-columns { grid-template-columns: repeat(2, 1fr); }
    .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
    .footer-policies { flex-wrap: wrap; justify-content: center; }
    .logos-note {
        margin-top: -30px;
    }
}
