/* Inner-page composition: premium homepage design language.
   Loaded last. Content and existing image sources are unchanged.
   Homepage stays independent; no admin dashboards are restyled. */
:root{
 --editorial-ink:#080B10;
 --editorial-blue:#087CB8;
 --editorial-hover:#065A88;
 --editorial-surface:#fff;
 --editorial-border:rgba(8,124,184,.17);
 --editorial-shadow:0 16px 48px rgba(8,65,102,.07);
 --editorial-radius:22px;
}
#main-content:not(:has(> .academy-hero)) :is(
 .section-header,.section-header-modern,.dept-grid-header,
 .events-header,.gallery-header,.values-header,.intro-heading){
 max-width:850px!important;
 margin-inline:auto!important;
 margin-bottom:clamp(35px,4.7vw,62px)!important;
 text-align:center!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .section-title,.section-title-modern,.dept-grid-title,
 .events-header h2,.gallery-title,.intro-title){
 color:var(--editorial-ink)!important;
 -webkit-text-fill-color:var(--editorial-ink)!important;
 letter-spacing:-.038em!important;
 line-height:1.17!important;
 text-wrap:balance;
}
#main-content:not(:has(> .academy-hero)) :is(
 .section-description,.section-desc,.dept-grid-subtitle,
 .gallery-subtitle,.events-header p){
 max-width:690px!important;
 margin-inline:auto!important;
 font-size:clamp(1rem,1.18vw,1.12rem)!important;
 line-height:1.8!important;
 color:#526879!important;
 -webkit-text-fill-color:#526879!important;
}
#main-content:not(:has(> .academy-hero)) > section:not(:first-child){
 padding-block:clamp(70px,8vw,115px)!important;
}
#main-content:not(:has(> .academy-hero)) > section:first-child:not(.services-hero):not(.contact-hero):not(.events-hero):not(.dept-hero):not(.strategic-hero):not(.fellowship-hero):not(.story-hero):not(.history-hero):not(.ministries-hero):not(.event-hero):not(.page-hero){
 padding-block:clamp(65px,7vw,100px) clamp(42px,5vw,66px)!important;
}
/* ABOUT: top statement, spacious photo/text pairing */
#main-content .about-page-header{
 padding-bottom:clamp(52px,6vw,80px)!important;
}
#main-content .about-page-header .section-header{
 margin-bottom:0!important;
 max-width:870px!important;
}
#main-content .about-page-header h1{
 font-size:clamp(2.5rem,5.1vw,4.9rem)!important;
 font-weight:730!important;
 line-height:1.12!important;
 margin:17px auto 20px!important;
 max-width:860px!important;
}
#main-content .about-page-header .section-description{
 max-width:700px!important;
}
#main-content .about-page-intro{
 padding-block:clamp(65px,8vw,110px)!important;
}
#main-content .about-intro-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
 align-items:center!important;
 gap:clamp(35px,6.5vw,100px)!important;
 width:100%!important;
 margin:0!important;
}
#main-content .about-intro-grid > .col-md-6{
 flex:none!important;
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 padding:0!important;
 margin:0!important;
}
#main-content .about-feature-copy{
 max-width:550px!important;
 text-align:left!important;
}
#main-content .about-feature-copy h2{
 font-size:clamp(2.3rem,4.2vw,4.05rem)!important;
 line-height:1.14!important;
 letter-spacing:-.04em!important;
 color:var(--editorial-ink)!important;
 margin:0 0 22px!important;
 text-wrap:balance;
}
#main-content .about-feature-copy > p{
 font-size:clamp(1.04rem,1.28vw,1.16rem)!important;
 line-height:1.9!important;
 color:#526879!important;
 margin-bottom:26px!important;
}
#main-content .about-feature-copy > div{
 display:flex!important;
 flex-wrap:wrap!important;
 align-items:center!important;
 gap:12px!important;
 margin-top:28px!important;
}
#main-content .about-feature-copy .btn{
 margin:0!important;
 min-height:45px!important;
 padding:11px 20px!important;
 border-radius:12px!important;
 font-size:.9rem!important;
 box-shadow:none!important;
}
#main-content .about-feature-image{
 width:100%!important;
 max-width:none!important;
 height:clamp(340px,39vw,485px)!important;
 border-radius:30% 22px 27% 22px!important;
 border:1px solid rgba(8,124,184,.16)!important;
 background:#e4f2fa!important;
 box-shadow:0 25px 65px rgba(8,57,89,.12)!important;
 overflow:hidden!important;
}
#main-content .about-feature-image img{
 display:block!important;
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 object-position:center!important;
 border-radius:inherit!important;
}
/* ABOUT: 4 values and 4 identities as even, uncluttered two-column grids. */
#main-content .about-page-identity .about-feature-grid,
#main-content .about-page-values .about-feature-grid,
#main-content .about-page-story .about-pillar-grid{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:clamp(18px,2.6vw,28px)!important;
 width:100%!important;
 margin:0 0 clamp(18px,2.6vw,28px)!important;
}
#main-content .about-page-identity .about-feature-cell,
#main-content .about-page-values .about-feature-cell,
#main-content .about-page-story .about-pillar-grid > .col-md-6{
 width:100%!important;
 max-width:none!important;
 flex:none!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
}
#main-content .about-editorial-card,
#main-content .about-page-identity .about-editorial-card,
#main-content .about-page-values .about-editorial-card,
#main-content .about-page-story .about-editorial-card{
 display:flex!important;
 flex-direction:column!important;
 justify-content:flex-start!important;
 align-items:flex-start!important;
 width:100%!important;
 height:100%!important;
 min-height:215px!important;
 padding:clamp(24px,3vw,38px)!important;
 border:1px solid var(--editorial-border)!important;
 border-left:1px solid var(--editorial-border)!important;
 border-radius:22px!important;
 background:#fff!important;
 box-shadow:var(--editorial-shadow)!important;
 text-align:left!important;
}
#main-content .about-editorial-card .mb-3{
 display:grid!important;
 place-items:center!important;
 width:48px!important;
 height:48px!important;
 min-height:48px!important;
 padding:0!important;
 border-radius:14px!important;
 background:#e6f3fa!important;
 color:var(--editorial-blue)!important;
 margin:0 0 23px!important;
 font-size:1.25rem!important;
}
#main-content .about-editorial-card h5{
 font-size:clamp(1.2rem,1.5vw,1.42rem)!important;
 font-weight:730!important;
 line-height:1.3!important;
 color:var(--editorial-ink)!important;
 margin:0 0 12px!important;
}
#main-content .about-editorial-card p{
 margin:0!important;
 font-size:.99rem!important;
 line-height:1.8!important;
 color:#526879!important;
 opacity:1!important;
}
#main-content .about-page-identity .section-header,
#main-content .about-page-values .section-header{
 margin-bottom:clamp(36px,4.2vw,52px)!important;
}
/* ABOUT: story is a readable column rather than a dense paragraph slab. */
#main-content .about-story-copy{
 max-width:800px!important;
 margin:0 auto clamp(50px,5vw,74px)!important;
 text-align:left!important;
}
#main-content .about-story-copy :is(p,div){
 font-size:clamp(1rem,1.23vw,1.12rem)!important;
 line-height:1.92!important;
 color:#42586a!important;
}
#main-content .about-story-copy p + p{
 margin-top:20px!important;
}
#main-content .about-mvv-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:clamp(18px,2.5vw,26px)!important;
 align-items:stretch!important;
 margin:0!important;
}
#main-content .about-mvv-grid > .mvv-card{
 min-width:0!important;
 height:100%!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 padding:clamp(24px,2.6vw,32px)!important;
 border:1px solid var(--editorial-border)!important;
 border-radius:22px!important;
 background:#fff!important;
 box-shadow:var(--editorial-shadow)!important;
 text-align:left!important;
}
#main-content .about-mvv-grid .mvv-icon{
 width:52px!important;height:52px!important;
 flex:0 0 52px!important;
 display:grid!important;place-items:center!important;
 border-radius:15px!important;
 background:#e6f3fa!important;color:var(--editorial-blue)!important;
 margin:0 0 20px!important;
}
#main-content .about-mvv-grid h3{
 font-size:1.34rem!important;
 color:var(--editorial-ink)!important;
 margin:0 0 12px!important;
}
#main-content .about-mvv-grid p,
#main-content .about-mvv-grid p p{
 font-size:.97rem!important;
 line-height:1.8!important;
 color:#526879!important;
 margin:0 0 12px!important;
}
/* Subsections inside About's history area: intentional breathing room. */
#main-content .about-page-story > .container > .mt-5{
 margin-top:clamp(76px,8vw,110px)!important;
}
#main-content .about-page-story .about-people-grid{
 display:flex!important;
 flex-wrap:wrap!important;
 justify-content:center!important;
 align-items:stretch!important;
 gap:22px!important;
 margin:0!important;
 width:100%!important;
}
#main-content .about-page-story .about-people-grid > [class*="col-"]{
 flex:0 1 calc((100% - 66px)/4)!important;
 width:auto!important;max-width:270px!important;
 min-width:min(100%,210px)!important;
 margin:0!important;
 padding:0!important;
}
/* Portraits: full-width, consistent aspect ratio, same positioning as homepage cards. */
#main-content .about-person-card{
 display:flex!important;
 flex-direction:column!important;
 width:100%!important;
 height:100%!important;
 padding:0!important;
 background:#fff!important;
 border:1px solid var(--editorial-border)!important;
 border-radius:22px!important;
 overflow:hidden!important;
 box-shadow:var(--editorial-shadow)!important;
 text-align:left!important;
}
#main-content .about-person-card .about-vicar-image{
 width:100%!important;
 height:auto!important;
 aspect-ratio:4/4.5!important;
 object-fit:cover!important;
 object-position:center 18%!important;
 border-radius:0!important;
 margin:0!important;
}
#main-content .about-person-card .card-body{
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 flex:1!important;
 gap:6px!important;
 padding:22px!important;
 text-align:left!important;
}
#main-content .about-person-card :is(h5,h6,.card-title){
 color:var(--editorial-ink)!important;
 font-size:1.12rem!important;
 line-height:1.3!important;
 font-weight:730!important;
 margin:0!important;
}
#main-content .about-person-card p{
 font-size:.9rem!important;line-height:1.65!important;
 margin:0!important;color:#526879!important;
}
#main-content .about-person-card.about-team-card{
 padding:0!important;
}
#main-content .about-team-card .about-team-image{
 width:100%!important;
 height:auto!important;
 aspect-ratio:4/4.5!important;
 max-height:290px!important;
 object-fit:cover!important;
 object-position:center 18%!important;
 border-radius:0!important;
 margin:0 0 20px!important;
}
#main-content .about-team-card h6,
#main-content .about-team-card > p{
 margin-inline:20px!important;
}
#main-content .about-team-card > h6{margin-bottom:6px!important}
#main-content .about-team-card > p{margin-bottom:22px!important}
#main-content .about-page-story .text-center.mb-5{
 margin-bottom:clamp(24px,3vw,38px)!important;
}
#main-content .about-page-invitation .container > .text-center{
 max-width:760px!important;
 margin-inline:auto!important;
}
#main-content .about-page-invitation .section-title{
 font-size:clamp(2.3rem,4vw,3.7rem)!important;
 margin-bottom:24px!important;
}
#main-content .about-page-invitation .text-center > div{
 display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
 gap:12px!important;
}
#main-content .about-page-invitation .btn{
 margin:0!important;min-height:45px!important;
 padding:11px 21px!important;border-radius:12px!important;
}
/* Other inner pages: editorial card anatomy, no bulky pill CTA inside cards.
   Preserve navigation destinations — present card actions as text links. */
