:root { color-scheme: light; --about-ink: #514d52; --about-body: #49454b; --about-paper: #f5f3f0; --about-dark: #201c20; --about-coral: #eb896f; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--about-ink); background: var(--about-paper); font-family: "Montserrat", sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--about-coral); outline-offset: 4px; }
.site-header { position: absolute; inset: 0 0 auto; z-index: 2; min-height: 84px; color: #d2cfd2; background: rgba(30,27,31,.83); }
.breadcrumbs { position: absolute; z-index: 1; top: 84px; left: 0; display: flex; width: 100%; min-height: 2.25rem; align-items: center; padding: .35rem max(1rem, calc((100% - 925px) / 2)); color: rgba(255,255,255,.92); background: rgba(32,28,32,.64); font-size: .75rem; font-weight: 500; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li + li::before { content: "/"; margin-right: .45rem; color: rgba(255,255,255,.55); }
.breadcrumbs a:hover, .breadcrumbs a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .15em; }
.nav-inner { width: min(100% - 32px, 925px); min-height: 84px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { display: grid; flex: 0 0 auto; color: #f7f6f7; line-height: .9; text-align: center; }
.brand-logo { display: block; width: 118px; height: 78px; object-fit: contain; }
.nav-links { display: flex; align-items: center; gap: clamp(12px, 2.6vw, 34px); font-size: 13px; font-weight: 500; }
.nav-item { position: relative; }
.nav-item > a { display: inline-flex; min-height: 84px; align-items: center; }
.nav-links a:hover, .nav-links a:focus-visible, .nav-links .active { color: #fff; }
.nav-submenu { display: none; position: absolute; z-index: 3; top: 84px; left: 50%; width: 100vw; min-height: 58px; transform: translateX(-50%); align-items: center; justify-content: center; gap: clamp(18px, 4vw, 44px); padding: 10px 16px; color: #ebe8eb; background: rgba(32,28,32,.98); font-size: 13px; font-weight: 500; white-space: nowrap; }
.nav-item:hover .nav-submenu, .nav-item:focus-within .nav-submenu { display: flex; }
.nav-submenu a { min-height: 40px; display: inline-flex; align-items: center; }
.nav-submenu a:hover, .nav-submenu a:focus-visible, .nav-submenu .active { color: #fff; box-shadow: 0 2px var(--about-coral); }
.menu-toggle { display: none; }
.beliefs-cover { height: clamp(210px, 24vw, 255px); background: linear-gradient(rgba(30,27,31,.1), rgba(30,27,31,.14)), url('/assets/beliefs-hero.png') center 52% / cover no-repeat; }
.beliefs-main { padding: 3.5rem 1.25rem 5rem; background: var(--about-paper); }
.beliefs-wrap { width: min(100%, 53rem); margin-inline: auto; }
.beliefs-title { margin: 0 0 1rem; color: #5a555a; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; text-align: center; }
.beliefs-verse { max-width: 42rem; margin: 0 auto 2.3rem; color: #49454b; font-size: .95rem; font-style: italic; line-height: 1.7; text-align: center; }
.beliefs-verse strong { display: block; margin-top: .75rem; font-style: italic; font-weight: 600; }
.beliefs-intro { margin: 0 0 1.3rem; color: var(--about-body); font-size: .95rem; line-height: 1.75; }
.beliefs-list { margin: 0; color: var(--about-body); font-size: .92rem; line-height: 1.7; }
.beliefs-list dt { margin-top: 1.05rem; color: #39353a; font-size: .9rem; font-weight: 600; }
.beliefs-list dd { margin: .08rem 0 0; }
.team-cover { height: clamp(270px, 37vw, 382px); background: url('/assets/team-meeting-room.png') center 52% / cover no-repeat; filter: grayscale(1); }
.team-main { min-height: 735px; padding: 3.5rem 1.25rem 5rem; background: var(--about-paper); }
.team-wrap { width: min(100%, 54rem); margin-inline: auto; }
.team-title { margin: 0 0 4rem; color: #5a555a; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; text-align: center; }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(1.5rem, 7vw, 7rem); row-gap: 3rem; }
.team-card { min-width: 0; text-align: center; }
.team-portrait { display: grid; width: min(100%, 15rem); aspect-ratio: 1; margin-inline: auto; place-items: center; overflow: hidden; border: 1px dashed #aaa4a0; color: #625d63; background: #e7e3df; }
.team-photo-label { font-size: .8rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.team-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.team-name { margin: 1rem 0 .15rem; color: #29262a; font-size: 1.1rem; font-weight: 500; }
.team-role { margin: 0; color: #625d63; font-size: 1rem; font-style: italic; font-weight: 300; }
.team-name a:hover { text-decoration: underline; text-decoration-color: var(--about-coral); text-underline-offset: .2em; }
.team-photo-link { display: block; }
.bio-titlebar { min-height: 18rem; padding: 10rem 1rem 2.5rem; background: var(--about-paper); text-align: center; }
.bio-title { margin: 0 0 .65rem; color: #514d52; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 300; letter-spacing: -.055em; }
.bio-subtitle { margin: 0 auto; color: #777379; font-size: .95rem; font-style: italic; line-height: 1.65; }
.bio-main { padding: 3.5rem 1.25rem 6rem; background: #d8d5cf; }
.bio-article { width: min(100%, 54rem); margin-inline: auto; padding: clamp(2rem, 5vw, 4rem); color: var(--about-body); background: rgba(255,255,255,.97); box-shadow: 0 1rem 2.5rem rgba(35,31,35,.08); font-size: .95rem; line-height: 1.85; }
.bio-portrait { width: 10rem; aspect-ratio: 1; margin: 0 auto 1.75rem; overflow: hidden; border-radius: 50%; background: #e7e3df; }
.bio-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.bio-article p { margin: 0 0 1.25rem; }
.bio-article h2 { margin: 2.4rem 0 .75rem; color: #514d52; font-size: 1.25rem; font-weight: 500; }
.bio-article blockquote { margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--about-coral); color: #514d52; font-size: 1.1rem; font-style: italic; line-height: 1.65; }
.bio-inline-image { float: right; width: min(46%, 21rem); margin: .3rem 0 1.4rem 1.5rem; }
.bio-inline-image.left { float: left; margin: .3rem 1.5rem 1.4rem 0; }
.bio-inline-image img { display: block; width: 100%; height: auto; border-radius: 3px; }
.bio-inline-image figcaption { margin-top: .45rem; color: #777379; font-size: .75rem; line-height: 1.5; }
.history-cover { height: clamp(320px, 42vw, 520px); background: linear-gradient(rgba(30,27,31,.05), rgba(30,27,31,.12)), url('/assets/history-chapel.png') center 52% / cover no-repeat; }
.beliefs-cover, .team-cover, .history-cover { height: clamp(20rem, 35vw, 30rem); }
.history-main { padding: 3.5rem 1.25rem 5rem; background: var(--about-paper); }
.history-wrap { width: min(100%, 53rem); margin-inline: auto; }
.history-title { margin: 0 0 1.1rem; color: #5a555a; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; text-align: center; }
.history-verse { max-width: 47rem; margin: 0 auto 2.8rem; color: #655f65; font-size: .9rem; font-style: italic; line-height: 1.72; text-align: center; }
.history-verse strong { display: block; margin-top: .8rem; font-style: italic; font-weight: 600; }
.history-copy { color: var(--about-body); font-size: .95rem; line-height: 1.78; }
.history-copy p { margin: 0 0 1.4rem; }
.history-source { margin-top: 1.8rem !important; font-style: italic; }
.services-titlebar { min-height: 15.5rem; padding: 10rem 1rem 2rem; background: var(--about-paper); text-align: center; }
.services-title { margin: 0; color: #5a555a; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; }
.service-schedule { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 2rem; padding: 1.15rem 1rem; color: #454047; background: #fff; border-top: 1px solid #ebe8e4; }
.service-schedule p { margin: 0; font-size: .9rem; line-height: 1.5; }
.service-schedule strong { font-weight: 600; }
.service-feature { padding: 0 1.5rem 0; background: #d8d5cf; }
.service-feature-inner { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; width: min(100%, 69rem); min-height: 35rem; margin-inline: auto; }
.service-photo { position: relative; min-height: 30rem; overflow: hidden; background: linear-gradient(160deg, #a7c8d7 0 35%, #c0b8a2 35% 40%, #746a5d 40% 100%); }
.service-photo img, .prayer-photo img, .group-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.service-photo-label { padding: .65rem .9rem; color: #fff; background: rgba(32,28,32,.42); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.service-card { position: relative; z-index: 1; margin-left: -2rem; padding: 3.5rem 2.5rem; min-height: 32rem; color: #777379; background: rgba(255,255,255,.96); box-shadow: 0 1rem 2.5rem rgba(35,31,35,.09); }
.service-card h2, .children-card h2 { margin: 0 0 .75rem; color: #5a555a; font-size: clamp(1.4rem, 2.6vw, 1.8rem); font-weight: 300; letter-spacing: -.04em; }
.service-copy { font-size: .96rem; line-height: 1.75; }
.service-copy p { margin: 0 0 1rem; }
.service-copy p:last-child { margin-bottom: 0; }
.service-copy .service-lead { margin-bottom: 1.4rem; color: #39353a; font-size: .9rem; font-weight: 500; }
.service-copy strong { color: #565158; font-weight: 600; }
.service-children { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 2rem; width: min(100% - 3rem, 69rem); min-height: 42rem; margin-inline: auto; padding-block: 5.5rem; }
.children-card { min-height: 24rem; padding: 3rem; color: #777379; background: #fff; box-shadow: 0 1rem 2.5rem rgba(35,31,35,.08); }
.children-copy { font-size: .96rem; line-height: 1.75; }
.children-copy p { margin: 0 0 .75rem; }
.children-copy ul { margin: 0; padding-left: 1.35rem; }
.children-copy li { padding-left: .12rem; margin-bottom: .35rem; }
.children-photo { display: grid; min-height: 22rem; place-items: center; background: linear-gradient(180deg, #9fc6df, #427c9a 65%, #28617c); }
.children-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service-psalm { padding: 4.5rem 1.5rem; color: #49454b; background: #d8d5cf; text-align: center; }
.service-psalm blockquote { max-width: 50rem; margin: 0 auto .85rem; font-size: .96rem; font-style: italic; line-height: 1.9; }
.service-psalm cite { font-size: .92rem; font-weight: 600; font-style: italic; }
.prayer-titlebar { min-height: 17.5rem; padding: 10rem 1rem 2rem; background: var(--about-paper); text-align: center; }
.prayer-title { margin: 0; color: #5a555a; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; }
.prayer-main { padding: 0 2.5rem 5rem; background: #d8d5cf; }
.prayer-feature { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; width: min(100%, 86rem); min-height: 39rem; margin-inline: auto; }
.prayer-photo { position: relative; min-height: 39rem; overflow: hidden; background: linear-gradient(110deg, #262020 0%, #120f10 48%, #3c2925 100%); }
.prayer-photo span { padding: .65rem .9rem; color: #fff; background: rgba(32,28,32,.55); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.prayer-card { position: relative; z-index: 1; display: flex; min-height: 36rem; flex-direction: column; justify-content: center; margin-left: -2.5rem; padding: clamp(2rem, 5vw, 3.5rem); color: var(--about-body); background: rgba(255,255,255,.97); box-shadow: 0 1rem 2.5rem rgba(35,31,35,.08); }
.prayer-card h2 { margin: 0 0 1.2rem; color: #5a555a; font-size: clamp(1.5rem, 2.6vw, 1.9rem); font-weight: 300; letter-spacing: -.04em; }
.prayer-card > p { margin: 0 0 1.5rem; font-size: 1rem; line-height: 1.8; }
.prayer-verse { max-width: 58rem; margin: 0 auto; padding: 2.5rem 1.25rem 1rem; color: #625d63; text-align: center; }
.prayer-verse blockquote { margin: 0 0 .8rem; font-size: 1rem; font-style: italic; line-height: 1.9; }
.prayer-verse cite { color: #514d52; font-size: .9rem; font-style: italic; font-weight: 600; }
.groups-titlebar { min-height: 15.5rem; padding: 10rem 1rem 2rem; background: var(--about-paper); text-align: center; }
.groups-title { margin: 0; color: #5a555a; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; }
.groups-main { padding: 3.5rem 1.25rem 6rem; background: #d8d5cf; }
.groups-wrap { display: grid; gap: 4.5rem; width: min(100%, 61rem); margin-inline: auto; }
.group-row { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 27rem; }
.group-photo { position: relative; min-height: 23rem; overflow: hidden; background: linear-gradient(145deg, #9d6842, #d1a36c 46%, #49382c); }
.group-photo span { padding: .65rem .9rem; color: #fff; background: rgba(32,28,32,.48); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.group-photo-women { background: linear-gradient(145deg, #829077, #b9b5a5 50%, #655d51); }
.group-photo-men { background: linear-gradient(145deg, #677354, #a2a18b 55%, #574a37); }
.group-card { position: relative; z-index: 1; min-height: 26rem; margin-left: -1.5rem; padding: clamp(1.75rem, 4vw, 2.5rem); color: var(--about-body); background: rgba(255,255,255,.97); box-shadow: 0 .75rem 2rem rgba(35,31,35,.07); }
.group-row:nth-child(even) { grid-template-columns: .85fr 1.15fr; }
.group-row:nth-child(even) .group-card { grid-column: 1; grid-row: 1; margin-right: -1.5rem; margin-left: 0; }
.group-row:nth-child(even) .group-photo { grid-column: 2; grid-row: 1; }
.group-card h2 { margin: 0 0 1rem; color: #5a555a; font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 300; letter-spacing: -.035em; }
.group-card p, .group-card ul { margin: 0 0 1rem; font-size: .98rem; line-height: 1.8; }
.group-card p:last-child, .group-card ul:last-child { margin-bottom: 0; }
.group-card ul { padding-left: 1.3rem; }
.group-card li { padding-left: .15rem; margin-bottom: .35rem; }
.contact-titlebar { min-height: 21rem; padding: 10rem 1rem 2.5rem; background: var(--about-paper); text-align: center; }
.contact-title { margin: 0 0 1.2rem; color: #5a555a; font-size: clamp(1.7rem, 3vw, 2rem); font-weight: 300; letter-spacing: -.055em; }
.contact-details { color: #49454b; font-size: .96rem; line-height: 1.75; }
.contact-details p { margin: 0; }
.contact-details a { color: var(--about-coral); }
.contact-details a:hover { text-decoration: underline; }
.contact-travel { padding: 5.5rem 1.25rem 4rem; color: #625d63; background: #d8d5cf; text-align: center; }
.contact-map { display: block; width: min(100%, 46rem); aspect-ratio: 1.35 / 1; margin: 0 auto 3.7rem; border: 0; background: #e5e7e8; }
.travel-directions { width: min(100%, 58rem); margin-inline: auto; color: #49454b; font-size: .96rem; line-height: 1.75; }
.travel-directions section { margin-top: 1.5rem; }
.travel-directions h2 { margin: 0 0 .25rem; color: #39353a; font-size: .95rem; font-weight: 600; }
.travel-directions p { margin: 0; }
.sermons-titlebar { min-height: 28rem; padding: 10rem 1rem 3rem; background: linear-gradient(rgba(20,17,20,.3), rgba(20,17,20,.4)), url('/assets/sermons-cross-bible.png') center 48% / cover no-repeat; text-align: center; }
.sermons-title { margin: 0; color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.45); font-size: clamp(1.7rem, 3vw, 2rem); font-weight: 400; letter-spacing: -.055em; }
.sermons-main { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.25rem; width: min(100%, 76rem); min-height: 34rem; margin-inline: auto; padding: 3rem 1.25rem 5rem; background: var(--about-paper); }
.sermon-card { width: 100%; margin: 0; padding: 1.5rem; color: var(--about-body); background: #fff; box-shadow: 0 .5rem 1.5rem rgba(35,31,35,.07); }
.sermon-scripture { margin: 0 0 .4rem; color: #777379; font-size: .88rem; font-weight: 500; }
.sermon-title { margin: 0; color: #514d52; font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.3; font-weight: 400; letter-spacing: -.035em; }
.sermon-speaker { margin: .65rem 0 1rem; color: #625d63; font-size: .82rem; font-weight: 600; letter-spacing: .045em; }
.sermon-details { margin-top: 1.15rem; }
.sermon-verse { margin: 0 0 1.1rem; padding: .9rem 1rem; border-left: 3px solid #c79b60; color: #514d52; background: #f6f3ee; font-size: .91rem; font-style: italic; line-height: 1.65; }
.sermon-verse cite { display: block; margin-top: .55rem; color: #777179; font-size: .72rem; font-style: normal; font-weight: 600; letter-spacing: .025em; }
.sermon-detail-heading { margin: 0 0 .35rem; color: #514d52; font-size: .73rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sermon-summary { margin: 0 0 1rem; color: #5d585f; font-size: .86rem; line-height: 1.65; }
.sermon-reflection { margin: 0 0 1rem; padding: .8rem .9rem; border-left: 2px solid #d7c5aa; background: #fbfaf8; }
.sermon-reflection p { margin: 0; color: #5d585f; font-size: .82rem; line-height: 1.6; }
.sermon-themes > span { display: block; }
.sermon-themes ul { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.sermon-themes li { padding: .3rem .55rem; border-radius: 99px; color: #615751; background: #f1ece5; font-size: .68rem; line-height: 1.35; }
.sermon-audio { margin-top: 1rem; }
.sermon-player { display: block; width: 100%; min-height: 44px; }
.sermon-audio.is-enhanced > .sermon-player { display: none; }
.custom-player { display: flex; align-items: center; gap: .85rem; padding: .9rem 1rem; color: #f8f5ef; background: #29252b; border: 1px solid rgba(44,39,45,.08); border-radius: .35rem; }
.custom-player[hidden] { display: none; }
.player-play { display: grid; flex: 0 0 2.65rem; width: 2.65rem; height: 2.65rem; padding: 0; place-items: center; color: #211d20; background: #d9b57f; border: 0; border-radius: 50%; cursor: pointer; transition: background-color .18s ease, transform .18s ease; }
.player-play:hover { background: #f0d4a8; transform: scale(1.04); }
.player-play:focus-visible, .player-progress:focus-visible { outline: 2px solid #f0d4a8; outline-offset: 3px; }
.player-play svg { width: 1.25rem; height: 1.25rem; }
.player-play .player-play-icon { display: block; }
.player-play .player-pause-icon { display: none; }
.player-play.is-playing .player-play-icon { display: none; }
.player-play.is-playing .player-pause-icon { display: block; }
.player-track-area { min-width: 0; flex: 1; }
.player-topline { display: flex; justify-content: space-between; gap: .75rem; margin-bottom: .45rem; color: #e7e0e6; font-size: .72rem; line-height: 1.2; }
.player-status { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.player-clock { flex: 0 0 auto; color: #c8c0c8; font-variant-numeric: tabular-nums; }
.player-progress { display: block; width: 100%; height: 1.1rem; margin: 0; padding: 0; appearance: none; background: transparent; cursor: pointer; }
.player-progress::-webkit-slider-runnable-track { height: .25rem; border-radius: 99px; background: linear-gradient(to right, #d9b57f var(--progress, 0%), rgba(255,255,255,.25) var(--progress, 0%)); }
.player-progress::-moz-range-track { height: .25rem; border-radius: 99px; background: rgba(255,255,255,.25); }
.player-progress::-moz-range-progress { height: .25rem; border-radius: 99px; background: #d9b57f; }
.player-progress::-webkit-slider-thumb { width: .8rem; height: .8rem; margin-top: -.275rem; appearance: none; border: 2px solid #29252b; border-radius: 50%; background: #f0d4a8; }
.player-progress::-moz-range-thumb { width: .65rem; height: .65rem; border: 2px solid #29252b; border-radius: 50%; background: #f0d4a8; }
.site-footer { min-height: 300px; padding: 4.5rem 1.5rem 3rem; color: #fff; background: var(--about-dark); text-align: center; }
.verse { max-width: 55rem; margin: 0 auto 1.35rem; font-size: .82rem; font-style: italic; line-height: 2; }
.verse-ref { margin: 0; font-size: .82rem; font-weight: 600; font-style: italic; }
.social-links { display: flex; justify-content: center; gap: .8rem; margin-top: 2.25rem; }
.social-links a { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; color: #29252a; background: #eee; font-size: .9rem; font-weight: 600; }
.social-links a:hover { background: var(--about-coral); }
.social-links svg { width: 14px; height: 14px; fill: currentColor; }
@media (min-width: 768px) { .nav-inner { width: min(100% - 48px, 925px); } .nav-links { font-size: 14px; } }
@media (max-width: 700px) { .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; row-gap: 2rem; } .team-title { margin-bottom: 3rem; } .team-main { min-height: 0; padding: 3.5rem 1rem; } }
@media (max-width: 700px) { .services-titlebar { min-height: 11rem; padding-top: 7rem; } .service-schedule { gap: .65rem 1rem; justify-content: flex-start; padding-inline: 1rem; } .service-schedule p { flex: 1 1 9rem; } .service-feature { padding-inline: 1rem; } .service-feature-inner, .service-children { grid-template-columns: 1fr; gap: 0; min-height: 0; } .service-photo { min-height: 16rem; } .service-card { min-height: 0; margin: -1.5rem 0 0; padding: 2rem 1.5rem; } .service-children { width: min(100% - 2rem, 38rem); padding-block: 3rem; } .children-card { min-height: 0; padding: 2rem 1.5rem; } .children-photo { min-height: 16rem; grid-row: 1; } .service-psalm { padding: 3rem 1.25rem; } }
@media (max-width: 700px) { .prayer-titlebar { min-height: 13rem; padding-top: 7.1rem; } .prayer-main { padding: 0 1rem 1.5rem; } .prayer-feature { grid-template-columns: 1fr; min-height: 0; } .prayer-photo { min-height: 20rem; } .prayer-card { min-height: 0; margin: -1.25rem 0 0; padding: 2rem 1.5rem; } .prayer-card > p, .prayer-verse blockquote { font-size: .9375rem; } .prayer-verse { padding: 2.5rem .25rem 1rem; } }
@media (max-width: 700px) { .groups-titlebar { min-height: 11rem; padding-top: 7rem; } .groups-main { padding: 2rem 1rem 3.5rem; } .groups-wrap { gap: 2.5rem; } .group-row, .group-row:nth-child(even) { grid-template-columns: 1fr; min-height: 0; } .group-photo, .group-row:nth-child(even) .group-photo { grid-column: 1; grid-row: 1; min-height: 16rem; } .group-card, .group-row:nth-child(even) .group-card { grid-column: 1; grid-row: 2; min-height: 0; margin: -1.25rem 0 0; padding: 2rem 1.5rem; } }
@media (max-width: 700px) { .contact-titlebar { min-height: 19rem; padding-top: 7.5rem; } .contact-details { font-size: .92rem; } .contact-travel { padding: 2.5rem 1rem 3rem; } .contact-map { aspect-ratio: 1 / 1; margin-bottom: 2.5rem; } }
@media (max-width: 700px) { .bio-titlebar { min-height: 15rem; padding-top: 7.3rem; } .bio-main { padding: 2rem 1rem 3.5rem; } .bio-article { padding: 2rem 1.5rem; font-size: .9rem; } .bio-article h2 { margin-top: 2rem; } .bio-inline-image, .bio-inline-image.left { float: none; width: min(100%, 22rem); margin: 1.4rem auto; } }
@media (max-width: 700px) { .sermons-titlebar { min-height: 20rem; padding-top: 8rem; } .sermons-main { grid-template-columns: 1fr; gap: 1rem; min-height: 0; padding: 2rem 1rem 3.5rem; } .sermon-card { padding: 1.25rem; } .sermon-speaker { margin-bottom: .9rem; } }
@media (max-width: 520px) { .history-main { padding: 3rem 1rem 3.5rem; } .history-copy { font-size: .92rem; } }
@media (max-width: 520px) { .beliefs-main { padding: 3rem 1rem 3.5rem; } .beliefs-list { font-size: .92rem; } .site-footer { min-height: 250px; padding-top: 3.5rem; } }
@media (max-width: 767px) {
  .site-header, .nav-inner { height: 76px; min-height: 76px; }
  .site-header.menu-open { background: rgba(30,27,31,.98); }
  .nav-inner { position: relative; width: calc(100% - 2rem); gap: .75rem; }
  .brand-logo { width: 104px; height: 69px; }
  .menu-toggle { display: inline-flex; min-width: 94px; min-height: 46px; align-items: center; justify-content: center; gap: .6rem; margin-left: auto; padding: .5rem .75rem; border: 1px solid rgba(255,255,255,.48); border-radius: 2px; color: #fff; background: transparent; font: 600 .9rem/1 "Montserrat", sans-serif; cursor: pointer; }
  .menu-toggle:hover, .menu-toggle:focus-visible { border-color: #fff; background: rgba(255,255,255,.1); }
  .menu-toggle-icon { display: grid; width: 1.1rem; gap: 4px; }
  .menu-toggle-icon span { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; }
  .nav-links { position: absolute; top: 100%; left: 50%; display: none; width: 100vw; max-height: calc(100dvh - 76px); flex-direction: column; align-items: stretch; gap: 0; overflow-y: auto; padding: .5rem 1rem 1rem; transform: translateX(-50%); color: #f2eff2; background: rgba(32,28,32,.99); box-shadow: 0 1rem 2rem rgba(0,0,0,.2); font-size: .96rem; }
  .site-header.menu-open .nav-links { display: flex; }
  .nav-links > a, .nav-item > a { display: flex; width: 100%; min-height: 48px; align-items: center; padding: .55rem .35rem; border-bottom: 1px solid rgba(255,255,255,.14); }
  .nav-item { border-bottom: 1px solid rgba(255,255,255,.14); }
  .nav-item > a { border-bottom: 0; }
  .nav-submenu { position: static; display: flex; width: auto; min-height: 0; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 0 0 .55rem .8rem; transform: none; background: transparent; font-size: .9rem; white-space: normal; }
  .nav-submenu a { min-height: 44px; align-items: center; padding: .55rem .35rem; border-left: 2px solid rgba(235,137,111,.75); }
  .nav-submenu a:hover, .nav-submenu a:focus-visible, .nav-submenu .active { box-shadow: none; background: rgba(255,255,255,.07); }
  .breadcrumbs { top: 76px; min-height: 2.25rem; padding-inline: 1rem; font-size: .72rem; }
  .beliefs-cover, .team-cover, .history-cover { height: 16rem; }
  .services-titlebar, .prayer-titlebar, .groups-titlebar, .contact-titlebar, .bio-titlebar, .sermons-titlebar { padding-top: 7.6rem; }
  .services-titlebar, .groups-titlebar { min-height: 13.5rem; }
  .prayer-titlebar { min-height: 14rem; }
  .contact-titlebar { min-height: 19rem; }
  .bio-titlebar { min-height: 15rem; }
  .sermons-titlebar { min-height: 20rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
