/* Public Free Plan page: scoped to preserve shared navigation and footer. */
.free-plan-page { padding: 110px 5% 60px; background: #FAF8FE; color: #25334a; }
.free-plan-page section { max-width: 1120px; margin: 0 auto 64px; }
.free-plan-hero { text-align: center; padding: 28px 0; }
.free-plan-eyebrow { color: #6A5490; font-weight: 600; }
.free-plan-page h1 { font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.2; max-width: 850px; margin: 16px auto 24px; }
.free-plan-page h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: 24px; }
.free-plan-hero > p { max-width: 720px; margin: 0 auto 24px; line-height: 1.8; }
.free-plan-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 26px 0 12px; }
.free-plan-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; background: #6A5490; color: #fff; border: 1px solid #6A5490; border-radius: 12px; text-decoration: none; font-weight: 600; text-align: center; }
.free-plan-button:hover { background: #584476; color: #fff; }
.free-plan-button--secondary { background: transparent; color: #6A5490; }
.free-plan-button--secondary:hover { background: #eee7f7; color: #584476; }
.free-plan-page a:focus-visible, .free-plan-page summary:focus-visible { outline: 3px solid #6A5490; outline-offset: 4px; }
.free-plan-comparison > h2, .free-plan-final { text-align: center; }
.free-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.free-plan-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid #d9cee8; border-radius: 20px; background: #fff; }
.free-plan-card h3 { font-size: 1.35rem; margin: 0; }
.free-plan-price { font-size: 2.4rem; font-weight: 700; color: #6A5490; margin: 20px 0; }
.free-plan-price span { font-size: 1rem; font-weight: 400; }
.free-plan-card ul { padding-left: 20px; margin: 0 0 28px; line-height: 1.7; flex: 1; }
.free-plan-card li { margin-bottom: 8px; }
.free-plan-note { text-align: center; margin-top: 24px; }
.free-plan-faq { max-width: 800px !important; line-height: 1.8; }
.free-plan-faq details { border-bottom: 1px solid #d9cee8; padding: 18px 0; }
.free-plan-faq summary { cursor: pointer; font-weight: 600; }
.free-plan-faq details p { margin: 14px 0 0; }
#plans { scroll-margin-top: 110px; }
@media (max-width: 900px) { .free-plan-grid { grid-template-columns: 1fr; max-width: 600px; margin: auto; } }
@media (max-width: 768px) { .free-plan-page { padding: 90px 20px 30px; } .free-plan-page section { margin-bottom: 40px; } .free-plan-card { padding: 24px; } .free-plan-actions { flex-direction: column; } }
