.community-page{--pine:#152820;--cream:#f5f1df;--gold:#d7c89c;background:var(--pine);color:var(--cream);font-family:var(--font-workSans);line-height:1.7}.community-page *{box-sizing:border-box}.community-shell{width:min(1280px,100%);margin:auto;padding-inline:clamp(24px,5vw,72px)}.community-page h1,.community-page h2,.community-page h3{font-family:var(--font-editorialOld);font-weight:400;line-height:1.12;letter-spacing:-.025em}.community-page h1{font-size:clamp(48px,6.7vw,96px);margin:0 0 28px}.community-page h2{font-size:clamp(36px,4.3vw,62px);margin:0 0 24px}.community-page h3{font-size:30px}.community-page em{color:var(--gold)}.community-eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.community-hero{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;padding:160px 0 110px}.community-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,30,22,.9),rgba(13,30,22,.35)),linear-gradient(0deg,#152820,transparent 35%)}.community-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:community-zoom 1.5s ease-out both}.community-hero-copy{position:relative;z-index:1;animation:community-enter .9s ease-out both}.community-hero-copy>p:not(.community-eyebrow){max-width:450px;color:#d0d7cd;margin-bottom:32px}.community-hero-caption{position:absolute;z-index:1;bottom:38px;right:5vw;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.community-text-link{color:var(--gold);display:inline-block;border-bottom:1px solid #78806a;text-decoration:none;padding-bottom:5px;transition:color .25s}.community-text-link:hover{color:var(--cream)}.community-section{padding-block:90px;scroll-margin-top:100px}.community-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.community-section-heading>p{max-width:370px;color:#bdc8bf}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.team-card{border:1px solid #3c5042;background:#20352b;overflow:hidden;border-radius:3px 48px 3px 3px;transition:transform .4s,border-color .4s}.team-card:hover{transform:translateY(-7px);border-color:var(--gold)}.team-card-image{height:310px;position:relative;overflow:hidden}.team-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.team-card:hover img{transform:scale(1.05)}.team-card-image>span{position:absolute;bottom:18px;left:24px;color:var(--cream);font-size:42px;font-family:var(--font-editorialOld);text-shadow:0 2px 12px #000}.team-card-copy{padding:28px}.team-card-copy p:last-child{color:#bdc8bf;margin-bottom:0}.community-note{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #3c5042;margin-top:48px;padding-top:30px}.community-cta{text-align:center;padding-block:80px 100px;border-top:1px solid #3c5042}.community-button{display:inline-flex;align-items:center;gap:35px;border:1px solid var(--gold);border-radius:999px;padding:15px 25px;color:var(--pine);background:var(--gold);text-transform:uppercase;font-size:12px;letter-spacing:.08em;text-decoration:none;transition:background .25s}.community-button:hover{background:var(--cream);color:var(--pine)}.community-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.community-filters button{background:transparent;border:1px solid #687661;color:var(--cream);border-radius:999px;padding:10px 22px;transition:background .25s,color .25s}.community-filters button[aria-pressed=true],.community-filters button:hover{background:var(--gold);color:var(--pine)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-card{position:relative;border:0;padding:0;background:#20352b;text-align:left;overflow:hidden;aspect-ratio:4/5;border-radius:3px 36px 3px 3px;color:var(--cream)}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-card:hover img{transform:scale(1.07)}.gallery-caption{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;padding:60px 22px 22px;background:linear-gradient(transparent,rgba(13,30,22,.92));font-family:var(--font-editorialOld);font-size:25px}.gallery-caption small{display:block;font-family:var(--font-workSans);text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:var(--gold);margin-top:8px}.gallery-lightbox{width:min(1000px,92vw);max-height:92dvh;background:var(--pine);color:var(--cream);border:1px solid #687661;padding:45px 20px 16px}.gallery-lightbox::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(8px)}.gallery-lightbox>img{display:block;width:100%;height:min(65dvh,650px);object-fit:contain}.lightbox-close{position:absolute;top:4px;right:16px;font-size:28px}.gallery-lightbox button{border:0;background:transparent;color:var(--gold);min-width:44px;min-height:44px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.lightbox-controls p{margin:0;text-align:center}.faq-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:80px}.faq-layout aside>p:not(.community-eyebrow){color:#bdc8bf;max-width:330px}.faq-search{width:100%;border:1px solid #687661;padding:16px 20px;background:#20352b;color:var(--cream);border-radius:3px;font:inherit}.faq-search::placeholder{color:#bdc8bf}.faq-search-status{font-size:12px;color:var(--gold);min-height:22px;margin:10px 0}.faq-item{border-bottom:1px solid #3c5042}.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0;cursor:pointer;font-size:18px}.faq-item summary::-webkit-details-marker{display:none}.faq-item small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-size:10px;margin-bottom:6px}.faq-toggle{font-size:28px;color:var(--gold);transition:transform .3s}.faq-item[open] .faq-toggle{transform:rotate(45deg)}.faq-answer{color:#bdc8bf;max-width:600px;padding-bottom:16px;animation:community-enter .3s ease both}.community-page [hidden]{display:none!important}.community-page :focus-visible{outline:2px solid var(--gold);outline-offset:5px}.community-reveal.is-pending{opacity:0;transform:translateY(28px)}.community-reveal{transition:opacity .7s,transform .7s,border-color .4s}@keyframes community-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes community-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-layout{grid-template-columns:1fr;gap:36px}.community-section-heading{align-items:start;flex-direction:column;gap:8px}}@media(max-width:600px){.community-hero{min-height:620px;padding-top:140px}.community-hero-caption{left:24px;right:auto;font-size:9px}.community-section{padding-block:56px}.team-grid{grid-template-columns:1fr;gap:24px}.team-card-image{height:250px}.gallery-grid{gap:12px}.gallery-caption{font-size:18px;padding:45px 12px 15px}.community-filters button{padding:9px 14px;font-size:12px}.community-note{flex-direction:column;align-items:start;gap:4px}.community-cta{padding-block:60px}.faq-item summary{font-size:16px}}@media(prefers-reduced-motion:reduce){.community-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.community-reveal.is-pending{opacity:1;transform:none}}

.gallery-event-card { aspect-ratio: 3 / 2; }
.gallery-event-card img { object-fit: contain; }
.gallery-event-card .gallery-caption { font-size: 20px; padding: 44px 16px 14px; }
@media (max-width: 600px) {
  .gallery-grid:has(.gallery-event-card) { grid-template-columns: 1fr; }
}

.gallery-scroll-hero { background: var(--pine); position: relative; }
.gallery-scroll-stage { padding: 110px 0 24px; }
.gallery-scroll-heading { padding-inline: 5vw; margin-bottom: 24px; }
.gallery-scroll-heading .community-eyebrow { margin-bottom: 10px; }
.community-page .gallery-scroll-heading h1 { font-size: clamp(28px, 3.2vw, 46px); margin: 0; }
.gallery-scroll-viewport { width: 100%; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.gallery-scroll-viewport::-webkit-scrollbar { display: none; }
.gallery-scroll-track { display: flex; gap: clamp(12px, 1.5vw, 28px); padding-inline: 18vw; width: max-content; }
.gallery-scroll-slide { flex: 0 0 64vw; width: 64vw; margin: 0; scroll-snap-align: center; transition: opacity .3s; }
.gallery-scroll-slide img { width: 100%; height: min(60svh, 42vw); object-fit: cover; background: var(--pine); display: block; }
.gallery-scroll-slide figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; line-height: 1.3; }
.gallery-scroll-slide figcaption > span { font-size: clamp(18px, 2vw, 28px); }
.gallery-scroll-slide figcaption small { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: #bdc8bf; }
.gallery-scroll-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 5vw 0; font-size: 11px; color: var(--gold); }
.gallery-scroll-footer a { color: inherit; text-decoration: none; }
.gallery-scroll-controls { display: flex; align-items: center; gap: 12px; }
.gallery-scroll-controls button { min-width: 44px; min-height: 44px; border: 1px solid #687661; background: transparent; color: var(--gold); border-radius: 50%; }
.gallery-scroll-controls button:disabled { opacity: .35; }
.gallery-scroll-hero.is-scroll-driven .gallery-scroll-stage { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; justify-content: center; }
.gallery-scroll-hero.is-scroll-driven .gallery-scroll-viewport { overflow: hidden; scroll-snap-type: none; }
.gallery-scroll-hero.is-scroll-driven .gallery-scroll-track { will-change: transform; }
@media (max-width: 600px) {
  .gallery-scroll-stage { padding-top: 92px; }
  .gallery-scroll-track { padding-inline: 8vw; gap: 12px; }
  .gallery-scroll-slide { width: 84vw; flex-basis: 84vw; }
  .gallery-scroll-slide img { height: min(52svh, 56vw); }
  .gallery-scroll-slide figcaption small { display: none; }
  .gallery-scroll-footer { padding-inline: 5vw; flex-wrap: wrap; }
  .gallery-scroll-footer > span { font-size: 10px; }
  .gallery-scroll-footer a { font-size: 10px; }
  .gallery-scroll-controls { gap: 6px; }
}
@media (max-height: 500px) and (min-width: 601px) {
  .gallery-scroll-stage { padding-top: 72px; padding-bottom: 8px; }
  .gallery-scroll-heading { margin-bottom: 12px; }
  .gallery-scroll-heading .community-eyebrow { display: none; }
  .gallery-scroll-slide img { height: 45svh; }
  .gallery-scroll-footer { padding-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-scroll-slide { transition: none; }
}

.team-slider { margin-bottom: 56px; }
.team-slider-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 24px; }
.team-slider-heading .community-eyebrow { margin-bottom: 10px; }
.team-slider-heading h3 { margin: 0; }
.team-slider-controls { display: flex; gap: 10px; }
.team-slider-controls button { min-width: 44px; min-height: 44px; background: transparent; color: var(--gold); border: 1px solid #687661; border-radius: 999px; padding: 8px 14px; }
.team-slider-controls button:hover { background: #20352b; }
.team-slider-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 3px 48px 3px 3px; }
.team-slider-viewport::-webkit-scrollbar { display: none; }
.team-slider-track { display: flex; gap: 24px; }
.team-photo-slide { flex: 0 0 calc((100% - 24px) / 2); min-width: 0; margin: 0; scroll-snap-align: start; overflow: hidden; background: #20352b; border: 1px solid #3c5042; border-radius: 3px 48px 3px 3px; }
.team-photo-slide img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; display: block; }
.team-photo-slide figcaption { padding: 22px; }
.team-photo-slide figcaption > span { display: block; font-family: var(--font-editorialOld); font-size: 28px; }
.team-photo-slide figcaption small { color: var(--gold); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.team-slider-dots { display: flex; justify-content: center; gap: 4px; margin-top: 20px; }
.team-slider-dots button { position: relative; width: 36px; height: 36px; background: transparent; border: 0; padding: 0; }
.team-slider-dots button::after { content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #687661; inset: 14px; }
.team-slider-dots button[aria-pressed=true]::after { background: var(--gold); }
@media (max-width: 600px) {
  .team-slider-heading { flex-direction: column; align-items: start; }
  .team-photo-slide { flex-basis: 100%; }
  .team-slider-track { gap: 16px; }
  .team-photo-slide figcaption { padding: 20px; }
}

/* Editorial team profiles with full-size portrait photography. */
.team-slider-heading > .community-eyebrow { margin: 0; }
.team-slider-viewport { border-radius: 0; }
.team-member-slide { flex-basis: calc((100% - 48px) / 3); border: 0; border-radius: 0; background: transparent; }
.team-member-portrait { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #20352b; }
.team-member-slide .team-member-portrait img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%; display: block; filter: saturate(.7); transition: transform .7s ease, filter .7s ease; }
.team-member-slide:hover .team-member-portrait img { transform: scale(1.035); filter: saturate(1); }
.team-member-copy { padding: 24px 0 20px; border-bottom: 1px solid #3c5042; }
.team-member-copy .community-eyebrow { font-size: 10px; letter-spacing: .12em; margin-bottom: 12px; }
.team-member-copy h3 { font-size: clamp(28px, 2.4vw, 36px); margin-bottom: 14px; }
.team-member-copy > p:last-child { color: #bdc8bf; margin: 0; font-size: 13px; line-height: 1.8; }
.team-demo-note { color: #aab8ad; font-size: 11px; text-align: center; margin: 8px 0 0; }
@media (min-width: 601px) and (max-width: 1000px) {
  .team-member-slide { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 600px) {
  .team-member-slide { flex-basis: 100%; }
  .team-member-portrait { aspect-ratio: 4 / 4.5; }
  .team-member-slide .team-member-portrait img { aspect-ratio: 4 / 4.5; }
  .team-slider-heading { flex-direction: row; align-items: center; gap: 12px; }
  .team-slider-heading > .community-eyebrow { font-size: 9px; }
  .team-slider-controls { gap: 6px; }
  .team-slider-controls button { padding-inline: 10px; }
}

.chairman-section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); align-items: center; gap: clamp(40px, 7vw, 100px); padding-block: 90px; }
.chairman-portrait { position: relative; padding: 18px 0 0 18px; }
.chairman-portrait::before { content: ''; position: absolute; top: 0; left: 0; right: 18px; bottom: 42px; border: 1px solid #7b8068; pointer-events: none; }
.chairman-portrait-frame { position: relative; background: #f5f1df; overflow: hidden; border-radius: 2px 56px 2px 2px; }
.chairman-portrait-frame img { display: block; width: 100%; height: auto; }
.chairman-portrait-caption { margin: 18px 0 0; color: var(--gold); font-size: 10px; text-transform: uppercase; letter-spacing: .16em; }
.chairman-content h2 { margin-bottom: 12px; }
.chairman-role { color: var(--gold); font-size: 13px; letter-spacing: .03em; margin-bottom: 26px; }
.chairman-rule { display: block; height: 1px; width: 72px; background: #7b8068; margin-bottom: 28px; }
.chairman-content h3 { font-size: clamp(26px, 2.6vw, 36px); margin-bottom: 18px; }
.chairman-message { color: #bdc8bf; font-size: 15px; line-height: 1.9; margin-bottom: 30px; }
.chairman-contact { border-top: 1px solid #3c5042; padding-top: 24px; }
.chairman-contact .community-eyebrow { margin-bottom: 12px; }
.chairman-email { color: var(--cream); text-decoration: none; font-size: 14px; overflow-wrap: anywhere; }
.chairman-email > span { color: var(--gold); margin-right: 8px; }
.chairman-email:hover { color: var(--gold); }
.chairman-contact address { color: #bdc8bf; font-style: normal; font-size: 13px; margin-top: 14px; line-height: 1.8; }
.chairman-social { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 24px; font-size: 11px; }
.chairman-social > span { color: #bdc8bf; }
.chairman-social a { color: var(--gold); text-decoration: none; border-bottom: 1px solid #687661; padding-bottom: 3px; }
.chairman-section + .community-section { border-top: 1px solid #3c5042; }
@media (max-width: 800px) {
  .chairman-section { grid-template-columns: 1fr; gap: 36px; padding-block: 56px; }
  .chairman-portrait { width: min(100%, 440px); margin-inline: auto; }
}

.faq-refined { max-width: 1040px; padding-block: 80px; }
.faq-refined-heading { text-align: center; max-width: 620px; margin: 0 auto 32px; }
.faq-refined-heading .community-eyebrow { margin-bottom: 18px; }
.faq-refined-heading h2 { font-size: clamp(40px, 4.5vw, 62px); margin-bottom: 20px; }
.faq-refined-heading > p:last-child { color: #bdc8bf; font-size: 14px; max-width: 460px; margin-inline: auto; }
.faq-refined-search { display: flex; align-items: center; gap: 12px; max-width: 520px; margin-inline: auto; border: 1px solid #3c5042; border-radius: 999px; background: #1b3025; padding-inline: 20px; }
.faq-refined-search > span { font-size: 28px; color: var(--gold); }
.faq-refined-search .faq-search { background: transparent; border: 0; padding: 13px 0; font-size: 13px; border-radius: 0; }
.faq-refined-search:focus-within { border-color: var(--gold); }
.faq-refined .faq-search-status { text-align: center; min-height: 18px; margin: 8px 0 18px; }
.faq-refined .faq-list { display: grid; gap: 12px; }
.faq-refined .faq-item { border: 1px solid #3c5042; border-radius: 8px; background: #1b3025; transition: border-color .25s, background .25s; }
.faq-refined .faq-item:hover { border-color: #7b8068; }
.faq-refined .faq-item[open] { background: #20352b; border-color: #7b8068; }
.faq-refined .faq-item summary { padding: 22px 24px; gap: 20px; font-size: 16px; line-height: 1.5; }
.faq-number { color: var(--gold); font-size: 11px; letter-spacing: .08em; flex-shrink: 0; }
.faq-question { flex: 1; }
.faq-refined .faq-toggle { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid #687661; border-radius: 50%; font-size: 20px; flex-shrink: 0; }
.faq-refined .faq-answer { max-width: none; padding: 0 74px 22px 64px; font-size: 14px; line-height: 1.85; }
.faq-refined .faq-answer p { margin-bottom: 0; }
.faq-refined .faq-answer a { color: var(--gold); text-underline-offset: 4px; }
.faq-help-card { margin-top: 32px; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #3c5042; border-radius: 8px; }
.faq-help-card .community-eyebrow { margin-bottom: 8px; }
.faq-help-card h3 { font-size: 28px; margin-bottom: 8px; }
.faq-help-card p:last-child { color: #bdc8bf; font-size: 13px; margin-bottom: 0; }
.faq-help-card .community-button { flex-shrink: 0; }
@media (max-width: 600px) {
  .faq-refined { padding-block: 56px; }
  .faq-refined .faq-item summary { padding: 18px 16px; gap: 12px; font-size: 14px; }
  .faq-refined .faq-answer { padding: 0 20px 20px 44px; font-size: 13px; }
  .faq-help-card { padding: 24px; flex-direction: column; align-items: start; }
}
