/* Public marketing pages only; club CRM and administration keep their own styles. */
.public-lead {max-width:850px;margin:0 auto 36px;color:#555;font-size:1.2rem;line-height:1.65;text-align:center}
.public-directory,.public-reviews,.public-learning {padding-top:48px;padding-bottom:60px}
.public-directory-section {margin-bottom:56px}
.public-directory-section>h2 {margin:0 0 26px;font-size:1.9rem;text-align:left}
.public-partner-grid,.public-review-grid,.public-learning-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.public-partner-grid--featured,.public-review-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.public-partner-card,.public-review-card,.public-learning-card,.public-contact-card {min-width:0;padding:28px;background:#fff;border:1px solid #e5e5ed;border-radius:12px;box-shadow:0 6px 24px rgba(36,12,72,.035)}
.public-partner-card {display:flex;flex-direction:column;align-items:flex-start}
.public-partner-logo {width:100%;height:130px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;background:#f7f8fc;border-radius:8px;padding:22px}
.public-partner-logo img {display:block;max-width:100%;max-height:90px;width:auto;height:auto;object-fit:contain}
.public-partner-card h3 {margin:0 0 12px;font-size:1.65rem;color:#20202a}
.public-partner-card>p:not(.public-eyebrow),.public-contact-card>p {color:#555;line-height:1.65;font-size:1.05rem}
.public-partner-card>.public-text-link {margin-top:auto;padding-top:12px}
.public-eyebrow {margin:0 0 10px;color:#6021a0;font-size:.85rem;line-height:1.5;font-weight:700;letter-spacing:.025em}
.public-text-link {color:#5f0da8;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.public-bottom-cta {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;background:#f2edfa;border-radius:12px;margin-top:40px}
.public-bottom-cta h2 {margin:0;font-size:1.65rem;max-width:700px}
.public-bottom-cta .btn {flex-shrink:0}
.public-contact-grid {display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:48px;margin-bottom:48px}
.public-contact-card--main {background:#f7f5fc;padding:36px}
.public-contact-card h2 {font-size:1.8rem;line-height:1.2;margin:0 0 18px}
.public-contact-person,.public-review-author {display:flex;align-items:center;gap:16px;margin:26px 0}
.public-initials {width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e9def9;color:#52019c;font-weight:700;font-size:1.2rem}
.public-contact-person strong,.public-review-author strong {font-size:1.05rem;color:#222}
.public-contact-person p,.public-review-author p {margin:4px 0 0;color:#666;line-height:1.5;font-size:.95rem}
.public-contact-methods {display:grid;gap:12px;margin-bottom:28px}
.public-contact-methods a {color:#350065;font-size:1.2rem;font-weight:700;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.public-contact-methods small {font-weight:400}
.public-contact-side {display:grid;gap:20px;align-content:start}
.public-contact-form-link {padding:0 6px;color:#5f0da8;text-decoration:underline}
.public-contact-form {scroll-margin-top:24px}
.public-review-card h2 {font-size:1.65rem;line-height:1.25;margin:0}
.public-review-author {align-items:flex-start;margin:24px 0}
.public-review-preview,.public-review-full,.public-review-full p {line-height:1.75;color:#4e4e58;font-size:1.05rem}
.public-review-card details {margin-top:18px}
.public-review-card summary {color:#5f0da8;font-weight:700;cursor:pointer;line-height:1.5;padding:8px 0}
.public-review-full {padding-top:16px}
.public-search {max-width:800px;margin:0 auto 28px}
.public-search label {display:block;font-size:1.05rem;font-weight:700;color:#222;margin-bottom:10px}
.public-search-row {display:flex;gap:12px;align-items:stretch}
.public-search input {width:100%;min-width:0;border:1px solid #b7aec1;border-radius:7px;padding:13px 16px;font:inherit;background:#fff;color:#222}
.public-search .btn {padding:13px 26px;font-size:1rem;flex-shrink:0}
.public-quick-links {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:30px auto}
.public-quick-links a {border:1px solid #ded3eb;background:#f7f3fc;border-radius:20px;padding:8px 15px;color:#55008a}
.public-result-count {color:#666;margin:24px 0}
.public-learning-card {display:flex;flex-direction:column;align-items:flex-start}
.public-learning-card h2 {font-size:1.3rem;line-height:1.35;margin:0 0 14px}
.public-learning-card h2 a {color:#252033}
.public-learning-card>p:not(.public-eyebrow) {color:#62616b;line-height:1.6;font-size:.95rem}
.public-learning-card>.public-text-link {margin-top:auto;padding-top:16px}
.public-video-cover {width:calc(100% + 56px);margin:-28px -28px 24px;padding:26px;min-height:150px;display:flex;gap:20px;align-items:center;background:#34006e;color:#fff;border-radius:11px 11px 0 0}
.public-video-cover>span:first-child {display:flex;align-items:center;justify-content:center;flex:0 0 48px;height:48px;border-radius:50%;background:#fff;color:#6800bd;font-size:1.2rem}
.public-video-cover>span:last-child {font-size:1.1rem;line-height:1.3;font-weight:700}
.public-empty {padding:40px;background:#f7f5fb;border-radius:10px}
.public-empty h2 {font-size:1.5rem}
.public-learning-footer {margin-top:36px;padding-top:26px;border-top:1px solid #e7e2ec;font-size:1.05rem}
.public-learning-entry {max-width:900px;margin:28px auto}
.public-search input:focus,.public-text-link:focus-visible,.public-review-card summary:focus-visible,.public-quick-links a:focus-visible {outline:3px solid #8c4fca;outline-offset:3px}
@media(max-width:991px){.public-partner-grid,.public-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-contact-grid{grid-template-columns:1fr 1fr}.public-contact-card{padding:24px}.public-bottom-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:767px){.public-directory,.public-reviews,.public-learning{padding-top:30px;padding-bottom:36px}.public-lead{font-size:1.05rem;text-align:left;margin-bottom:26px}.public-contact-grid,.public-review-grid{grid-template-columns:1fr}.public-contact-grid{margin-top:28px;gap:18px}.public-partner-card,.public-review-card,.public-learning-card{padding:22px}.public-directory-section>h2{font-size:1.55rem}.public-directory-section{margin-bottom:36px}.public-bottom-cta{padding:24px}.public-video-cover{width:calc(100% + 44px);margin:-22px -22px 22px}.public-search-row{gap:8px}.public-search .btn{padding:12px 18px}.public-quick-links{justify-content:flex-start}.public-contact-card h2{font-size:1.6rem}}
@media(max-width:575px){.public-partner-grid,.public-learning-grid{grid-template-columns:1fr}.public-partner-logo{height:115px}.public-search-row{flex-wrap:wrap}.public-search .btn{width:100%}.public-review-card h2{font-size:1.45rem}}