#main-content:not(:has(> .academy-hero)) :is(
 .ministry-card,.fellowship-card,.dept-card,.event-card,.sermon-card,
 .department-card,.worker-card,.vicar-card){
 display:flex!important;
 flex-direction:column!important;
 min-width:0!important;
 overflow:hidden!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .ministry-card-body,.fellowship-card-body,.dept-card-content,
 .event-card-body,.sermon-content,.department-content,
 .worker-body,.vicar-body){
 display:flex!important;
 flex-direction:column!important;
 flex:1 1 auto!important;
 min-width:0!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .ministry-link,.fellowship-card-link,.dept-card-link,
 .event-card-link .event-card-action,.sermon-content .sermon-link){
 display:inline-flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 align-self:flex-start!important;
 gap:9px!important;
 margin-top:auto!important;
 padding:20px 0 0!important;
 min-height:0!important;
 background:transparent!important;
 background-image:none!important;
 color:var(--editorial-blue)!important;
 -webkit-text-fill-color:var(--editorial-blue)!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 font-size:.91rem!important;
 font-weight:730!important;
 text-decoration:none!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .ministry-link,.fellowship-card-link,.dept-card-link,
 .event-card-link .event-card-action,.sermon-content .sermon-link):hover{
 color:var(--editorial-hover)!important;
 -webkit-text-fill-color:var(--editorial-hover)!important;
 background:transparent!important;
 text-decoration:underline!important;
 text-underline-offset:4px!important;
}
/* Departments: replace crowded photographic overlays with genuine photo-top
   editorial cards. Filter buttons keep their working JS data-filter hooks. */
