/* Dedicated overview; no shared layout or board skin selectors. */
.community_hub_page { color:#333; background:#fff; font-family:'noto', sans-serif; text-align:left; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.community_hub_page, .community_hub_page * { box-sizing:border-box; }
.community_hub_page .community_hub_container { width:100%; max-width:1320px; margin:0 auto; padding:0 60px; }
.community_hub_page h1, .community_hub_page h2, .community_hub_page h3, .community_hub_page p { margin:0; padding:0; }
.community_hub_page h1, .community_hub_page h2, .community_hub_page h3 { font-family:'nm', serif; }
.community_hub_page h2 { font-size:44px; font-weight:400; line-height:1.25; margin-bottom:20px; }
.community_hub_page h3 { font-size:28px; font-weight:400; line-height:1.4; margin-bottom:12px; }
.community_hub_page p { font-size:16px; font-weight:400; line-height:1.7; }
.community_hub_page .community_hub_cover {
    display:flex; align-items:flex-start; height:clamp(400px, 50vh, 540px); padding:clamp(160px, 20vh, 216px) 0 30px; color:#fff; background-color:#333;
    background-image:linear-gradient(to right,rgba(0,0,0,.7) 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.15) 100%),url('../img/community/community_hub_cover_02.png');
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.community_hub_page .community_hub_cover > .community_hub_container { max-width:none; padding-left:100px; padding-right:100px; }
.community_hub_page .community_hub_cover h1 { font-size:56px; font-weight:700; line-height:1.2; margin-bottom:16px; }
.community_hub_page .community_hub_cover p, .community_hub_page .community_hub_lead { max-width:760px; }
.community_hub_page .community_hub_intro { padding:72px 0 48px; }
.community_hub_page .community_hub_eyebrow { margin-bottom:12px; color:#ca3b3f; }
.community_hub_page .community_hub_menus { padding-bottom:72px; }
.community_hub_page .community_hub_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; row-gap:48px; align-items:start; }
.community_hub_page .community_hub_card { min-width:0; margin:0; padding:0; }
.community_hub_page .community_hub_card > img { width:100%; height:auto; display:block; margin:0 0 24px; }
.community_hub_page .community_hub_button { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:44px; margin-top:24px; padding:14px 40px; border:1px solid #222; border-radius:100px; color:#222; background:transparent; font-size:18px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; transition:background-color .3s,border-color .3s,color .3s; }
.community_hub_page .community_hub_button:hover { color:#fff; background:#ca3b3f; border-color:#ca3b3f; }
/* Override the shared anchor focus reset only inside this page. */
.community_hub_page .community_hub_button:focus-visible { outline:2px solid #ca3b3f !important; outline-offset:4px; }
@media (min-width:1025px) and (max-width:1599px),
(min-width:1025px) and (max-height:900px) {
    .community_hub_page .community_hub_cover > .community_hub_container { padding-left:64px; padding-right:64px; }
    .community_hub_page .community_hub_cover h1 { font-size:48px; }
    .community_hub_page h2 { font-size:42px; }
    .community_hub_page h3 { font-size:26px; }
}
@media (max-width:1024px) {
    .community_hub_page .community_hub_container { padding-left:20px; padding-right:20px; }
    .community_hub_page .community_hub_cover { height:auto; min-height:450px; padding:150px 0 32px; background-position:38% center; }
    .community_hub_page .community_hub_cover > .community_hub_container { padding-left:20px; padding-right:20px; }
    .community_hub_page .community_hub_cover h1 { font-size:36px; line-height:1.25; }
    .community_hub_page h2 { font-size:32px; }
    .community_hub_page h3 { font-size:24px; }
    .community_hub_page .community_hub_intro { padding:48px 0 32px; }
    .community_hub_page .community_hub_grid { grid-template-columns:minmax(0,1fr); row-gap:32px; }
    .community_hub_page .community_hub_card { width:100%; max-width:640px; }
    .community_hub_page .community_hub_menus { padding-bottom:32px; }
    .community_hub_page .community_hub_button { padding:12px 28px; font-size:16px; }
}
@media (max-width:600px) {
    .community_hub_page .community_hub_cover {
        background-image:linear-gradient(to right,rgba(0,0,0,.7) 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.15) 100%),url('../img/community/community_hub_cover_mo.png');
        background-position:center center;
    }
    .community_hub_page .community_hub_card > img { margin-bottom:20px; }
}
