.community-hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:70px 5%;background:var(--deep)}.community-hero>img{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(5px);z-index:-2}.community-hero:before{content:'';position:absolute;inset:0;background:#001724c9;z-index:-1}.community-hero h1{font:clamp(2.5rem,5vw,4.5rem)/1.12 Georgia,serif;color:var(--cream);margin:12px 0 18px;letter-spacing:-.025em}.community-hero p{margin:0 auto;color:var(--cream);font-size:1.1rem}.community-hero .eyebrow{color:var(--gold)}.community-content{padding:48px 5%;max-width:1600px;margin:auto;background:var(--cream);color:var(--navy)}#page-main{background:var(--cream)}.community-content>h2{font:2.6rem Georgia,serif}.community-content>.eyebrow{color:#896116}.leaders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.leader-card{padding:30px;background:#fff;border:1px solid #e1d5bb;border-radius:10px;box-shadow:0 5px 20px #00172408}.leader-initials{width:78px;height:78px;border:1px solid var(--gold);border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font:1.7rem Georgia,serif;margin-bottom:24px}.leader-card .eyebrow{color:#896116;line-height:1.7;min-height:42px;font-size:.75rem}.leader-card h3{font:1.8rem Georgia,serif;margin:8px 0}.leader-card:first-child,.leader-card:nth-child(2){border-top:3px solid var(--gold)}.community-callout{text-align:center;margin-top:40px;padding:36px;background:var(--navy);color:var(--cream);border-radius:10px}.community-callout h2{font:2.2rem Georgia,serif}.community-callout p{margin:18px 0}#page-language{border:1px solid var(--gold);border-radius:8px;color:var(--gold);padding:8px 12px;min-height:40px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.month-controls{display:flex;align-items:center;gap:20px}.month-controls h2{font:2rem Georgia,serif;text-transform:capitalize;margin:0}.month-controls button{border:1px solid #d8c8a6;color:var(--navy);width:44px;height:44px;border-radius:6px;background:#fff}.calendar-note,.calendar-source{margin:20px 0;color:#43576a;line-height:1.6}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d8c8a6;border-radius:8px;overflow:hidden}.weekday{padding:14px 8px;text-align:center;background:var(--navy);color:var(--gold);text-transform:capitalize;font-weight:600}.calendar-day{min-height:112px;padding:12px 8px;border-right:1px solid #e1d5bb;border-bottom:1px solid #e1d5bb;background:#fff}.calendar-day.empty{background:#eee8dc}.day-number{display:block;margin-bottom:8px;font-size:.9rem}.is-today{box-shadow:inset 0 0 0 2px #b68b2d}.calendar-event{background:#f5e7bc;color:#001724;border-radius:5px;width:100%;font-size:.78rem;line-height:1.5;text-align:left;padding:7px;min-height:44px}.agenda{margin-top:36px}.agenda h2{font:2rem Georgia,serif}.agenda-event{display:block;width:100%;padding:16px 18px;text-align:left;background:#fff;color:var(--navy);border-bottom:1px solid #e1d5bb;line-height:1.6}.agenda-event:hover,.calendar-event:hover{background:#f4cc67}.agenda-event:focus-visible,.calendar-event:focus-visible{outline:3px solid #9a6e12;outline-offset:-3px}.calendar-content .button{min-height:44px}#event-dialog{border-radius:10px}#event-dialog .actions{flex-wrap:wrap;margin-top:24px}@media(max-width:950px){.leaders-grid{grid-template-columns:1fr 1fr}header nav{gap:12px;font-size:.85rem}.calendar-event{font-size:.7rem}}@media(max-width:760px){.community-hero{padding:44px 5%}.community-content{padding:32px 5%}.leaders-grid{grid-template-columns:1fr}.calendar-grid{display:none}.calendar-toolbar{align-items:center}.month-controls{gap:9px}.month-controls h2{font-size:1.35rem}.month-controls button{width:38px}.calendar-toolbar .button{padding:10px 14px;font-size:.8rem}.agenda{margin-top:24px}.leader-card .eyebrow{min-height:0}}

.leader-photo{display:block;width:100%;height:280px;object-fit:cover;border-radius:6px;margin-bottom:24px}.pastors-feature{display:grid;grid-template-columns:minmax(240px,400px) 1fr;align-items:center;gap:48px;margin-bottom:48px;padding:28px;background:var(--navy);color:var(--cream);border:1px solid var(--gold);border-radius:12px}.pastors-feature>img{display:block;width:100%;height:auto;border-radius:8px}.pastors-feature h2{font:clamp(2rem,3vw,3.3rem) Georgia,serif;margin:18px 0}.pastors-feature p{line-height:1.7}.pastors-feature .eyebrow{color:var(--gold)}@media(max-width:760px){.pastors-feature{grid-template-columns:1fr;gap:24px;padding:20px}.leader-photo{height:300px}}

/* Compact navy team layout. */
.team-page #page-main,.team-page .community-content{background:#071b2a;color:var(--cream)}
.team-page .community-hero{padding-block:44px}
.team-page .community-content{padding-block:32px;max-width:1360px}
.team-page .pastors-feature{grid-template-columns:240px 1fr;gap:32px;padding:0 0 28px;border:0;border-bottom:1px solid #f4cc6740;border-radius:0;margin-bottom:28px;background:transparent}
.team-page .pastors-feature>img{width:240px;height:240px;object-fit:cover}
.team-page .community-content>.eyebrow{color:var(--gold)}
.team-page .community-content>h2{font-size:2rem;margin-bottom:20px}
.team-page .leaders-grid{gap:18px;margin-top:20px;align-items:start}
.team-page .leader-card{padding:16px;background:#102837;border:1px solid #f4cc6729;box-shadow:none;border-radius:8px;min-height:0}
.team-page .leader-photo{height:240px;margin-bottom:16px}
.team-page .leader-card h3{font-size:1.5rem;margin:10px 0 4px;color:var(--cream)}
.team-page .leader-card .eyebrow{color:var(--gold);min-height:0;font-size:.68rem;letter-spacing:.09em;line-height:1.65;margin:0}
.team-page .leader-card:has(.leader-initials){display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;padding:22px 16px}
.team-page .leader-initials{flex:0 0 54px;width:54px;height:54px;margin:0;font-size:1.15rem;grid-row:1/3}
.team-page .leader-card:has(.leader-initials){display:grid;grid-template-columns:54px 1fr}
.team-page .leader-card:has(.leader-initials) h3{grid-column:2;margin:6px 0 0}
.team-page .community-callout{margin-top:28px;padding:24px;background:#102837;border:1px solid #f4cc6729}
@media(max-width:760px){.team-page .pastors-feature{grid-template-columns:1fr;gap:20px}.team-page .pastors-feature>img{width:100%;height:auto;max-width:360px}.team-page .leader-photo{height:280px}.team-page .community-hero h1{font-size:2.5rem}}

.event-flyer{display:block;max-width:100%;height:auto;border-radius:6px;margin:20px 0}.event-flyer[hidden]{display:none}

/* Navy calendar with focused special-event cards. */
.calendar-page #page-main,.calendar-page .community-content{background:#071b2a;color:var(--cream)}
.calendar-page .community-hero{padding-block:42px;border-bottom:1px solid #f4cc6740}
.calendar-page .calendar-content{max-width:1400px;padding-block:32px}
.calendar-page .calendar-note,.calendar-page .calendar-source{color:#b9c8d1;font-size:.95rem}
.calendar-page .calendar-toolbar{padding-bottom:6px}
.calendar-page .month-controls button{background:#102c3d;color:var(--gold);border-color:#f4cc6760}
.calendar-page .calendar-toolbar .button{background:transparent;color:var(--cream);border-color:#f4cc6760}
.calendar-page .calendar-grid{border-color:#f4cc6750}
.calendar-page .weekday{background:#04131f;padding:12px 8px}
.calendar-page .calendar-day{background:#102837;border-color:#ffffff12;min-height:100px;padding:10px 8px}
.calendar-page .calendar-day.empty{background:#091e2c}
.calendar-page .day-number{color:#d8e2e8}
.calendar-page .is-today{box-shadow:inset 0 0 0 2px var(--gold)}
.calendar-page .calendar-event{background:#193b4e;color:#e6eef1;border-left:2px solid #f4cc6790;font-size:.75rem;padding:7px 6px}
.calendar-page .calendar-event:hover{background:#29546c}
.calendar-page .agenda{margin-top:30px;border-top:1px solid #f4cc6740;padding-top:24px}
.calendar-page .agenda h2{font-size:1.8rem;margin-bottom:20px}
.calendar-special-card{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;background:#102837;border:1px solid #f4cc6740;border-radius:8px;padding:18px;max-width:800px}
.calendar-special-card img{display:block;width:160px;height:160px;object-fit:contain;border-radius:4px}
.calendar-special-card h3{font:1.8rem Georgia,serif;margin:0 0 12px;color:var(--cream)}
.calendar-special-card p{color:#b9c8d1;line-height:1.6;margin-bottom:18px}
.calendar-empty{color:#b9c8d1;padding:18px 0;margin:0}
.mobile-services{display:none}
@media(max-width:760px){.calendar-page .community-hero{padding-block:34px}.calendar-special-card{grid-template-columns:100px 1fr;gap:16px;padding:14px}.calendar-special-card img{width:100px;height:100px}.calendar-special-card h3{font-size:1.4rem}.calendar-special-card p{font-size:.88rem;margin-bottom:12px}.calendar-special-card .button{font-size:.8rem;padding:10px 14px;min-height:44px}.mobile-services{display:block;margin-top:24px;border:1px solid #f4cc6740;border-radius:8px;padding:16px}.mobile-services summary{cursor:pointer;color:var(--gold);font-weight:600}.mobile-services .agenda-event{background:transparent;color:var(--cream);border-color:#ffffff18;padding:14px 0;font-size:.9rem}.calendar-page .agenda{margin-top:20px}}

.team-page .pastors-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}.team-page .pastors-grid .leader-photo{height:300px}.leadership-heading{margin-top:36px;padding-top:28px;border-top:1px solid #c4a96b60}.leadership-heading h2{font:2rem Georgia,serif;margin:12px 0 20px}.leadership-heading .eyebrow{color:var(--gold)}@media(max-width:760px){.team-page .pastors-grid{grid-template-columns:1fr}.team-page .pastors-grid .leader-photo{height:280px}}
.team-page .pastors-feature{grid-template-columns:minmax(280px,420px) 1fr;gap:56px;padding:24px 0 48px;margin-bottom:36px;min-height:460px}
.team-page .pastors-feature>img{width:100%;height:420px;object-fit:cover;border-radius:10px}
.team-page .pastors-feature h2{font-size:clamp(2.8rem,4.5vw,4.6rem);line-height:1.1}
.team-page .pastors-feature .eyebrow{font-size:.95rem}
.team-page .pastors-feature p:not(.eyebrow){font-size:1.15rem}
.team-page .community-content>.eyebrow,.team-page .community-content>h2{text-align:center}
.team-page .pastors-grid{margin-left:auto;margin-right:auto}
.leader-placeholder{height:240px;margin-bottom:16px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(145deg,#1e3b4c,#0b202e);border:1px solid #ddbd7640}
.leader-placeholder span{display:grid;place-items:center;width:86px;height:86px;border:1px solid #ddbd76;border-radius:50%;font:2rem Georgia,serif;color:#f4cc67}
html[data-theme=light] .leader-placeholder{background:linear-gradient(145deg,#eee7db,#e2d7c3);border-color:#d2bf99}
html[data-theme=light] .leader-placeholder span{color:#795310;border-color:#a28b5e}
@media(max-width:760px){.team-page .pastors-feature{grid-template-columns:1fr;gap:28px;padding:8px 0 32px;min-height:0;text-align:center}.team-page .pastors-feature>img{max-width:420px;height:auto;margin:auto}.team-page .pastors-feature h2{font-size:2.8rem}.team-page .pastors-feature p{margin-left:auto;margin-right:auto}.leader-placeholder{height:280px}}

/* Editorial feature above consistently sized individual portraits. */
.team-page .pastors-feature{align-items:start}
.team-page .pastors-feature>div{padding-top:12px}
.team-page .community-content>.eyebrow{max-width:none;width:100%;margin-left:auto;margin-right:auto;text-align:center}
.team-page .community-content>h2{width:100%;text-align:center}
.team-page .pastors-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.team-page .pastors-grid .leader-card:first-child{grid-column:1}
.team-page .pastors-grid .leader-card:last-child{grid-column:2}
.team-page .pastors-grid{display:flex;justify-content:center;flex-wrap:wrap}
.team-page .pastors-grid .leader-card{width:calc((100% - 36px)/3)}
.team-page .pastors-grid .leader-photo,.team-page .leader-photo,.team-page .leader-placeholder{height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:950px) and (min-width:761px){.team-page .pastors-grid .leader-card{width:calc((100% - 18px)/2)}}
@media(max-width:760px){.team-page .pastors-grid .leader-card{width:100%}.team-page .pastors-feature>div{padding-top:0}}

/* Larger ministry portraits on desktop; retain the mobile presentation. */
@media(min-width:951px){.team-page .leaders-grid:not(.pastors-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.team-page .leaders-grid:not(.pastors-grid) .leader-card{padding:20px}.team-page .leaders-grid:not(.pastors-grid) .leader-photo,.team-page .leaders-grid:not(.pastors-grid) .leader-placeholder{aspect-ratio:4/3}.team-page .leaders-grid:not(.pastors-grid) .leader-card h3{font-size:1.75rem}.team-page .leaders-grid:not(.pastors-grid) .leader-card .eyebrow{font-size:.78rem}}

/* Clear section divisions and equally sized pastoral/leadership cards. */
.team-page .pastors-feature{border-bottom:2px solid #c9a44e}
.team-page .leadership-heading{border-top:2px solid #c9a44e}
html[data-theme=light] .team-page .pastors-feature{border-bottom-color:#9b741f}
html[data-theme=light] .team-page .leadership-heading{border-top-color:#9b741f}
@media(min-width:951px){.team-page .pastors-grid{gap:24px}.team-page .pastors-grid .leader-card{width:calc((100% - 24px)/2);padding:20px}.team-page .pastors-grid .leader-card h3{font-size:1.75rem}.team-page .pastors-grid .leader-card .eyebrow{font-size:.78rem}}

/* Responsive ministry grid: three, two, then one column. */
.team-page .leaders-grid:not(.pastors-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1050px){.team-page .leaders-grid:not(.pastors-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.team-page .leaders-grid:not(.pastors-grid){grid-template-columns:1fr;gap:18px}}

/* Equal card widths with a wider leadership canvas. */
.team-page .community-content{max-width:1900px}
.team-page .pastors-feature{max-width:1200px;margin-left:auto;margin-right:auto}
.team-page .pastors-grid .leader-card{width:calc((100% - 48px)/3)}
.team-page .pastors-feature .eyebrow,.team-page .community-content>.eyebrow,.team-page .leadership-heading .eyebrow{font-size:clamp(1rem,1.3vw,1.2rem);font-weight:700;letter-spacing:.13em;line-height:1.6}
@media(max-width:1050px){.team-page .pastors-grid .leader-card{width:calc((100% - 24px)/2)}}
@media(max-width:650px){.team-page .pastors-grid .leader-card{width:100%}}

/* Event details: one image, one language, and a clear date/location hierarchy. */
#event-dialog{width:min(720px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow-y:auto;overscroll-behavior:contain;position:fixed;border:1px solid #b99b5c;border-radius:12px;background:#071b2a;color:#fcfaf6;box-shadow:0 24px 90px #0006}
#event-dialog .close{position:absolute;top:12px;right:12px;z-index:1;width:40px;height:40px;padding:0;border-radius:50%;background:#071828d9;color:#fcfaf6;display:grid;place-items:center;font-size:1.7rem;line-height:1}
#event-dialog .event-flyer{display:block;width:100%;max-height:none;object-fit:contain;object-position:center;margin:0;border-radius:0}
#event-dialog .event-flyer.event-cover{max-height:240px;object-fit:cover}
#event-dialog .event-flyer[hidden]{display:none}
#event-dialog .event-dialog-body{padding:30px 34px 32px}
#event-dialog .eyebrow{margin:0 0 10px}
#event-dialog h2{font-size:clamp(1.9rem,5vw,2.5rem);margin:0 0 22px}
#event-dialog .event-facts{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;padding:20px 0;margin:0 0 22px;border-block:1px solid #b99b5c45}
#event-dialog .event-label{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
#event-dialog #event-date{font-weight:600;color:inherit;margin:0 0 5px}
#event-dialog #event-time,#event-dialog #event-recurrence{font-size:.9rem;margin:0 0 5px;color:#b9c8d1}
#event-dialog address{font-size:.93rem;font-style:normal;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line}
#event-dialog #event-description{margin:0;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere;color:#b9c8d1}
#event-dialog .actions{gap:12px;margin-top:26px}
#event-dialog .actions .button{font-size:.8rem;padding:12px 18px;gap:12px;min-height:48px}
#calendar-agenda{display:grid;gap:18px}
@media(max-width:600px){#event-dialog .event-dialog-body{padding:24px}#event-dialog .event-facts{grid-template-columns:1fr;gap:18px}#event-dialog .event-flyer.event-cover{max-height:220px}#event-dialog .actions{flex-direction:column}#event-dialog .actions .button{width:100%}}
html[data-theme=light] #event-dialog .event-label{color:#795310}
html[data-theme=light] #event-dialog #event-time,html[data-theme=light] #event-dialog #event-recurrence,html[data-theme=light] #event-dialog #event-description{color:#526374}

html[data-theme=light] #event-dialog{background:#fcfaf6;color:#102538;border-color:#b99b5c}
html[data-theme=light] #event-dialog #event-category{color:#795310}
html[data-theme=dark] #event-dialog #event-category{color:#ddbd76}
html[data-theme=light] #event-dialog .button.outline{color:#102538;border-color:#a28b5e}

#event-dialog .calendar-options{margin-top:16px;padding:18px;border:1px solid #b99b5c65;border-radius:8px;background:#ffffff05}
#event-dialog .calendar-options[hidden]{display:none}
#event-dialog .calendar-options>p{margin:0 0 10px;font-weight:600;color:inherit;font-size:.9rem}
#event-dialog .calendar-options>div{display:flex;gap:10px;flex-wrap:wrap}
#event-dialog .calendar-options a{display:block;min-height:44px;padding:10px 14px;border:1px solid #b99b5c75;border-radius:5px;font-size:.85rem;color:inherit}
#event-dialog .calendar-options a:hover{background:#b99b5c22}
#event-dialog .calendar-options small{display:block;margin-top:12px;line-height:1.6;color:#b9c8d1}
html[data-theme=light] #event-dialog .calendar-options small{color:#526374}
@media(max-width:600px){#event-dialog .calendar-options>div{flex-direction:column}}

/* Shared hierarchy for the date and venue on every event. */
#event-dialog{--event-primary:#fcfaf6;--event-secondary:#c2cbd2}
#event-dialog #event-date,#event-dialog #event-location-name{margin:0 0 5px;font-size:1rem;font-weight:600;line-height:1.6;color:var(--event-primary)}
#event-dialog address{margin:0;padding:0;font-size:.9rem;font-weight:400;line-height:1.6;color:var(--event-secondary)}
#event-dialog #event-time,#event-dialog #event-recurrence,#event-dialog #event-description{color:var(--event-secondary)}
html[data-theme=light] #event-dialog{--event-primary:#102538;--event-secondary:#526374}
html[data-theme=light] #event-dialog #event-date,html[data-theme=light] #event-dialog #event-location-name{color:var(--event-primary)}
html[data-theme=light] #event-dialog #event-time,html[data-theme=light] #event-dialog #event-recurrence,html[data-theme=light] #event-dialog #event-description{color:var(--event-secondary)}

/* Public ministry mailbox, associated with its named leader. */
.team-page .leader-card .leader-email{display:flex;align-items:center;min-height:44px;margin-top:4px;font-size:.85rem;line-height:1.5;overflow-wrap:anywhere;word-break:normal}