#main-content .dept-grid .dept-card{
 display:flex!important;
 flex-direction:column!important;
 position:relative!important;
 grid-column:auto!important;
 grid-row:auto!important;
 width:100%!important;
 height:100%!important;
 min-height:0!important;
 aspect-ratio:auto!important;
 padding:0!important;
 border-radius:22px!important;
 background:#fff!important;
 color:var(--editorial-ink)!important;
 overflow:hidden!important;
}
#main-content .dept-grid .dept-card > img{
 display:block!important;
 position:relative!important;
 inset:auto!important;
 width:100%!important;
 height:240px!important;
 flex:0 0 240px!important;
 opacity:1!important;
 object-fit:cover!important;
 object-position:center!important;
 transform:none!important;
 filter:none!important;
 border-radius:0!important;
}
#main-content .dept-grid .dept-card-overlay{
 display:none!important;
}
#main-content .dept-grid .dept-card-content{
 position:relative!important;
 inset:auto!important;
 transform:none!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 justify-content:flex-start!important;
 flex:1!important;
 padding:clamp(22px,2.5vw,30px)!important;
 min-height:0!important;
 background:#fff!important;
 text-align:left!important;
 z-index:1!important;
}
#main-content .dept-grid .dept-card-content h3{
 color:var(--editorial-ink)!important;
 -webkit-text-fill-color:var(--editorial-ink)!important;
 font-size:1.35rem!important;
 line-height:1.3!important;
 margin:10px 0!important;
 text-shadow:none!important;
}
#main-content .dept-grid .dept-card-content p{
 color:#526879!important;
 -webkit-text-fill-color:#526879!important;
 font-size:.95rem!important;
 line-height:1.72!important;
 opacity:1!important;
 margin:0 0 18px!important;
 text-shadow:none!important;
}
#main-content .dept-grid .dept-card-content .dept-label{
 color:var(--editorial-blue)!important;
 -webkit-text-fill-color:var(--editorial-blue)!important;
 font-size:.72rem!important;
 letter-spacing:.12em!important;
 background:transparent!important;
 border:0!important;
 padding:0!important;
}
#main-content .dept-grid .dept-card-content .dept-card-link{
 color:var(--editorial-blue)!important;
 -webkit-text-fill-color:var(--editorial-blue)!important;
 margin-top:auto!important;
}
/* True dynamic portrait containers; don't force natural portraits into
   landscape rectangles or squash the person's face. */
