/* ClubSpace public v6.1 — original blue palette, compact home layout. */
:root {
    --cs-bg: #f5f7fc;
    --cs-ink: #182333;
    --cs-muted: #718097;
    --cs-line: #e1e8f3;
    --cs-blue: #3467ee;
}
body.cs-site { background: var(--cs-bg); color: var(--cs-ink); }
.cs-header { background: rgba(253, 254, 252, .94); border-color: var(--cs-line); }
.cs-brand-point { color: #3467ee; }
.cs-brand-icon { background: #e7efff; color: #3467ee; }
.cs-site .cs-button-dark { background: #202b3e; }
.cs-site .cs-button-dark:hover { background: #34445f; }
.cs-site .cs-kicker, .cs-site .cs-eyebrow { color: #5574ad; }
.cs-hero { margin-top: 14px; min-height: 460px; background: #edf2fc; grid-template-columns: 1fr 1fr; border-radius: 24px; }
.cs-hero-copy { padding: clamp(28px, 3.7vw, 56px); }
.cs-hero h1 { margin-top: 16px; font-size: clamp(31px, 3.1vw, 49px); }
.cs-hero h1 em { color: #3467ee; }
.cs-hero-copy > p { margin-top: 16px; }
.cs-hero-buttons { margin-top: 24px; }
.cs-hero-note { margin-top: 24px; }
.cs-hero-image { min-height: 460px; }
.cs-hero-floating { bottom: 22px; left: 22px; right: 22px; }
.cs-benefits { padding: 25px 0; }
.cs-section-heading h2 span { color: #3467ee; }
.cs-new-section { padding-top: 58px; padding-bottom: 70px; }
.cs-new-heading { margin-bottom: 25px; }
.cs-new-grid { gap: 20px; }
.cs-club-card { border-color: #e2e8f4; background: #fff; box-shadow: 0 8px 26px rgba(25, 50, 100, .04); }
.cs-club-card:hover { box-shadow: 0 18px 40px rgba(25, 50, 100, .12); }
.cs-card-category { background: #edf2ff; color: #3554a1; }
.cs-card-link, .cs-card-go { color: #3467ee; }
.cs-new-section .cs-club-grid:has(> :only-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cs-all-link { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border-radius: 11px; background: #fff; border: 1px solid var(--cs-line); white-space: nowrap; font-weight: 700; font-size: 12px; }
.cs-all-link:hover { color: #3467ee; }
.cs-logos-section { background: #ebf0fa; padding: 48px 0 54px; border-top: 1px solid #dee6f3; border-bottom: 1px solid #dee6f3; }
.cs-logo-section-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 25px; }
.cs-logo-section-head h2 { font-size: clamp(24px, 2.6vw, 35px); letter-spacing: -.04em; margin-top: 8px; }
.cs-logo-controls { display: flex; gap: 8px; }
.cs-logo-arrow { width: 43px; height: 43px; border-radius: 12px; border: 1px solid #d5dff0; background: #fff; color: #253652; display: grid; place-items: center; }
.cs-logo-arrow:hover { background: #e4ebfd; }
.cs-logo-carousel { display: flex; gap: 15px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 3px 3px 15px; scrollbar-width: thin; scrollbar-color: #b7c8e9 transparent; }
.cs-logo-tile { flex: 0 0 clamp(150px, 16%, 206px); min-height: 150px; background: #fff; border: 1px solid #dce4f1; border-radius: 18px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 13px; padding: 20px 15px; scroll-snap-align: start; transition: transform .2s, border-color .2s; }
.cs-logo-tile:hover { transform: translateY(-3px); border-color: #8fa9ed; }
.cs-logo-tile img { width: 78px; height: 76px; object-fit: contain; }
.cs-logo-tile span { font-size: 11px; line-height: 1.4; font-weight: 750; text-align: center; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cs-directory { padding-top: 73px; padding-bottom: 70px; }
.cs-callout { background: #202b3e; margin-bottom: 80px; }
.cs-callout .cs-kicker { color: #b8cbff; }
.cs-site .cs-section-card { border-color: var(--cs-line); }
.cs-site .cs-profile-cover { background: #e7edfa; }
.cs-site .cs-contact-note { background: #ebf1fe; }
@media (max-width: 800px) {
    .cs-hero { grid-template-columns: 1fr; margin-top: 12px; }
    .cs-hero-copy { padding: 32px 25px; }
    .cs-hero-image { min-height: 320px; }
    .cs-new-section { padding-top: 43px; padding-bottom: 48px; }
    .cs-logos-section { padding: 38px 0 42px; }
    .cs-logo-tile { flex-basis: 160px; }
    .cs-directory { padding-top: 52px; }
    .cs-new-section .cs-club-grid:has(> :only-child) { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .cs-logo-tile { flex-basis: 142px; }
    .cs-new-heading { align-items: flex-start; }
    .cs-all-link { padding: 8px 11px; }
}
@media (prefers-reduced-motion: reduce) {
    .cs-logo-carousel { scroll-behavior: auto; }
    .cs-logo-tile { transition: none; }
}
