.community-home { border-top: 1px solid #e3e8eb; }
.community-eyebrow { font-size: .875rem; line-height: 1.6; font-weight: 700; letter-spacing: .1em; color: #b72c25; }
.community-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.community-heading h2 { margin-top: 8px; }
.community-heading h2 a { color: #173343; }
.community-all { display: inline-flex; align-items: center; min-height: 44px; color: #b72c25; font-weight: 700; flex-shrink: 0; }
.community-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.community-category-card { position: relative; border-top: 3px solid #173343; padding: 26px 24px 52px; background: #f3f7f9; }
.community-category-card h3 { font-size: 24px; line-height: 1.4; color: #173343; margin: 12px 0; }
.community-category-card p { font-size: 16px; line-height: 1.8; word-break: keep-all; }
.community-category-card:hover { border-top-color: #c8322b; background: #eaf3f7; }
.community-card-arrow { position: absolute; right: 24px; bottom: 18px; font-size: 24px; color: #b72c25; }
.community-home .community-post-grid { margin-top: 32px; }
.community-home .community-empty { padding: 24px 0 0; }
.community-page { padding-bottom: 60px; background: #fff; }
.community-wrap { max-width: 1200px; }
.community-crumb { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 26px 0 12px; color: #667783; font-size: .875rem; }
.community-crumb a { display: inline-flex; align-items: center; min-height: 44px; }
.community-masthead { padding: 24px 0 38px; max-width: 830px; }
.community-masthead h1 { font-family: var(--font-head); font-size: clamp(36px,4.5vw,58px); line-height: 1.3; margin: 14px 0 20px; color: #173343; }
.community-masthead > p:last-child { font-size: 18px; line-height: 1.9; word-break: keep-all; }
.community-categories { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 0 28px; border-bottom: 1px solid #cfdbe1; }
.community-categories a { display: inline-flex; min-height: 46px; align-items: center; padding: 8px 22px; border: 1px solid #cfdbe1; border-radius: 24px; font-size: 16px; }
.community-categories a[aria-current="page"] { background: #173343; border-color: #173343; color: #fff; font-weight: 700; }
.community-categories a:hover:not([aria-current]) { border-color: #c8322b; color: #b72c25; }
.competition-regions { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 18px; }
.competition-regions > span { display:inline-flex; align-items:center; margin-right:10px; color:#536b78; font-size:14px; }
.competition-regions a { display:inline-flex; min-height:46px; align-items:center; justify-content:center; min-width:90px; padding:10px 24px; border:1px solid #bfd0da; font-weight:700; color:#173343; }
.competition-regions a[aria-current="page"] { color:#fff; background:#14778e; border-color:#14778e; }
.competition-regions a:hover:not([aria-current]) { border-color:#14778e; background:#edf5f8; }
.community-post-copy > .community-event-region { display:inline-block; padding:4px 10px; margin:6px 0; color:#14667b; background:#edf5f8; font-size:13px !important; font-weight:700; }
.community-posts { padding: 36px 0; min-height: 210px; }
.community-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.community-list-heading h2 { font-size: 24px; text-transform: none; color: #173343; }
.community-list-heading > span { font-size: .875rem; color: #667783; }
.community-empty { padding: 32px 0; color: #667783; font-size: 16px; }
.community-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.community-post-card { min-width: 0; border-bottom: 1px solid #cfdbe1; }
.community-post-card > a { display: block; height: 100%; }
.community-post-thumb { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; }
.community-post-copy { padding: 24px 0; }
.community-post-copy h3 { font-size: 23px; line-height: 1.55; color: #173343; margin: 10px 0 14px; word-break: keep-all; overflow-wrap: anywhere; }
.community-post-copy > p:not(.community-eyebrow) { font-size: 16px; line-height: 1.9; word-break: keep-all; }
.community-post-copy time { display: block; margin-top: 20px; color: #667783; font-size: .875rem; }
.community-post-card a:hover h3 { color: #b72c25; }
.community-competition-timeline { padding:36px 0 8px; }
.community-competition-priority { display:flex; align-items:center; gap:18px; margin-bottom:46px; padding:18px 22px; border-left:5px solid #c8322b; background:#edf4f7; color:#173343; }
.community-competition-priority strong { flex:0 0 auto; font-family:var(--font-head); font-size:18px; }
.community-competition-priority span { color:#536b78; font-size:15px; line-height:1.7; }
.community-competition-group { padding:0 0 54px; }
.community-competition-group + .community-competition-group { padding-top:44px; border-top:1px solid #cfdbe1; }
.community-competition-group > header { display:grid; grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr); column-gap:48px; align-items:end; margin-bottom:28px; }
.community-competition-group > header .community-eyebrow { grid-column:1 / -1; margin-bottom:6px; }
.community-competition-group > header h2 { color:#173343; font-family:var(--font-head); font-size:clamp(28px,3.4vw,40px); letter-spacing:-.035em; line-height:1.3; }
.community-competition-group > header > p:last-child { max-width:590px; color:#60737e; font-size:16px; line-height:1.8; }
.community-event-card-meta { display:flex; gap:12px; align-items:center; margin:7px 0 12px; color:#536b78; font-size:13px; font-weight:700; }
.community-event-card-meta > span { display:inline-flex; min-height:28px; align-items:center; padding:3px 10px; background:#c8322b; color:#fff; font-family:var(--font-head); font-size:12px; letter-spacing:.04em; }
.community-event-card-meta time { margin:0 !important; color:#536b78 !important; font-size:13px !important; }
.community-competition-group[data-competition-group="past"] .community-event-card-meta > span { background:#5c707b; }
.community-competition-group[data-competition-group="reading"] .community-post-card { background:#f5f8f9; }
.community-competition-group[data-competition-group="reading"] .community-post-copy { padding-inline:20px; }
.community-competition-group [hidden] { display:none; }
.community-bottom-links { display: flex; gap: 20px; justify-content: space-between; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid #cfdbe1; }
.community-bottom-links a { min-height: 44px; display: inline-flex; align-items: center; color: #b72c25; font-weight: 700; }
.community-article { max-width: 1040px; margin: 24px auto 72px; color:#263c49; }
.community-article-header { position:relative; overflow:hidden; padding:clamp(34px,6vw,68px) clamp(24px,6vw,64px) clamp(30px,5vw,54px); border-top:5px solid #c8322b; background:linear-gradient(128deg,#edf4f7 0%,#f8fbfc 64%,#fff 100%); }
.community-article-header::after { content:"JOURNAL"; position:absolute; right:-12px; bottom:-32px; color:rgba(23,51,67,.045); font-family:var(--font-head); font-size:clamp(74px,12vw,148px); font-weight:800; letter-spacing:-.06em; line-height:1; pointer-events:none; }
.community-article-header > * { position:relative; z-index:1; }
.community-article h1 { max-width:900px; font-family:var(--font-head); font-size:clamp(38px,5.2vw,66px); font-weight:800; letter-spacing:-.045em; line-height:1.25; color:#102c3c; margin:18px 0 24px; word-break:keep-all; overflow-wrap:anywhere; }
.community-article-lead { max-width:780px; padding-left:22px; border-left:3px solid #c8322b; color:#334f5e; font-size:clamp(19px,2.1vw,24px); font-weight:500; line-height:1.75; word-break:keep-all; }
.community-article-meta { display:flex; align-items:center; gap:8px; width:max-content; max-width:100%; padding-top:18px; border-top:1px solid #b8cbd4; color:#667783; font-size:.875rem; margin:28px 0 0; }
.community-story-highlights { margin:clamp(30px,5vw,52px) 0; padding:0 clamp(20px,4vw,44px); border-top:1px solid #a9bec8; border-bottom:1px solid #a9bec8; }
.community-story-highlights > p { margin:0; padding-top:17px; color:#b72c25; font-family:var(--font-head); font-size:13px; font-weight:800; letter-spacing:.14em; }
.community-story-highlights > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.community-story-highlights > div > div { min-width:0; padding:22px 26px 26px 0; }
.community-story-highlights > div > div + div { padding-left:26px; border-left:1px solid #d4dfe4; }
.community-story-highlights strong { display:block; color:#c8322b; font-family:var(--font-head); font-size:clamp(30px,3.8vw,46px); font-weight:800; letter-spacing:-.04em; line-height:1.15; }
.community-story-highlights span { display:block; margin-top:8px; color:#173343; font-size:15px; font-weight:700; line-height:1.55; word-break:keep-all; }
.community-article-photo { margin: 36px 0; }
.community-article-photo img { width: 100%; height: auto; }
.community-article-body { max-width:820px; margin:clamp(44px,7vw,76px) auto; counter-reset:editorial-section; font-size:18px; line-height:1.95; word-break:keep-all; overflow-wrap:anywhere; }
.community-article-body > p:first-child { margin:0 0 clamp(64px,9vw,96px); padding:24px 28px; border-left:4px solid #c8322b; background:#f1f6f8; color:#173343; font-size:clamp(19px,2vw,22px); font-weight:600; line-height:1.85; }
.community-article-body p + p { margin-top: 26px; }
.community-article-body > section { counter-increment:editorial-section; margin-top:clamp(72px,10vw,112px); padding-top:28px; border-top:1px solid #b8cbd4; }
.community-article-body > section h2 { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; align-items:start; color:#102c3c; font-family:var(--font-head); font-size:clamp(28px,3.6vw,40px); font-weight:800; letter-spacing:-.035em; line-height:1.35; margin:0 0 30px; }
.community-article-body > section h2::before { content:counter(editorial-section,decimal-leading-zero); padding-top:.55em; color:#c8322b; font-size:14px; font-weight:800; letter-spacing:.08em; }
.community-section-highlight { position:relative; margin:34px 0 38px !important; padding:25px 30px 25px 37px; background:#173343; color:#fff; font-size:clamp(19px,2.1vw,23px); font-weight:700; line-height:1.75; }
.community-section-highlight::before { content:""; position:absolute; left:0; top:0; bottom:0; width:7px; background:#d9342b; }
.community-inline-photo { margin:36px auto 48px; padding:12px 12px 0; background:#edf3f6; }
.community-inline-photo img { display:block; width:auto; max-width:100%; max-height:760px; height:auto; margin:0 auto; }
.community-inline-photo figcaption { margin:0; padding:14px 6px 16px; color:#5b6f7a; font-size:14px; line-height:1.7; text-align:left; }
.community-article-video { margin:clamp(54px,8vw,88px) 0 40px; padding:clamp(24px,5vw,48px); background:#102c3c; color:#fff; }
.community-article-video h2 { max-width:760px; margin:0 0 24px; color:#fff; font-family:var(--font-head); font-size:clamp(26px,3.4vw,38px); line-height:1.4; }
.community-article-video a { display:inline-flex; min-height:44px; align-items:center; margin-top:14px; color:#fff; font-weight:700; text-decoration:underline; text-decoration-color:#e44339; text-decoration-thickness:2px; text-underline-offset:5px; }
@media (max-width: 1000px) {
  .community-category-grid, .community-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .community-heading { align-items: start; flex-direction: column; gap: 14px; }
  .community-category-grid, .community-post-grid { grid-template-columns: 1fr; }
  .community-category-card { padding: 22px 22px 42px; }
  .community-masthead { padding-top: 12px; }
  .community-categories a { padding: 8px 16px; }
  .community-competition-priority { align-items:flex-start; flex-direction:column; gap:4px; }
  .community-competition-group > header { display:block; }
  .community-competition-group > header h2 { margin:7px 0 10px; }
  .community-article { margin-top:10px; }
  .community-article-header { margin-inline:-18px; padding-inline:22px; }
  .community-article h1 { font-size:clamp(34px,10.5vw,46px); }
  .community-story-highlights { padding-inline:0; }
  .community-story-highlights > div { grid-template-columns:1fr; }
  .community-story-highlights > div > div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:18px; align-items:center; padding:18px 0; }
  .community-story-highlights > div > div + div { padding-left:0; border-left:0; border-top:1px solid #d4dfe4; }
  .community-story-highlights span { margin-top:0; }
  .community-article-body > p:first-child { padding:20px; }
  .community-article-body > section h2 { grid-template-columns:34px minmax(0,1fr); gap:10px; }
  .community-section-highlight { padding:20px 20px 20px 27px; }
  .community-inline-photo { margin-inline:-6px; }
}
.community-source-links a { color:#145f72; text-decoration:underline; text-underline-offset:3px; }
.community-x15-back { margin-top:26px; }
.community-event-notice { padding:clamp(20px,4vw,32px); margin:32px 0; border-top:3px solid #08758c; background:#f1f6f8; color:#173343; }
.community-event-notice h2 { font-size:24px; line-height:1.5; margin:10px 0 20px; }
.community-event-notice p { line-height:1.8; }
.community-event-notice dl > div, .community-event-schedule > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid #cfdbe1; }
.community-event-notice dt, .community-event-schedule dt { font-weight:700; }
.community-event-notice dd, .community-event-schedule dd { margin:0; overflow-wrap:anywhere; }
.community-location-card { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:20px; align-items:center; margin:36px 0; padding:24px 28px; border:1px solid #c8d8df; border-left:4px solid #08758c; background:linear-gradient(115deg,#edf5f7 0%,#fff 100%); }
.community-location-mark { display:grid; place-items:center; width:48px; height:48px; margin:0; border-radius:50%; background:#08758c; color:#fff; font-size:28px; line-height:1; }
.community-location-card .community-eyebrow { margin:0 0 4px; }
.community-location-card h2 { margin:0; color:#173343; font-size:clamp(22px,2.6vw,30px); line-height:1.35; }
.community-location-card div > p:last-child { margin:7px 0 0; color:#536b78; line-height:1.7; }
.community-location-card > a { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:11px 18px; background:#173343; color:#fff; font-weight:700; white-space:nowrap; }
.community-location-card > a:hover { background:#08758c; }
.community-attachments { margin:24px 0; }
.community-attachments h3 { font-size:16px; margin-bottom:12px; }
.community-attachments a { display:flex; gap:14px; align-items:center; padding:18px; border:1px solid #bdcfd8; background:#fff; color:#145f72; font-weight:700; overflow-wrap:anywhere; }
.community-attachments a > span:nth-child(2) { flex:1; min-width:0; }
.community-attachments small { display:block; margin-top:6px; font-weight:400; line-height:1.6; }
.community-file-type { padding:6px; color:#b72c25; border:1px solid currentColor; font-size:12px; }
.community-article-body section:not(:first-child) { scroll-margin-top:24px; }
.community-event-schedule { font-size:16px; }
.community-story-photo.content-image-full { aspect-ratio:auto; }
.community-inline-video { margin: 32px 0; }
.community-inline-video figcaption { padding: 12px 0; color: #526d7a; font-size: 14px; line-height: 1.8; }
.community-inline-video figcaption a { color: #14778e; font-weight: 700; }
.community-story-photo.content-image-full img { height:auto; max-height:none; }
.community-poster-section { margin:36px 0 44px; }
.community-poster-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:18px; }
.community-poster-heading h2 { margin:0; font-size:clamp(24px,3vw,32px); }
.community-poster-heading p { margin:0; color:#5d707a; font-size:14px; }
.community-poster-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.community-poster-gallery figure { min-width:0; margin:0; border:1px solid #cfdbe1; border-radius:8px; overflow:hidden; background:#f1f6f8; }
.community-poster-gallery figure:only-child { grid-column:1 / -1; width:100%; max-width:640px; margin-inline:auto; }
.community-poster-gallery figure.community-poster-landscape { grid-column:1 / -1; width:100%; max-width:none; }
/* Native equivalent of the 21st.dev Aspect Ratio pattern; ratio comes from the original image. */
.community-poster-image { display:block; width:100%; background:#e8f1f4; }
.community-poster-image:focus-visible { outline:3px solid #08758c; outline-offset:-3px; }
.community-poster-gallery img { display:block; width:100%; height:auto; object-fit:contain; }
.community-poster-gallery figcaption { display:flex; justify-content:space-between; gap:16px; padding:16px 20px; color:#526d7a; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.community-poster-gallery figcaption span { flex:0 0 auto; color:#08758c; font-size:13px; }
@media (max-width:600px) {
  .community-location-card { grid-template-columns:40px minmax(0,1fr); padding:20px; }
  .community-location-mark { width:40px; height:40px; font-size:24px; }
  .community-location-card > a { grid-column:1 / -1; white-space:normal; }
  .community-event-notice dl > div, .community-event-schedule > div { grid-template-columns:1fr; gap:4px; }
  .community-poster-heading { display:block; }
  .community-poster-heading p { margin-top:8px; }
  .community-poster-gallery { grid-template-columns:minmax(0,1fr); gap:20px; }
  .community-poster-gallery figcaption { flex-direction:column; gap:6px; padding:14px 16px; }
}

/* Official Instagram embeds retain a readable fallback and never force a narrow viewport wider. */
.community-instagram-embed { width:100%; max-width:540px; min-width:0; margin:36px auto 40px; padding:16px; border:1px solid #cfdbe1; background:#f7fafb; box-sizing:border-box; }
.community-instagram-embed .instagram-media { display:block; width:100% !important; max-width:540px !important; min-width:0 !important; margin:0 auto !important; padding:0 !important; box-sizing:border-box; overflow:hidden; background:#fff; }
.community-instagram-embed .instagram-media > a { display:block; padding:22px; color:#145f72; font-size:16px; font-weight:700; line-height:1.7; overflow-wrap:anywhere; }
.community-instagram-original { margin:16px 0 0 !important; }
.community-instagram-original a, .community-section-links a { color:#145f72; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.community-instagram-note { margin:8px 0 0 !important; color:#5b6f7a; font-size:14px; line-height:1.7; word-break:keep-all; }
.community-section-links { margin:30px 0; padding:18px 22px; border-left:3px solid #08758c; background:#edf5f7; }
.community-section-links > p { margin:0 0 8px; color:#173343; font-size:15px; font-weight:800; }
.community-section-links ul { margin:0; padding-left:20px; }
.community-section-links li + li { margin-top:8px; }
@media (max-width:600px) {
  .community-instagram-embed { max-width:540px; margin-inline:0; padding:12px; }
  .community-instagram-embed .instagram-media > a { padding:18px; }
  .community-section-links { padding:16px 18px; }
}