#main-content :is(.worker-card,.vicar-card,.department-card){
 align-items:stretch!important;
}
#main-content :is(.worker-photo,.vicar-photo,.department-image){
 display:block!important;
 overflow:hidden!important;
 width:100%!important;
 height:auto!important;
 aspect-ratio:4/4.5!important;
 max-height:350px!important;
 background:#e9f4fa!important;
 border-radius:0!important;
}
#main-content :is(.worker-photo,.vicar-photo,.department-image) img{
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 object-position:center 17%!important;
}
/* Wide hero photo blocks and gallery images retain their intrinsic
   subject matter, with a consistent radius and no stretch. */
#main-content:not(:has(> .academy-hero)) :is(
 .intro-image,.about-image,.vision-image,.chapter-image,.gallery-item){
 overflow:hidden!important;
 border-radius:clamp(20px,3vw,32px)!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .intro-image,.about-image,.vision-image,.chapter-image,.gallery-item) img{
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 object-fit:cover!important;
 object-position:center!important;
}
/* No arbitrary fixed crop on general content images. */
#main-content:not(:has(> .academy-hero)) :is(.about-image,.vision-image,.chapter-image) img{
 height:auto!important;
}
/* Generic non-interactive information cards remain compact, while full CTA
   sections retain their functional actions. */
#main-content:not(:has(> .academy-hero)) :is(
 .info-card,.focus-card,.schedule-card,.value-card,.pillar-card,
 .mvv-card,.giving-account-card){
 padding:clamp(22px,2.8vw,32px)!important;
 box-shadow:var(--editorial-shadow)!important;
}
@media(max-width:1024px){
 #main-content .about-page-story .about-people-grid > [class*="col-"]{
  flex-basis:calc((100% - 44px)/3)!important;
 }
 #main-content .about-mvv-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:767px){
 #main-content .about-intro-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:34px!important;
 }
 #main-content .about-intro-grid > .col-md-6:last-child{
  grid-row:1!important;
 }
 #main-content .about-feature-image{
  height:clamp(270px,70vw,410px)!important;
  border-radius:85px 18px 68px 18px!important;
 }
 #main-content .about-page-identity .about-feature-grid,
 #main-content .about-page-values .about-feature-grid{
  grid-template-columns:minmax(0,1fr)!important;
 }
 #main-content .about-page-story .about-people-grid{gap:15px!important}
 #main-content .about-page-story .about-people-grid > [class*="col-"]{
  flex-basis:calc((100% - 15px)/2)!important;
 }
 #main-content .about-mvv-grid{
  grid-template-columns:minmax(0,1fr)!important;
 }
 #main-content .about-editorial-card{
  min-height:0!important;
 }
 #main-content .dept-grid .dept-card > img{
  height:210px!important;flex-basis:210px!important;
 }
}
@media(max-width:480px){
 #main-content .about-page-story .about-people-grid{
  max-width:460px!important;margin-inline:auto!important;
 }
 #main-content .about-page-story .about-people-grid > [class*="col-"]{
  flex-basis:100%!important;
  max-width:360px!important;
 }
 #main-content .about-person-card .about-vicar-image,
 #main-content .about-team-card .about-team-image{
  max-height:350px!important;
 }
 #main-content .about-feature-copy > div{
  align-items:stretch!important;
 }
 #main-content .about-feature-copy .btn{
  width:100%!important;
  justify-content:center!important;
 }
 #main-content .about-page-invitation .btn{
  width:100%!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #main-content .about-editorial-card,#main-content .dept-grid .dept-card{
  transition:none!important;
 }
}

