.public-section { padding: 88px 0; }
.section-intro { margin: 0 auto 42px; max-width: 760px; }
.section-kicker { color: #9a743b; display: block; font-size: .72rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 12px; }
.section-intro h2, .left-title, .public-cta h2, .public-page-hero h1 { color: var(--legal-navy); font-family: Georgia, 'Times New Roman', serif; font-weight: 700; }
.section-intro h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); }
.section-intro p, .public-copy { color: #5d6873; font-size: 1rem; }
.hero-actions { display: flex; gap: 13px; justify-content: center; margin-top: 30px; }
.public-btn { align-items: center; border-radius: 8px; display: inline-flex; font-size: .93rem; font-weight: 700; gap: 10px; padding: 12px 20px; }
.public-btn-primary { background: #b38a4a; border: 1px solid #dfc58f; color: #0b1f36; }
.public-btn-primary:hover, .public-btn-gold:hover { background: #d4ae69; color: #0b1f36; transform: translateY(-2px); }
.public-btn-secondary { border: 1px solid rgba(255,255,255,.65); color: #fff; }
.public-btn-secondary:hover { background: rgba(255,255,255,.1); color: #fff; }
.public-card { height: 100%; padding: 30px 25px; text-align: left; }
.public-card h3, .step-card h3 { color: #0b1f36; font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 700; }
.public-card p, .step-card p { color: #5d6873; margin-bottom: 0; }
.public-band { background: #eee9dc; border-bottom: 1px solid #ddd4c4; border-top: 1px solid #ddd4c4; padding: 88px 0; }
.step-card { background: #fffdf8; border: 1px solid #d9d2c3; height: 100%; min-height: 230px; padding: 29px 23px; position: relative; }
.step-card > span { color: #b38a4a; font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; font-weight: 700; position: absolute; right: 20px; top: 16px; }
.step-card i { color: #9a743b; font-size: 1.6rem; margin-bottom: 18px; }
.left-title { font-size: clamp(2rem, 3vw, 2.7rem); margin: 0 0 18px; }
.text-link { color: #0b1f36; font-weight: 700; }
.text-link i { color: #b38a4a; margin-left: 7px; }
.audience-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.audience-grid div { background: #fffdf8; border: 1px solid #ddd4c4; color: #29394a; font-weight: 700; padding: 18px; }
.audience-grid i { color: #9a743b; margin-right: 10px; width: 19px; }
.public-cta { padding: 65px 25px; }
.public-cta .section-kicker { color: #e8c982; }
.public-cta h2 { color: #fff; font-size: clamp(2rem, 3vw, 2.7rem); }
.public-cta p { color: #dce4e8; margin: 12px 0 25px; }
.public-btn-gold { background: #e2c17d; color: #0b1f36; }
.public-page-hero { background: linear-gradient(115deg, #0b1f36, #1a3c59); border-bottom: 3px solid #b38a4a; color: #fff; padding: 82px 0 70px; }
.public-page-hero h1 { color: #fff; font-size: clamp(2.25rem, 4vw, 3.4rem); }
.public-page-hero p { color: #e4e8e7; font-size: 1.05rem; margin: 15px auto 0; max-width: 700px; }
.feature-detail-card { background: #fffdf8; border: 1px solid #ddd4c4; height: 100%; padding: 29px; }
.feature-detail-card i { color: #9a743b; font-size: 1.55rem; margin-bottom: 17px; }
.feature-detail-card h2 { color: #0b1f36; font-family: Georgia, 'Times New Roman', serif; font-size: 1.38rem; font-weight: 700; }
.feature-detail-card p { color: #5d6873; margin: 0; }
.ai-disclosure { background: #f1eadb; border-left: 4px solid #b38a4a; color: #435160; font-size: .92rem; margin-top: 30px; padding: 18px 20px; }
.faq-list { margin: 0 auto; max-width: 850px; }
.faq-item { background: #fffdf8; border: 1px solid #ddd4c4; margin-bottom: 14px; padding: 24px; }
.faq-item h2 { color: #0b1f36; font-family: Georgia, 'Times New Roman', serif; font-size: 1.24rem; font-weight: 700; }
.faq-item p { color: #5d6873; margin: 0; }
.legal-content { color: #52606b; font-size: .97rem; margin: 0 auto; max-width: 880px; }
.legal-content h2 { color: #0b1f36; font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; font-weight: 700; margin: 34px 0 11px; }
.legal-content p, .legal-content li { margin-bottom: 12px; }
.legal-content ul { padding-left: 20px; }
@media (max-width: 767px) { .public-section, .public-band { padding: 60px 15px; } .hero-actions { align-items: stretch; flex-direction: column; margin-left: auto; margin-right: auto; max-width: 250px; } .public-btn { justify-content: center; } .audience-grid { grid-template-columns: 1fr; } .public-page-hero { padding: 61px 20px; } }
