:root {
    --cl-navy: #12263f;
    --cl-blue: #2f6f9f;
    --cl-orange: #f28c28;
    --cl-mint: #dff3e9;
    --cl-cream: #fff8ef;
    --cl-light: #f5f7fa;
    --cl-text: #243447;
    --cl-border: #dfe6ed;
    --cl-shadow: 0 20px 55px rgba(18, 38, 63, .12);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
main { min-height: 50vh; }
::selection { background: var(--cl-mint); color: var(--cl-navy); }

.cl-site-header { position: relative; z-index: 50; padding-top: .85rem; padding-bottom: .85rem; border-bottom: 1px solid rgba(18,38,63,.08); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.admin-bar .cl-site-header { top: 0; }
.cl-header-inner { min-height: 58px; }
.cl-brand { gap: .7rem; }
.cl-brand .wp-block-site-logo img { border-radius: 14px; }
.cl-brand .wp-block-site-title a { color: var(--cl-navy); text-decoration: none; }
.cl-brand-tagline { margin: 0; color: #6f7c8a; line-height: 1.2; }
.cl-header-actions { gap: 1rem; }
.cl-main-navigation a { color: var(--cl-navy); text-decoration: none; }
.cl-main-navigation a:hover { color: var(--cl-orange); }
.cl-login-button .wp-block-button__link { padding: .65rem 1rem; }

.cl-kicker, .cl-card-label { margin-bottom: .65rem; color: var(--cl-orange); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.cl-section-heading { margin-bottom: 2rem; }
.cl-section-heading h2 { margin-top: .25rem; margin-bottom: 0; font-size: clamp(2rem, 4vw, 3.1rem); }
.cl-section-heading > p a { font-weight: 750; text-decoration: none; }

.cl-hero { position: relative; overflow: hidden; padding-top: clamp(3.5rem, 8vw, 7.5rem); padding-bottom: clamp(4rem, 8vw, 7rem); background: var(--cl-navy); color: #fff; }
.cl-hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -190px; top: -240px; border-radius: 50%; background: rgba(223,243,233,.11); }
.cl-hero::after { content: ""; position: absolute; width: 420px; height: 420px; left: -250px; bottom: -280px; border-radius: 50%; background: rgba(242,140,40,.18); }
.cl-hero-columns { position: relative; z-index: 2; gap: clamp(2rem, 6vw, 5rem); }
.cl-hero h1 { max-width: 900px; margin-top: .2rem; color: #fff; letter-spacing: -.04em; }
.cl-hero-lead { max-width: 720px; color: rgba(255,255,255,.82); }
.cl-hero-buttons { margin-top: 2rem; }
.cl-hero .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.35); }
.cl-hero-proof { gap: 1.2rem; margin-top: 2rem; color: rgba(255,255,255,.72); font-size: .85rem; }
.cl-hero-proof p { margin: 0; }
.cl-hero-proof strong { color: var(--cl-mint); }
.cl-hero-card { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid rgba(255,255,255,.15); border-radius: 26px; background: rgba(255,255,255,.96); color: var(--cl-text); box-shadow: 0 30px 80px rgba(0,0,0,.24); transform: rotate(1.2deg); }
.cl-hero-card h2 { color: var(--cl-navy); }
.cl-hero-card .wp-block-button__link { width: 100%; box-sizing: border-box; }
.cl-check-list { padding: 0; list-style: none; }
.cl-check-list li { position: relative; margin: .55rem 0; padding-left: 1.55rem; }
.cl-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--cl-orange); font-weight: 900; }

.cl-topic-section, .cl-content-section { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.cl-topic-grid { gap: 1.25rem; margin-bottom: 1.25rem; }
.cl-topic-card { height: 100%; box-sizing: border-box; padding: 1.6rem; border: 1px solid var(--cl-border); border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(18,38,63,.055); transition: transform .2s ease, box-shadow .2s ease; }
.cl-topic-card:hover { transform: translateY(-4px); box-shadow: var(--cl-shadow); }
.cl-topic-card h3 { margin-top: .8rem; margin-bottom: .45rem; font-size: 1.2rem; }
.cl-topic-card p:last-child { margin-bottom: 0; color: #617083; }
.cl-topic-icon { display: grid; place-items: center; width: 46px; height: 46px; margin: 0; border-radius: 14px; background: var(--cl-mint); color: var(--cl-navy); font-size: 1.25rem; font-weight: 850; }

.cl-process-band { margin-top: 1rem; margin-bottom: 1rem; padding: clamp(2rem, 5vw, 4.5rem); border-radius: 30px; background: var(--cl-navy); color: #fff; }
.cl-process-band h2, .cl-process-band h3 { color: #fff; }
.cl-process-band p { color: rgba(255,255,255,.75); }
.cl-process-grid { gap: 1rem; }
.cl-process-step { height: 100%; box-sizing: border-box; padding: 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.06); }
.cl-step-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--orange, #f28c28); color: #fff !important; font-weight: 850; }

.cl-member-cta { gap: clamp(2rem, 6vw, 5rem); padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--cl-border); border-radius: 30px; background: linear-gradient(135deg, #fff, var(--cl-light)); }
.cl-member-card { padding: 2rem; border-radius: 24px; background: var(--cl-navy); color: #fff; box-shadow: var(--cl-shadow); }
.cl-member-card h3 { color: #fff; }
.cl-member-icon { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 22px; background: var(--cl-orange); color: #fff; font-size: 1.2rem; font-weight: 900; }
.cl-member-card .cl-check-list li::before { color: var(--cl-mint); }
.cl-final-cta { margin-top: clamp(3rem, 6vw, 5rem); margin-bottom: clamp(3rem, 6vw, 5rem); padding: clamp(1.7rem, 4vw, 3rem); border-radius: 26px; background: var(--cl-orange); color: #fff; }
.cl-final-cta h2, .cl-final-cta p { margin-top: 0; color: #fff; }

.cl-page-hero, .cl-single-hero { padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.cl-page-hero h1, .cl-single-hero h1 { max-width: 1000px; margin-bottom: 1rem; letter-spacing: -.04em; }
.cl-page-hero .wp-block-post-excerpt, .cl-single-hero .wp-block-post-excerpt { max-width: 800px; color: #5b6a7a; }
.cl-page-content, .cl-single-content, .cl-archive-content { padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.cl-single-content .wp-block-post-featured-image { margin-bottom: 3rem; }
.cl-post-terms a { display: inline-flex; padding: .32rem .7rem; border-radius: 999px; background: var(--cl-mint); color: #19513a; font-size: .75rem; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; }

.cl-native-card-grid { gap: 1.5rem; }
.cl-native-card { overflow: hidden; height: 100%; border: 1px solid var(--cl-border); border-radius: 20px; background: #fff; box-shadow: 0 8px 28px rgba(18,38,63,.07); }
.cl-native-card .wp-block-post-featured-image { margin: 0; }
.cl-native-card .wp-block-post-featured-image img { width: 100%; object-fit: cover; }
.cl-native-card-body { padding: 1.35rem; }
.cl-native-card-body .wp-block-post-title a { color: var(--cl-navy); text-decoration: none; }
.cl-native-card-body .wp-block-post-date { color: var(--cl-orange); font-weight: 750; }
.cl-search-result { padding: 1.4rem 0; border-bottom: 1px solid var(--cl-border); }
.cl-404 { padding-top: clamp(5rem, 12vw, 10rem); padding-bottom: clamp(5rem, 12vw, 10rem); text-align: center; }
.cl-404 .wp-block-search { max-width: 600px; margin: 2rem auto; }
.cl-404 .wp-block-buttons { justify-content: center; }

.clublab-meta-panel { margin: 2rem 0; padding: 1.25rem 1.4rem; border-left: 5px solid var(--cl-orange); border-radius: 0 16px 16px 0; background: var(--cl-light); }
.clublab-meta-panel dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0 0 1rem; }
.clublab-meta-panel dt { font-weight: 800; color: var(--cl-navy); }
.clublab-meta-panel dd { margin: 0; }

.cl-site-footer { margin-top: 0; padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: 1.2rem; }
.cl-footer-columns { gap: 3rem; }
.cl-site-footer p { color: rgba(255,255,255,.72); }
.cl-site-footer a { color: #fff; text-decoration: none; }
.cl-site-footer a:hover { color: var(--cl-mint); }
.cl-footer-list { padding: 0; list-style: none; }
.cl-footer-list li { margin: .45rem 0; }
.cl-footer-bottom { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.13); }

@media (max-width: 1000px) {
    .cl-login-button { display: none; }
    .cl-hero-card { transform: none; }
}
@media (max-width: 781px) {
    .cl-brand-tagline { display: none; }
    .cl-header-actions { margin-left: auto; }
    .cl-topic-grid { gap: 1rem; }
    .cl-process-grid { gap: .8rem; }
    .cl-footer-columns { gap: 1.5rem; }
    .cl-native-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
    .cl-site-header { padding-top: .55rem; padding-bottom: .55rem; }
    .cl-brand .wp-block-site-logo img { width: 42px; }
    .cl-hero { padding-top: 3rem; }
    .cl-hero-proof { display: block !important; }
    .cl-hero-proof p { margin-bottom: .35rem; }
    .cl-section-heading { align-items: flex-start !important; }
    .cl-native-card-grid { grid-template-columns: 1fr !important; }
    .cl-footer-bottom { align-items: flex-start !important; }
}