/* No stock-filler photographs when an actual department photo is missing. */
#main-content .dept-grid .dept-card > .dept-card-placeholder{
 position:relative!important;
 inset:auto!important;
 width:100%!important;
 min-height:240px!important;
 height:240px!important;
 flex:0 0 240px!important;
 display:grid!important;
 place-items:center!important;
 background:linear-gradient(135deg,#dceef8 0%,#eff8fd 54%,#cfe7f5 100%)!important;
 border:0!important;
 opacity:1!important;
}
#main-content .dept-grid .dept-card > .dept-card-placeholder i{
 font-size:clamp(2.4rem,5vw,4.1rem)!important;
 color:#087CB8!important;
 opacity:.88!important;
}
@media(max-width:767px){
 #main-content .dept-grid .dept-card > .dept-card-placeholder{
  height:210px!important;min-height:210px!important;flex-basis:210px!important;
 }
}

/* SERVICES: grouped practical information cards use the same editorial grid. */
#main-content .happens-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:clamp(18px,2.5vw,28px)!important;
 align-items:stretch!important;
}
#main-content .happens-card{
 display:flex!important;flex-direction:column!important;
 align-items:flex-start!important;
 gap:12px!important;
 min-width:0!important;height:100%!important;
 padding:clamp(25px,3vw,37px)!important;
 border-radius:22px!important;border:1px solid var(--editorial-border)!important;
 background:#fff!important;
 box-shadow:var(--editorial-shadow)!important;
 text-align:left!important;
}
#main-content .happens-card-icon{
 display:grid!important;place-items:center!important;
 width:52px!important;height:52px!important;
 flex:0 0 52px!important;
 background:#e6f3fa!important;
 color:var(--editorial-blue)!important;
 border-radius:15px!important;
 margin:0 0 9px!important;
}
#main-content .happens-card h3{
 font-size:1.3rem!important;line-height:1.3!important;
 color:var(--editorial-ink)!important;margin:0!important;
}
#main-content .happens-card p{
 font-size:.97rem!important;line-height:1.8!important;
 color:#526879!important;margin:0!important;
}
#main-content .expect-grid{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:clamp(18px,2.5vw,28px)!important;
}
#main-content .expect-item{
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 min-width:0!important;
 height:100%!important;
 padding:clamp(24px,2.8vw,35px)!important;
 border:1px solid var(--editorial-border)!important;
 border-radius:22px!important;
 background:#fff!important;
 box-shadow:var(--editorial-shadow)!important;
}
#main-content .expect-item :is(h3,h4){color:var(--editorial-ink)!important}
#main-content .expect-item p{color:#526879!important;line-height:1.8!important}
/* CONTACT: turn crowded tiles and inputs into balanced, readable surfaces. */
#main-content .quick-contact-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-items:stretch!important;
 gap:clamp(18px,2.5vw,27px)!important;
}
#main-content .quick-contact-grid > *{
 min-width:0!important;height:100%!important;
}
#main-content .quick-contact-grid .contact-card{
 display:flex!important;flex-direction:column!important;
 align-items:flex-start!important;
 gap:13px!important;
 min-height:0!important;
 padding:clamp(23px,2.9vw,35px)!important;
 background:#fff!important;
 border:1px solid var(--editorial-border)!important;
 border-radius:22px!important;
 box-shadow:var(--editorial-shadow)!important;
 text-align:left!important;
}
#main-content .contact-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 gap:clamp(28px,5vw,72px)!important;
 align-items:start!important;
}
#main-content .contact-grid > *{min-width:0!important}
#main-content .form-row{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:16px!important;
}
/* FELLOWSHIP: native icon tiles are compact, not oversized photo blocks. */
#main-content .fellowship-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-items:stretch!important;
 gap:clamp(18px,2.5vw,27px)!important;
}
#main-content .fellowship-card-media:has(> i){
 display:grid!important;place-items:center!important;
 height:115px!important;
 min-height:115px!important;
 aspect-ratio:auto!important;
 max-height:115px!important;
 background:linear-gradient(125deg,#e2f1f9,#f4fafe)!important;
}
#main-content .fellowship-card-media > i{
 color:#087CB8!important;
 font-size:2.1rem!important;
}
/* Any text/button links nested inside informational cards become a quiet
   bottom-aligned call to action rather than a large, competing button. */
#main-content:not(:has(> .academy-hero)) :is(
 .service-card,.event-card,.department-card,.ministry-card,
 .dept-card,.fellowship-card,.pillar-card,.info-card,.value-card) :is(
 a.btn,a.btn-primary,a.btn-outline,a[class*="card-link"]){
 min-height:0!important;
 max-width:100%!important;
 padding:14px 0 0!important;
 background:transparent!important;
 background-image:none!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 color:var(--editorial-blue)!important;
 -webkit-text-fill-color:var(--editorial-blue)!important;
 font-size:.91rem!important;
 font-weight:730!important;
 text-decoration:none!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .service-card,.event-card,.department-card,.ministry-card,
 .dept-card,.fellowship-card,.pillar-card,.info-card,.value-card) :is(
 a.btn,a.btn-primary,a.btn-outline,a[class*="card-link"]):hover{
 background:transparent!important;
 color:var(--editorial-hover)!important;
 -webkit-text-fill-color:var(--editorial-hover)!important;
 text-decoration:underline!important;
 text-underline-offset:4px!important;
}
@media(max-width:1024px){
 #main-content :is(.happens-grid,.quick-contact-grid,.fellowship-grid){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:700px){
 #main-content :is(.happens-grid,.expect-grid,.quick-contact-grid,
 .contact-grid,.fellowship-grid,.form-row){
  grid-template-columns:minmax(0,1fr)!important;
 }
}

