*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#252b30;font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#a27c49}button{font:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;top:-100px}.skip-link:focus{top:0;background:white;z-index:99}.site-header{position:relative;z-index:20;background:white;box-shadow:0 2px 15px #0001}.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font: bold 1.2rem Georgia,serif;white-space:nowrap}.brand small{display:block;font:600 .66rem Arial;letter-spacing:.35em}.brand-mark{font-size:2.5rem;color:#a27c49}.primary-nav{display:flex;align-items:center;gap:22px;font-size:.85rem;font-weight:600}.primary-nav .active{color:#a27c49}.dropdown-toggle{border:0;background:none;padding:12px 0;cursor:pointer;font-weight:600}.nav-dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:-15px;min-width:175px;padding:10px 0;background:white;box-shadow:0 10px 30px #0002}.dropdown-menu a{display:block;padding:8px 16px}.nav-dropdown.open .dropdown-menu,.nav-dropdown:hover .dropdown-menu{display:block}.menu-toggle{display:none}.hero{min-height:475px;color:white;background:linear-gradient(115deg,#183448e8,#334e59a3),url('assets/89c13fa21a-cropped-bk_ground_header.jpg') center/cover}.hero-overlay{min-height:475px;display:flex;align-items:center}.hero-content{padding-block:90px}h1,h2,h3{line-height:1.25}h1,h2{font-family:Georgia,serif;font-weight:500}h1{font-size:clamp(2.7rem,6vw,5rem);margin:12px 0}h2{font-size:clamp(2rem,4vw,2.7rem);margin:10px 0 22px}h3{font-size:1.05rem;margin:25px 0 6px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:#a27c49}.hero .eyebrow{color:#e5d0ac}.scripture{font:italic 1.35rem Georgia,serif;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:15px;padding:12px 22px;background:#1b3446;color:white;font-weight:600;font-size:.85rem;transition:.2s}.button:hover{color:white;background:#a27c49;transform:translateY(-2px)}.button-light{background:white;color:#1b3446}.section{padding-block:75px}.livestream-notice{text-align:center;border-bottom:1px solid #eee;padding-block:55px}.livestream-notice p{max-width:740px;margin-inline:auto}.livestream-notice a{color:#a27c49;text-decoration:underline}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,85px);align-items:center}.church-photo{margin:0}.church-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e7e9e9}.church-photo figcaption{font-size:.75rem;color:#68727a;padding-top:10px}.church-photo.missing-image:before{content:'Add church photo at assets/church.jpg';display:grid;place-items:center;min-height:280px;background:#e7e9e9;color:#68727a}.church-photo.missing-image img{display:none}.about-copy p{margin:0 0 14px}.about-copy address{font-style:normal}.about-copy .button{margin-top:20px}.magazines{background:#f8f6f1}.section-heading{text-align:center;margin-bottom:36px}.magazine-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.magazine-card h3{font-size:.9rem;margin:13px 0 3px}.magazine-card p{color:#68727a;font-size:.8rem;margin:0}.cover{aspect-ratio:3/4;padding:17px 12px;color:white;display:flex;flex-direction:column;justify-content:space-between;text-align:center;box-shadow:0 3px 15px #0002;background:linear-gradient(160deg,#526777,#142d40);transition:.2s}.magazine-card:hover .cover{transform:translateY(-4px)}.cover span{font:600 .65rem Georgia,serif;letter-spacing:.1em}.cover strong{font:1.25rem/1.2 Georgia,serif;overflow-wrap:anywhere}.cover small{font-size:.7rem}.cover-2{background:linear-gradient(155deg,#8d7358,#332b29)}.cover-3{background:linear-gradient(155deg,#738b96,#213e54)}.cover-4{background:linear-gradient(155deg,#9a846e,#4d5360)}.cover-5{background:linear-gradient(155deg,#77938c,#283d39)}.center{text-align:center;margin-top:35px}.site-footer{background:#1b3446;color:#e9edef;padding:55px 0 20px;text-align:center}.site-footer h2{font-size:1.6rem}.site-footer a{display:block;margin:5px 0}.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;justify-items:center;align-items:center}.copyright{margin-top:45px;padding-top:18px;border-top:1px solid #ffffff30;font-size:.75rem}@media(max-width:900px){.header-inner{min-height:75px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:#252b30}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px 25px;background:white;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:stretch;gap:10px}.primary-nav.open{display:flex}.dropdown-menu{position:static;box-shadow:none;padding-left:15px}.about-grid{grid-template-columns:1fr}.magazine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.container{width:calc(100% - 32px)}.section{padding-block:50px}.hero,.hero-overlay{min-height:380px}.magazine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.footer-grid{grid-template-columns:1fr}.brand{font-size:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared informational pages */
.hero{background-image:linear-gradient(115deg,#183448d9,#334e5970),url('assets/89c13fa21a-cropped-bk_ground_header.jpg')}.page-banner{background:#1b3446;color:white;padding:52px 0}.page-banner h1{font-size:clamp(2.2rem,5vw,3.7rem)}.page-banner .eyebrow{color:#e5d0ac}.page-content{padding-block:55px;overflow-wrap:anywhere}.page-content>p,.page-content>ul{max-width:900px}.page-content a{color:#806039;text-decoration:underline}.page-content .button{color:white;text-decoration:none}.page-content li{margin-bottom:14px}.page-content figure{margin:24px 0}.page-content figure img{max-height:520px;object-fit:contain}.page-content figcaption{color:#68727a;font-size:.85rem}.page-content iframe{max-width:100%;border:0;min-height:450px}.page-content blockquote{margin:35px 0 20px;border-left:3px solid #a27c49;padding-left:18px;font:1.8rem Georgia,serif}.notice{padding:25px;background:#f8f6f1;border-left:3px solid #a27c49;margin:35px 0}.newsletterDiv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0}.newsletterAnchor,.magazine-card{display:block}.newsletterAnchorImg,.magazine-card img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#eee;box-shadow:0 3px 15px #0002}.newsletterAnchorOverlay{padding:12px 0;font-size:.9rem;line-height:1.4}.magazine-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.foogallery{display:flex;flex-wrap:wrap;gap:20px}.fg-item{max-width:180px}.fg-caption{font-size:.85rem}.wp-block-latest-posts__list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:none!important}.wp-block-latest-posts__list li{padding:26px;background:#f8f6f1}.wp-block-latest-posts__post-title{font:1.45rem Georgia,serif}.wp-block-latest-posts__post-author,time{display:block;font-size:.85rem;color:#68727a}.tab-list2,.hamburger-menu{display:none}.tab-content2{display:block!important;margin-block:30px}.hotel-listing{display:grid;grid-template-columns:1fr 1fr;gap:24px}.hotel-block{padding:24px;background:#f8f6f1}.hotel-image img{max-height:130px}.two-column-section{display:grid;grid-template-columns:1fr 3fr;gap:24px}.page-content table{display:block;overflow:auto;max-width:100%;border-collapse:collapse}.page-content td,.page-content th{padding:12px;border:1px solid #ddd}@media(max-width:700px){.newsletterDiv,.magazine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wp-block-latest-posts__list,.hotel-listing,.two-column-section{grid-template-columns:1fr}.page-content iframe{min-height:300px}.page-content{padding-block:35px}}

.tab-content{padding:24px 0;border-bottom:1px solid #ddd}.column-container{display:grid;grid-template-columns:1fr 1fr;gap:30px}@media(max-width:700px){.column-container{grid-template-columns:1fr}}

/* Gospel of Peace magazine cards: scoped to the archive page. */
.magazine-page .newsletterDiv {
    display: flex;
    flex-wrap: wrap;
    gap: 36px 28px;
    justify-content: flex-start;
    margin: 28px 0;
}
.magazine-page .newsletterAnchor {
    position: relative;
    display: inline-block;
    flex: 0 1 240px;
    width: 240px;
    margin-bottom: 3%;
    text-decoration: none;
    color: black;
    border-radius: 10px;
}
.magazine-page .newsletterAnchorImg {
    display: block;
    width: 100%;
    max-width: 240px;
    height: auto;
    aspect-ratio: auto;
    border-radius: 10px;
    border: 1px solid grey;
    transition: filter .2s ease, transform .2s ease;
}
.magazine-page .newsletterAnchorOverlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .6);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    transition: opacity .2s ease, transform .2s ease;
    color: white;
    font-size: 20px;
    line-height: 1.4;
    padding: 18px;
    white-space: pre-line;
    pointer-events: none;
}
.magazine-page .newsletterAnchor:hover .newsletterAnchorImg,
.magazine-page .newsletterAnchor:focus-visible .newsletterAnchorImg {
    filter: brightness(70%);
    transform: scale(1.05);
}
.magazine-page .newsletterAnchor:hover .newsletterAnchorOverlay,
.magazine-page .newsletterAnchor:focus-visible .newsletterAnchorOverlay {
    opacity: 1;
    transform: scale(1.05);
}
.magazine-page .newsletterAnchor:focus-visible {
    outline: 3px solid #a27c49;
    outline-offset: 7px;
}
@media screen and (max-width: 768px) {
    .magazine-page .newsletterDiv { gap: 20px; }
    .magazine-page .newsletterAnchor {
        flex: 0 1 240px;
        max-width: calc((100% - 20px) / 2);
        margin-bottom: 20px;
    }
    .magazine-page .newsletterAnchorImg { width: 100%; max-width: 240px; }
    .magazine-page .newsletterAnchorOverlay { font-size: 16px; }
}


/* Homepage church photograph placeholder. */
.church-photo-placeholder{width:100%;aspect-ratio:4/3;display:grid;place-items:center;background:#e7e9e9;color:#68727a;text-align:center;padding:24px}

/* Article directory and full magazine articles. */
.article-years{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 40px}
.article-years a{border:1px solid #ded7cc;padding:8px 14px;text-decoration:none;background:#f8f6f1}
.article-year{scroll-margin-top:24px;margin-bottom:48px}
.article-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.article-card{background:#f8f6f1;border:1px solid #e9e4da}
.article-card-link{display:flex;align-items:flex-start;gap:22px;padding:24px;text-decoration:none!important;height:100%}
.article-card-link img{width:100px;aspect-ratio:3/4;object-fit:contain;flex-shrink:0}
.article-card h3{font:1.35rem/1.3 Georgia,serif;margin:8px 0 12px;color:#252b30}
.article-card p{margin:0 0 12px;font-size:.85rem}.article-card .eyebrow{font-size:.7rem}
.article-read{font-size:.85rem;font-weight:600}
.article-card-link:hover,.article-card-link:focus-visible{background:#efe9dd}
.article-breadcrumb{font-size:.85rem;margin-bottom:24px}
.article-meta{padding-bottom:22px;border-bottom:1px solid #ded7cc;margin-bottom:32px;color:#68727a}
.article-meta p{margin:6px 0}
.article-body{max-width:800px;font-size:1.1rem;line-height:1.85}
.article-body p{margin:0 0 1.2em}.article-body h2{font-size:1.7rem;margin-top:32px}
.article-return{display:flex;gap:24px;align-items:center;flex-wrap:wrap;border-top:1px solid #ded7cc;margin-top:40px;padding-top:28px}
.article-import-notes{margin-top:40px;padding:22px;background:#f8f6f1}
.article-import-notes summary{cursor:pointer;font-weight:600}
.magazine-article-directory{margin-block:48px}.magazine-article-directory ul{list-style:none;padding:0;columns:2;column-gap:40px}
.magazine-article-directory li{break-inside:avoid;padding:12px 0;border-bottom:1px solid #e8e3d9}
.magazine-article-directory li span{display:block;color:#68727a;font-size:.8rem}
@media(max-width:700px){.article-card-grid{grid-template-columns:1fr}.article-card-link{padding:18px;gap:16px}.article-card-link img{width:80px}.magazine-article-directory ul{columns:1}.article-body{font-size:1rem}}

/* Homepage magazine hover details with inset covers and a fixed overlay. */
.magazine-grid .magazine-card {
    position: relative;
    align-self: start;
    border-radius: 10px;
}
.magazine-grid .newsletterAnchorImg {
    object-fit: cover;
    border-radius: 10px;
    transform: scale(.95);
    transition: filter .2s ease, transform .2s ease;
}
.magazine-grid .newsletterAnchorOverlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border-radius: 10px;
    background: rgba(0, 0, 0, .6);
    color: white;
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}
.magazine-grid .magazine-card:hover .newsletterAnchorImg,
.magazine-grid .magazine-card:focus-visible .newsletterAnchorImg {
    filter: brightness(70%);
    transform: scale(1);
}
.magazine-grid .magazine-card:hover .newsletterAnchorOverlay,
.magazine-grid .magazine-card:focus-visible .newsletterAnchorOverlay {
    opacity: 1;
    transform: none;
}
.magazine-grid .magazine-card:focus-visible {
    outline: 3px solid #a27c49;
    outline-offset: 7px;
}
@media (max-width: 768px) {
    .magazine-grid .newsletterAnchorOverlay { font-size: 16px; }
}


.magazine-page .page-banner .magazine-reading-hint { color: #e5d0ac; }

.welcome-details { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-top: 25px; }
.about-section + .livestream-notice { position: relative; }
.about-section + .livestream-notice::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1160px, calc(100% - 48px)); border-top: 1px solid #eee; }
.welcome-service-info > h3:first-child { margin-top: 0; }
.location-map iframe { display: block; width: 100%; height: 220px; border: 0; border-radius: 8px; }
.location-map > a { font-size: .85rem; text-decoration: underline; }
@media (max-width: 600px) { .welcome-details { grid-template-columns: 1fr; } }

.primary-nav .dropdown-toggle { display: inline-flex; align-items: center; gap: 6px; }
.dropdown-arrow { flex-shrink: 0; }

/* Livestream page */
.livestream-page { background: #f8f6f1; }
.stream-banner { padding: 55px 0 80px; background: linear-gradient(120deg, #1b3446, #304e5d); }
.stream-banner h1 { margin-bottom: 18px; }
.stream-banner p:last-child { max-width: 600px; color: #e0e7eb; }
.stream-content { padding-bottom: 65px; }
.stream-player-card { position: relative; margin-top: -28px; padding: 28px; background: white; border: 1px solid #e5e7e7; border-radius: 12px; box-shadow: 0 12px 36px #1b34460d; }
.stream-player-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 22px; }
.stream-player-heading .eyebrow { margin: 0 0 8px; }
.stream-player-heading h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0; }
.stream-text-link, .stream-player-note a { color: #806039; text-decoration: underline; }
.stream-text-link { font-size: .85rem; }
.stream-player-note { margin: 20px 0 0; font-size: .85rem; color: #68727a; }
.stream-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; }
.stream-info-card { background: white; border: 1px solid #e5e7e7; border-radius: 12px; padding: 30px; }
.stream-info-card .eyebrow { margin-top: 0; }
.stream-info-card h2 { font-size: 1.8rem; }
.stream-info-card h3 { margin-top: 22px; }
.stream-info-card p { margin: 8px 0 16px; }
.stream-schedule { margin: 0; }
.stream-schedule > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #eee; }
.stream-schedule dd { margin: 0; white-space: nowrap; }
.stream-schedule small { display: block; font-size: .75rem; color: #68727a; }
.stream-info-card .stream-small { font-size: .8rem; color: #68727a; margin-top: 18px; }
.stream-platforms { display: flex; flex-wrap: wrap; gap: 10px; }
.stream-platforms a { padding: 8px 16px; border: 1px solid #dce2e5; border-radius: 6px; color: #1b3446; font-size: .9rem; }
.stream-platforms a:hover { background: #f8f6f1; border-color: #a27c49; }
@media (max-width: 700px) { .stream-details-grid { grid-template-columns: 1fr; } .stream-player-card, .stream-info-card { padding: 20px; } .stream-banner { padding-top: 35px; } }

/* Keep footer headings aligned and equally spaced from their details. */
.footer-grid { align-items: start; }
.footer-grid h3 { margin-bottom: 16px; }
.footer-grid h3 + p,
.footer-grid h3 + a { margin-top: 0; }

/* Shift the homepage banner photograph left on mobile. */
@media (max-width: 600px) {
    .hero { background-position: center, calc(50% - 600px) center; }
}

/* Touch magazine cards reveal details before opening their links. */
.magazine-tap-hint { display: none; }
@media (hover: none) {
    .magazine-page .newsletterAnchor.is-revealed .newsletterAnchorOverlay,
    .magazine-grid .magazine-card.is-revealed .newsletterAnchorOverlay {
        opacity: 1;
        transform: none;
    }
    .magazine-page .newsletterAnchor.is-revealed .newsletterAnchorImg {
        filter: brightness(70%);
        transform: scale(1.05);
    }
    .magazine-grid .magazine-card.is-revealed .newsletterAnchorImg {
        filter: brightness(70%);
        transform: scale(1);
    }
    .magazine-page .newsletterAnchor:not(.is-revealed) .newsletterAnchorOverlay,
    .magazine-grid .magazine-card:not(.is-revealed) .newsletterAnchorOverlay { opacity: 0; }
    .magazine-page .newsletterAnchor:not(.is-revealed) .newsletterAnchorImg { filter: none; transform: none; }
    .magazine-grid .magazine-card:not(.is-revealed) .newsletterAnchorImg { filter: none; transform: scale(.95); }
    .magazine-tap-hint {
        display: block;
        margin-top: 12px;
        font-size: .8rem;
        font-weight: 700;
        color: #e5d0ac;
    }
}
