/* Canonical header across homepage, Events, Gallery, and ministry pages. */
.top{position:sticky!important;top:0;z-index:30;background:#3d5260!important;border-bottom:1px solid #30434f}
.top nav.nav.wrap{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1150px;width:100%;height:156px;min-height:156px;padding:0 24px;margin:0 auto;flex-wrap:nowrap}
.top nav .brand{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;overflow:hidden;width:280px;min-width:280px;max-width:280px;height:148px;flex:0 0 280px;padding:0;margin:0;border:0;background:transparent}
.top nav .brand img.nav-logo{display:block!important;object-fit:contain;object-position:center;width:280px!important;height:280px!important;min-width:280px;max-width:none!important;max-height:none!important;flex:0 0 280px;transform:none}
.top nav .links,.top nav .navlinks{position:static;display:flex;align-items:center;justify-content:flex-end;gap:13px;padding:0;background:transparent;border:0;box-shadow:none;flex-wrap:wrap;width:auto;overflow:visible}
.top nav .links a,.top nav .navlinks a{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px;padding:0;font:700 .78rem/1.3 system-ui,sans-serif;color:#fff!important;text-decoration:none}
.top nav .links a:hover,.top nav .navlinks a:hover{text-decoration:underline;text-underline-offset:4px}
.top nav .links a.btn,.top nav .navlinks a.btn{background:#f0dfb9;color:#20343b!important;border-radius:4px;padding:10px 16px;min-height:44px;text-decoration:none}
.top nav .menu,.top nav .mobile-menu,.top nav .gallery-menu{display:none}
@media(max-width:1100px){
.top nav.nav.wrap{height:108px;min-height:108px;position:relative}
.top nav .brand{width:195px;min-width:195px;max-width:195px;height:102px;flex-basis:195px}
.top nav .brand img.nav-logo{width:195px!important;height:195px!important;min-width:195px;flex-basis:195px}
.top nav .menu,.top nav .mobile-menu,.top nav .gallery-menu{display:inline-flex!important;min-height:44px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #d5e0e2;border-radius:4px;background:transparent;color:#fff;font:700 .9rem system-ui,sans-serif}
.top nav .links,.top nav .navlinks,.top nav #gallery-navlinks{display:none!important;position:absolute!important;top:100%;left:0;right:0;z-index:40;width:100%;padding:12px 24px 20px;flex-direction:column;align-items:stretch;gap:0;flex-wrap:nowrap;background:#3d5260;border-bottom:1px solid #30434f;box-shadow:0 12px 18px #0002;overflow-y:auto;max-height:calc(100dvh - 109px)}
.top nav .links.open,.top nav .navlinks.open,.top nav #gallery-navlinks.open{display:flex!important}
.top nav .links a,.top nav .navlinks a{display:flex!important;width:100%;min-height:44px;font-size:.95rem;padding:8px 12px;white-space:normal}
.top nav .links a.btn,.top nav .navlinks a.btn{width:100%;justify-content:center;margin-top:8px}
}
@media(max-width:540px){
.top nav.nav.wrap{height:96px;min-height:96px;padding:0 18px}
.top nav .brand{width:170px;min-width:170px;max-width:170px;height:90px;flex-basis:170px}
.top nav .brand img.nav-logo{width:170px!important;height:170px!important;min-width:170px;flex-basis:170px}
.top nav .links,.top nav .navlinks,.top nav #gallery-navlinks{max-height:calc(100dvh - 97px)}
}

/* Leadership login sits inside the existing footer, without creating another row. */
footer.foot{position:relative}
footer.foot .leadership-login{position:absolute;right:max(24px,calc((100vw - 1102px)/2));bottom:12px;padding:0!important;margin:0!important;font-size:.78rem;text-align:right;line-height:1.25}
footer.foot .fine{padding-right:195px}
footer.foot>.wrap:last-of-type{padding-right:220px}
footer.foot .leadership-login a{color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
footer.foot .leadership-login{right:16px;bottom:10px;font-size:.69rem}
footer.foot .fine{padding-right:156px}
footer.foot>.wrap:last-of-type{padding-right:166px}
}

/* Contrast and keyboard focus on the slate-blue navigation. */
.top nav .links a:focus-visible,.top nav .navlinks a:focus-visible,.top nav .menu:focus-visible{outline:2px solid #f0dfb9;outline-offset:3px}
.top nav .links a.btn:hover,.top nav .navlinks a.btn:hover{background:#fff2d4}

/* Use the existing white logo throughout the shared dark header. */
.top nav .brand img.nav-logo{content:url('/assets/logo_updated_nobg_white.png')!important}

/* Seamlessly blend the slate-blue navigation into the top of the homepage photo.
   This overlay fades to transparent and does not alter the source image. */
#home.hero,.subhero,.gallery-page-head,.intro{position:relative}
#home.hero::after,.subhero::after,.gallery-page-head::after,.intro::after{content:"";position:absolute;top:0;left:0;right:0;height:clamp(45px,6vw,75px);pointer-events:none;z-index:1;background:linear-gradient(to bottom,#3d5260 0%,rgba(61,82,96,.78) 18%,rgba(61,82,96,.32) 60%,rgba(61,82,96,0) 100%)}
#home.hero .hero-inner{z-index:2}
.subhero>.wrap,.gallery-page-head>.wrap,.intro>.wrap{position:relative;z-index:2}
@media(max-width:540px){#home.hero::after,.subhero::after,.gallery-page-head::after,.intro::after{height:45px}}

/* Shared, compact navigation. Dropdowns are keyboard-operable native details elements. */
.top nav.nav.wrap{max-width:1280px;gap:12px}
.top nav .site-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:nowrap}
.top nav .site-nav-links>a{padding:0 7px}
.top nav .nav-group{position:relative;color:white;font:700 .82rem/1.3 system-ui,sans-serif}
.top nav .nav-group>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;white-space:nowrap;padding:13px 7px;border-radius:5px}
.top nav .nav-group>summary::-webkit-details-marker{display:none}
.top nav .nav-group>summary::after{content:'⌄';font-size:1rem;line-height:1}
.top nav .nav-group>summary:hover,.top nav .nav-group[open]>summary,.top nav .nav-group>summary:focus-visible{background:rgba(255,255,255,.13)}
.top nav .nav-dropdown{position:absolute;top:100%;left:0;min-width:235px;max-width:320px;z-index:100;background:#fff;box-shadow:0 12px 30px #0c1c2760;border-radius:8px;padding:8px;border:1px solid #dce4e7}
.top nav .nav-dropdown a{display:block!important;color:#243a45!important;font:600 .9rem/1.35 system-ui,sans-serif!important;min-height:0!important;padding:10px 12px!important;white-space:normal!important;border-radius:5px}
.top nav .nav-dropdown a:hover,.top nav .nav-dropdown a:focus-visible{background:#edf3f5;text-decoration:none!important}
.top nav .nav-dropdown .nav-overview{font-weight:800!important;border-bottom:1px solid #dce4e7;border-radius:0;margin-bottom:4px}
@media(max-width:1100px){
 .top nav .site-nav-links{display:none!important;position:absolute!important;top:100%;left:0;right:0;width:100%;max-height:calc(100vh - 108px);overflow-y:auto;z-index:100;background:#3d5260;padding:12px 20px 22px;box-shadow:0 12px 22px #10222c55;flex-direction:column;align-items:stretch;gap:4px}
 .top nav .site-nav-links.open{display:flex!important}
 .top nav .site-nav-links>a{padding:12px!important}
 .top nav .nav-group>summary{padding:14px 12px;justify-content:space-between}
 .top nav .nav-dropdown{position:static;min-width:0;max-width:none;box-shadow:none;border:0;background:#eef3f5;padding:4px 8px 8px;margin:0 0 8px}
 .top nav .nav-dropdown a{color:#203843!important}
 .top nav .nav-give{justify-content:center}
}
@media(min-width:1101px) and (max-width:1270px){.top nav .brand{width:225px;min-width:225px;flex-basis:225px}.top nav .brand img.nav-logo{width:225px!important;height:225px!important;min-width:225px}.top nav .site-nav-links{gap:2px}}