/* Editorial feature photographs: same restrained organic silhouette as the
   homepage's lead photography; never applied to small card thumbnails. */
#main-content:not(:has(> .academy-hero)) :is(
 .intro-grid > .intro-image,.about-grid > .about-image,
 .vision-grid > .vision-image){
 display:block!important;
 width:100%!important;
 min-width:0!important;
 aspect-ratio:5/4!important;
 max-height:520px!important;
 border-radius:26% 22px 22% 22px!important;
 overflow:hidden!important;
 background:#e6f3fa!important;
 border:1px solid rgba(8,124,184,.14)!important;
 box-shadow:0 22px 57px rgba(8,65,102,.095)!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .intro-grid > .intro-image,.about-grid > .about-image,
 .vision-grid > .vision-image) img{
 width:100%!important;
 height:100%!important;
 display:block!important;
 object-fit:cover!important;
 object-position:center!important;
 max-height:none!important;
 border-radius:inherit!important;
}
@media(max-width:700px){
 #main-content:not(:has(> .academy-hero)) :is(
 .intro-grid > .intro-image,.about-grid > .about-image,
 .vision-grid > .vision-image){
  aspect-ratio:5/4!important;
  border-radius:72px 18px 55px 18px!important;
 }
}

/* Announcements: remove decorative 4px strip and oversized card actions;
   preserve urgent status, share controls and event metadata. */
#main-content .announcements-grid > .announcement-card{
 display:flex!important;
 flex-direction:column!important;
 min-height:0!important;
 height:100%!important;
 overflow:hidden!important;
}
#main-content .announcements-grid > .announcement-card > div:first-child[style*="height: 4px"]{
 display:none!important;
}
#main-content .announcements-grid > .announcement-card > div:nth-child(2){
 display:flex!important;
 flex:1!important;
 flex-direction:column!important;
 min-width:0!important;
 padding:clamp(22px,2.7vw,32px)!important;
}
#main-content .announcements-grid > .announcement-card h2{
 font-size:clamp(1.19rem,1.6vw,1.45rem)!important;
 line-height:1.35!important;
 font-weight:730!important;
 color:var(--editorial-ink)!important;
 margin-bottom:15px!important;
}
#main-content .announcements-grid .card-meta{
 margin-bottom:19px!important;
}
#main-content .announcements-grid > .announcement-card .share-btn{
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 color:var(--editorial-blue)!important;
 -webkit-text-fill-color:var(--editorial-blue)!important;
 padding:6px 0!important;
 box-shadow:none!important;
 min-height:32px!important;
 font-size:.88rem!important;
 font-weight:700!important;
 white-space:nowrap!important;
}
#main-content .announcements-grid > .announcement-card .share-btn:hover{
 color:var(--editorial-hover)!important;
 -webkit-text-fill-color:var(--editorial-hover)!important;
 background:transparent!important;
}
#main-content .announcements-grid > .announcement-card .share-btn i{
 color:inherit!important;
}
#main-content .announcements-grid > .announcement-card .event-time-location{
 flex-wrap:wrap!important;
 min-width:0!important;
}
#main-content .announcements-grid > .announcement-card .card-glow{
 display:none!important;
}
@media(max-width:700px){
 #main-content .announcements-grid > .announcement-card > div:nth-child(2) > div:last-of-type{
  gap:10px!important;
  flex-wrap:wrap!important;
 }
}

/* Respect the existing Departments filter script: filtered cards must still
   disappear when JS sets display:none on their style attribute. */
#main-content .dept-grid .dept-card[style*="display: none"],
#main-content .dept-grid .dept-card[style*="display:none"]{
 display:none!important;
}

/* CARD SYSTEM V2 — one consistent grid rhythm throughout public inner pages.
   Four About value cards are ONE row on wide desktops, never two independent
   two-card rows. Every card fills its grid cell at the same width/height. */
#main-content .about-page-identity .about-feature-grid,
#main-content .about-page-values .about-feature-grid{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 align-items:stretch!important;
 justify-items:stretch!important;
 gap:clamp(16px,1.7vw,23px)!important;
 width:100%!important;
 margin:0!important;
}
#main-content .about-page-identity .about-feature-grid > .about-feature-cell,
#main-content .about-page-values .about-feature-grid > .about-feature-cell{
 display:flex!important;
 flex:none!important;
 align-self:stretch!important;
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
}
#main-content .about-page-identity .about-editorial-card,
#main-content .about-page-values .about-editorial-card{
 display:flex!important;
 flex:1 1 auto!important;
 align-items:flex-start!important;
 width:100%!important;
 min-width:0!important;
 min-height:100%!important;
 height:100%!important;
 padding:clamp(21px,2.15vw,30px)!important;
 gap:0!important;
 border:1px solid rgba(8,124,184,.15)!important;
 border-radius:20px!important;
 background:#fff!important;
 box-shadow:0 12px 32px rgba(8,57,89,.065)!important;
}
#main-content .about-page-identity .about-editorial-card h5,
#main-content .about-page-values .about-editorial-card h5{
 font-size:clamp(1.09rem,1.24vw,1.3rem)!important;
 font-weight:730!important;
 line-height:1.35!important;
 margin:0 0 12px!important;
}
#main-content .about-page-identity .about-editorial-card p,
#main-content .about-page-values .about-editorial-card p{
 font-size:clamp(.92rem,1vw,1rem)!important;
 line-height:1.75!important;
}
#main-content .about-page-identity .about-editorial-card .mb-3,
#main-content .about-page-values .about-editorial-card .mb-3{
 width:46px!important;height:46px!important;
 flex:0 0 46px!important;
 margin-bottom:22px!important;
}
/* General card collections: one aligned row for 3 cards on desktop,
   equal-height tracks and shared 22px gutters. */
#main-content:not(:has(> .academy-hero)) :is(
 .departments-grid,.services-grid,.ministries-grid,.events-grid,
 .announcements-grid,.workers-grid,.vicars-grid,.sermons-grid,
 .giving-accounts-grid,.mvv-grid,.dept-grid,.fellowship-grid,
 .values-grid,.pillars-grid,.happens-grid,.quick-contact-grid,
 .schedule-grid,.focus-grid,.info-grid,.activities-grid){
 gap:clamp(18px,2vw,24px)!important;
 align-items:stretch!important;
 justify-items:stretch!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .departments-grid,.services-grid,.ministries-grid,.events-grid,
 .announcements-grid,.workers-grid,.vicars-grid,.sermons-grid,
 .giving-accounts-grid,.mvv-grid,.dept-grid,.fellowship-grid,
 .values-grid,.pillars-grid,.happens-grid,.quick-contact-grid,
 .schedule-grid,.focus-grid,.info-grid,.activities-grid) > *{
 min-width:0!important;
 max-width:100%!important;
 align-self:stretch!important;
 box-sizing:border-box!important;
}
#main-content:not(:has(> .academy-hero)) :is(
 .mvv-card,.info-card,.focus-card,.schedule-card,.happens-card,
 .contact-card,.value-card,.pillar-card,.giving-account-card,
 .ministry-card,.event-card,.department-card,.sermon-card,
 .fellowship-card,.worker-card,.vicar-card){
 min-width:0!important;
 max-width:100%!important;
 height:100%!important;
 box-sizing:border-box!important;
}
/* Remove text underlines, including legacy header rules. The fine centered
   BLUE section separators are unaffected (they belong to section borders).
   Focus indicators are maintained for keyboard navigation. */
#main-content :is(h1,h2,h3,h4,h5,h6,p,a,blockquote,.section-title,
 .section-subtitle,.section-description,.section-label,.footer-title),
.site-footer :is(h1,h2,h3,h4,h5,h6,p,a,.footer-title),
.navbar :is(a,button){
 text-decoration:none!important;
 text-decoration-line:none!important;
}
#main-content :is(.section-title,.section-subtitle,.section-header,
 .section-heading,.section-title-modern,.section-header-modern,
 .dept-grid-header,.events-header,.gallery-header,
 .about-feature-copy h2)::before,
#main-content :is(.section-title,.section-subtitle,.section-header,
 .section-heading,.section-title-modern,.section-header-modern,
 .dept-grid-header,.events-header,.gallery-header,
 .about-feature-copy h2)::after{
 content:none!important;
 display:none!important;
}
#main-content :is(.section-title,.section-subtitle,.section-header,
 .section-heading,.section-title-modern,.section-header-modern,
 .dept-grid-header,.events-header,.gallery-header,
 h1,h2,h3,h4,h5,h6){
 text-decoration:none!important;
 border-bottom:0!important;
 box-shadow:none!important;
}
#main-content a:hover,.site-footer a:hover,.navbar a:hover{
 text-decoration:none!important;
}
#main-content a:focus-visible,.site-footer a:focus-visible,.navbar a:focus-visible{
 outline:2px solid #087CB8!important;
 outline-offset:3px!important;
}
/* Keep card actions blue when hovered, with no underline below the text. */
#main-content:not(:has(> .academy-hero)) :is(
 .ministry-link,.fellowship-card-link,.dept-card-link,
 .event-card-link .event-card-action,.sermon-content .sermon-link,
 .service-card a,.event-card a,.department-card a,.info-card a,
 .pillar-card a,.value-card a):hover{
 text-decoration:none!important;
 color:#065A88!important;
 -webkit-text-fill-color:#065A88!important;
}
/* Wide-screen 3-card collections stay on ONE row (not three stacked columns).
   Four-card About grids use four; small tablets use two. */
@media(min-width:1101px){
 #main-content:not(:has(> .academy-hero)) :is(
 .services-grid,.ministries-grid,.events-grid,.announcements-grid,
 .departments-grid,.workers-grid,.vicars-grid,.sermons-grid,
 .dept-grid,.fellowship-grid,.values-grid,.pillars-grid,
 .happens-grid,.quick-contact-grid){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }
 #main-content .about-mvv-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }
}
@media(max-width:1100px){
 #main-content .about-page-identity .about-feature-grid,
 #main-content .about-page-values .about-feature-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:700px){
 #main-content .about-page-identity .about-feature-grid,
 #main-content .about-page-values .about-feature-grid{
  grid-template-columns:minmax(0,1fr)!important;
 }
 #main-content:not(:has(> .academy-hero)) :is(
 .departments-grid,.services-grid,.ministries-grid,.events-grid,
 .announcements-grid,.workers-grid,.vicars-grid,.sermons-grid,
 .dept-grid,.fellowship-grid,.values-grid,.pillars-grid,
 .happens-grid,.quick-contact-grid,.giving-accounts-grid,.mvv-grid,
 .schedule-grid,.focus-grid,.info-grid,.activities-grid){
  grid-template-columns:minmax(0,1fr)!important;
 }
}

/* Editorial labels are NOT buttons.
   "Who We Are", "Our Journey", and all analogous non-interactive headings
   are presented as clean eyebrow text. Real anchors, buttons, form controls,
   tabs and filters are deliberately NOT targeted. */
#main-content :is(
 .section-subtitle,.section-label,.section-kicker,.academy-section-kicker,
 .academy-eyebrow,.unified-eyebrow,.discover-eyebrow,
 .service-experience-eyebrow,.vision-feature-eyebrow,
 .hero-label,.hero-badge,.contact-hero-label,.events-hero-label,
 .strategic-hero-label,.fellowship-hero-label,.dept-grid-label,
 .gallery-label,.intro-label,.schedule-label,.final-cta-label,
 .story-hero .hero-badge,.ministries-hero .hero-badge,
 .section-header .section-subtitle,
 .section-header-modern .section-label
):not(a):not(button){
 appearance:none!important;
 display:inline-block!important;
 width:auto!important;
 min-width:0!important;
 min-height:0!important;
 max-width:100%!important;
 padding:0!important;
 margin-inline:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
 outline:0!important;
 color:#087CB8!important;
 -webkit-text-fill-color:#087CB8!important;
 font-size:clamp(.73rem,.8vw,.83rem)!important;
 font-weight:720!important;
 line-height:1.55!important;
 letter-spacing:.105em!important;
 text-transform:uppercase!important;
 text-decoration:none!important;
 cursor:default!important;
 transform:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
/* Remove decorative lines/dots attached specifically to section labels,
   while retaining real section separators and useful content icons. */
#main-content :is(
 .section-subtitle,.section-label,.section-kicker,.academy-section-kicker,
 .unified-eyebrow,.discover-eyebrow,.service-experience-eyebrow,
 .vision-feature-eyebrow,.hero-label,.hero-badge,.contact-hero-label,
 .events-hero-label,.strategic-hero-label,.fellowship-hero-label,
 .dept-grid-label,.gallery-label,.intro-label,.schedule-label,
 .final-cta-label
):not(a):not(button)::before,
#main-content :is(
 .section-subtitle,.section-label,.section-kicker,.academy-section-kicker,
 .unified-eyebrow,.discover-eyebrow,.service-experience-eyebrow,
 .vision-feature-eyebrow,.hero-label,.hero-badge,.contact-hero-label,
 .events-hero-label,.strategic-hero-label,.fellowship-hero-label,
 .dept-grid-label,.gallery-label,.intro-label,.schedule-label,
 .final-cta-label
):not(a):not(button)::after{
 content:none!important;
 display:none!important;
 border:0!important;
 box-shadow:none!important;
}
/* Keep label position aligned with centered/left editorial headers. */
#main-content :is(.section-header,.section-header-modern,.events-header,
 .dept-grid-header,.gallery-header) :is(.section-subtitle,.section-label,
 .section-kicker,.hero-label):not(a):not(button){
 margin:0 auto clamp(10px,1.2vw,17px)!important;
}
/* A genuine CTA must stay clearly interactive. */
#main-content :is(a.btn,button,.btn-primary,.btn-outline,
 .btn-view-all,.academy-button,.dept-filter-btn,.schedule-tab){
 cursor:pointer;
}
