.page-hero { width: min(var(--content-width), calc(100% - 3rem)); margin: 2.1rem auto 0; padding: clamp(2rem, 5vw, 4.2rem); border-radius: var(--radius-lg); background: linear-gradient(125deg, #e8f1e8, #fcf6e9); overflow: hidden; position: relative; }
.page-hero::after { position: absolute; right: -5rem; bottom: -7rem; width: 22rem; height: 22rem; border: 2.7rem solid rgba(213,156,52,.16); border-radius: 50%; content: ""; }
.page-hero__content { position: relative; z-index: 1; max-width: 700px; }
.page-hero h1 { margin-bottom: .8rem; font-size: clamp(2.3rem, 5.2vw, 4.4rem); }
.page-hero p:not(.eyebrow) { max-width: 620px; margin-bottom: 0; color: var(--ink-600); font-size: 1.03rem; }

.home-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .85fr); gap: clamp(2rem, 5vw, 5rem); width: min(var(--content-width), calc(100% - 3rem)); margin: 2rem auto 0; padding: clamp(2rem, 4.6vw, 4.5rem); border-radius: var(--radius-lg); background: var(--forest-900); color: var(--white); overflow: hidden; position: relative; }
.home-hero::before { position: absolute; top: -11rem; left: 42%; width: 30rem; height: 30rem; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ""; }
.home-hero::after { position: absolute; top: -7.5rem; left: 46%; width: 22rem; height: 22rem; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ""; }
.home-hero__content, .home-hero__visual { position: relative; z-index: 1; }
.home-hero .eyebrow { color: var(--gold-300); }
.home-hero h1 { max-width: 680px; margin-bottom: 1.2rem; color: var(--white); font-size: clamp(2.45rem, 5vw, 4.55rem); letter-spacing: -.03em; }
.home-hero__content > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.78); font-size: 1.04rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.home-hero__visual { display: grid; align-content: center; min-height: 385px; }
.hero-portrait { position: relative; width: min(100%, 355px); margin-left: auto; border-radius: 180px 180px 25px 25px; overflow: hidden; box-shadow: 18px 22px 0 rgba(213,156,52,.82); }
.hero-portrait img { width: 100%; aspect-ratio: .78; object-fit: cover; object-position: center top; }
.hero-note { position: absolute; bottom: 1.2rem; left: 1rem; max-width: 220px; padding: .95rem 1rem; border: 1px solid rgba(255,255,255,.5); border-radius: 14px; background: rgba(255,255,255,.95); color: var(--ink-800); box-shadow: var(--shadow-md); }
.hero-note strong { display: block; color: var(--forest-900); font-size: .86rem; }
.hero-note span { display: block; margin-top: .15rem; color: var(--ink-600); font-size: .75rem; }
.home-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; width: min(var(--content-width), calc(100% - 3rem)); margin: 0 auto; border-radius: 0 0 var(--radius-md) var(--radius-md); overflow: hidden; background: rgba(18,59,42,.13); }
.stat { padding: 1.25rem 1.4rem; background: var(--white); }
.stat strong { display: block; color: var(--forest-800); font-family: var(--font-display); font-size: 1.75rem; line-height: 1; }
.stat span { color: var(--ink-600); font-size: .8rem; font-weight: 600; }

.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.program-card { display: flex; min-height: 210px; padding: 1.45rem; flex-direction: column; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.program-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.program-card__date { margin-bottom: 1.55rem; color: var(--gold-600); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.program-card h3 { margin-bottom: .45rem; font-size: 1.27rem; }
.program-card p { margin-bottom: .9rem; color: var(--ink-600); font-size: .9rem; }
.program-card__location { margin-top: auto; color: var(--forest-800); font-size: .82rem; font-weight: 700; }
.program-card--empty { align-items: flex-start; justify-content: center; background: var(--sage-100); }

.daily-word { display: grid; grid-template-columns: 1.12fr .88fr; overflow: hidden; border-radius: var(--radius-lg); background: var(--cream-100); }
.daily-word__exhortation { padding: clamp(2rem, 5vw, 4rem); }
.daily-word__exhortation h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); }
.daily-word__exhortation > p:not(.eyebrow):not(.daily-word__scripture) { max-width: 670px; margin-bottom: 0; color: var(--ink-600); }
.daily-word__scripture { margin-bottom: 1rem; color: var(--gold-600); font-size: .9rem; font-weight: 800; }
.daily-word__prayer { display: flex; padding: clamp(2rem, 5vw, 4rem); flex-direction: column; justify-content: center; background: var(--forest-900); color: rgba(255,255,255,.8); }
.daily-word__prayer .eyebrow { color: var(--gold-300); }
.daily-word__prayer > p:not(.eyebrow) { margin-bottom: 1.3rem; }
.daily-word__prayer span { color: var(--gold-300); font-size: .78rem; font-weight: 700; }

.ministry-grid, .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ministry-card { padding: 1.55rem; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.ministry-card .icon-circle { margin-bottom: 1.25rem; }
.ministry-card h3 { margin-bottom: .5rem; font-size: 1.18rem; }
.ministry-card p { margin-bottom: 0; color: var(--ink-600); font-size: .9rem; }

.split-feature { display: grid; grid-template-columns: .86fr 1.14fr; overflow: hidden; border-radius: var(--radius-lg); background: var(--cream-100); }
.split-feature__image { min-height: 430px; }
.split-feature__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.split-feature__content { display: flex; padding: clamp(2rem, 5vw, 4.5rem); flex-direction: column; justify-content: center; }
.split-feature__content h2 { max-width: 520px; font-size: clamp(1.9rem, 3vw, 2.8rem); }
.split-feature__content > p:not(.eyebrow) { max-width: 540px; color: var(--ink-600); }

.update-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 1rem; }
.announcement-list { padding: .15rem 1.45rem; }
.announcement { padding: 1.2rem 0; border-bottom: 1px solid var(--cream-200); }
.announcement:last-child { border-bottom: 0; }
.announcement h3 { margin-bottom: .35rem; font-size: 1.04rem; }
.announcement p { margin-bottom: 0; color: var(--ink-600); font-size: .9rem; }
.visit-card { display: flex; padding: 2rem; flex-direction: column; justify-content: center; background: linear-gradient(135deg, var(--forest-800), var(--forest-900)); color: var(--white); }
.visit-card h2 { color: var(--white); font-size: 2rem; }
.visit-card p { color: rgba(255,255,255,.76); }

.story-grid, .content-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.story-card { padding: clamp(1.65rem, 4vw, 3rem); }
.story-card h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
.story-card p:last-child { margin-bottom: 0; }
.values-card { padding: clamp(1.65rem, 4vw, 3rem); background: var(--forest-900); color: rgba(255,255,255,.78); }
.values-card h2 { color: var(--white); font-size: clamp(1.6rem, 3vw, 2.25rem); }
.belief-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.belief-list li { display: flex; gap: .75rem; align-items: start; }
.belief-list li::before { display: grid; width: 21px; height: 21px; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--gold-500); color: var(--forest-900); content: "✓"; font-size: .72rem; font-weight: 800; }
.founder-note { padding: 1.35rem; border-left: 3px solid var(--gold-500); background: #fff9eb; color: var(--ink-700); }
.founder-note p { margin-bottom: 0; }

.event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.event-card { display: flex; min-height: 285px; padding: 1.5rem; flex-direction: column; }
.event-card__date { display: inline-grid; width: 62px; height: 62px; place-items: center; margin-bottom: 1.5rem; border-radius: 14px; background: var(--sage-100); color: var(--forest-800); text-align: center; }
.event-card__date strong { display: block; font-size: 1.25rem; line-height: 1; }
.event-card__date span { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.event-card h2 { margin-bottom: .45rem; font-family: var(--font-body); font-size: 1.22rem; }
.event-card p { color: var(--ink-600); font-size: .9rem; }
.event-card__meta { display: grid; gap: .3rem; margin-top: auto; color: var(--forest-800); font-size: .79rem; font-weight: 700; }
.event-card__meta span { display: flex; gap: .4rem; }
[data-filter-item][hidden] { display: none; }
.event-feature { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(1.7rem, 5vw, 4rem); padding: clamp(1.6rem, 4vw, 3.2rem); border-radius: var(--radius-lg); background: var(--cream-100); }
.event-flyer { overflow: hidden; border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.event-flyer img { width: 100%; aspect-ratio: 1.3; object-fit: cover; }
.event-feature__copy h2 { font-size: clamp(1.75rem, 3vw, 2.55rem); }
.event-feature__copy p { color: var(--ink-600); }
.event-gallery-section { margin-top: 1rem; }
.event-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.event-gallery img { width: 100%; height: 290px; border-radius: var(--radius-md); object-fit: cover; box-shadow: var(--shadow-sm); }

.weekly-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.weekly-program-card { display: flex; min-height: 100%; padding: 1.45rem; flex-direction: column; border: 1px solid rgba(18, 59, 42, .09); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.weekly-program-card__head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: 1.35rem; }
.weekly-program-card__next { margin: 0; color: var(--forest-800); font-size: .76rem; font-weight: 700; text-align: right; }
.weekly-program-card h3 { margin-bottom: .45rem; font-size: 1.28rem; }
.weekly-program-card > p { color: var(--ink-600); font-size: .9rem; }
.time-zone-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin: 1rem 0 1.3rem; }
.time-zone-list div { padding: .65rem; border-radius: 10px; background: var(--sage-100); }
.time-zone-list dt { margin-bottom: .18rem; color: var(--ink-600); font-size: .67rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.time-zone-list dd { margin: 0; color: var(--forest-900); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.meeting-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .9rem; margin-top: auto; padding-top: .2rem; }
.meeting-actions .btn { min-height: 40px; padding: .58rem .82rem; font-size: .8rem; }

.program-flyer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.program-flyer { margin: 0; overflow: hidden; border: 1px solid rgba(18, 59, 42, .09); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.program-flyer img { display: block; width: 100%; height: auto; }
.program-flyer figcaption { display: grid; gap: .2rem; padding: 1rem 1.1rem; }
.program-flyer strong { color: var(--forest-900); font-size: .98rem; }
.program-flyer span { color: var(--ink-600); font-size: .78rem; font-weight: 600; }

.sermon-list { display: grid; gap: .8rem; }
.sermon-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.1rem; padding: 1.3rem; border: 1px solid rgba(18,59,42,.09); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.sermon-item h2 { margin-bottom: .3rem; font-family: var(--font-body); font-size: 1.1rem; }
.sermon-item p { margin-bottom: 0; color: var(--ink-600); font-size: .9rem; }
.sermon-item__meta { color: var(--ink-500); font-size: .78rem; }
.sermon-item__action { white-space: nowrap; }

.giving-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.giving-card { padding: 1.6rem; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.giving-card .icon-circle { margin-bottom: 1.2rem; }
.giving-card h2 { margin-bottom: .5rem; font-family: var(--font-body); font-size: 1.2rem; }
.giving-card p { margin-bottom: 0; color: var(--ink-600); font-size: .9rem; }
.giving-note { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1.1rem 1.25rem; border: 1px solid var(--sage-200); border-radius: var(--radius-sm); background: var(--sage-100); color: var(--forest-900); font-size: .88rem; }
.giving-note p { margin: 0; }

.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem; }
.contact-details { padding: clamp(1.6rem, 4vw, 3rem); background: var(--forest-900); color: rgba(255,255,255,.78); }
.contact-details h2 { color: var(--white); font-size: 2rem; }
.contact-details__list { display: grid; gap: 1rem; margin-top: 2rem; }
.contact-details__item { display: grid; gap: .1rem; }
.contact-details__item span { color: var(--gold-300); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-details__item a { color: var(--white); text-decoration: none; }
.contact-form-card { padding: clamp(1.6rem, 4vw, 3rem); }
.contact-form-card h2 { font-size: 2rem; }

.testimony-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.testimony-card { padding: 1.55rem; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.testimony-card::before { color: var(--gold-500); content: "“"; font-family: var(--font-display); font-size: 4rem; line-height: .7; }
.testimony-card h2 { margin: .6rem 0 .4rem; font-family: var(--font-body); font-size: 1.13rem; }
.testimony-card p { margin-bottom: 0; color: var(--ink-600); font-size: .91rem; }
.resource-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.resource-card { padding: 1.45rem; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.resource-card h2 { margin: 1rem 0 .45rem; font-family: var(--font-body); font-size: 1.08rem; }
.resource-card p { margin-bottom: 0; color: var(--ink-600); font-size: .87rem; }

.prayer-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 1rem; }
.prayer-intro { padding: clamp(1.6rem, 4vw, 3rem); background: var(--cream-100); }
.prayer-intro h1 { font-size: clamp(2rem, 4vw, 3rem); }
.prayer-intro p { color: var(--ink-600); }
.prayer-form { padding: clamp(1.6rem, 4vw, 3rem); }
.prayer-list { display: grid; gap: .75rem; }
.prayer-item { padding: 1.15rem 0; border-bottom: 1px solid var(--cream-200); }
.prayer-item:last-child { border-bottom: 0; }
.prayer-item h2 { margin-bottom: .25rem; font-family: var(--font-body); font-size: 1rem; }
.prayer-item p { margin-bottom: 0; color: var(--ink-600); }

.leader-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.profile-card { display: grid; grid-template-columns: 76px 1fr; gap: 1rem; padding: 1rem; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.profile-photo { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; }
.profile-name { margin-bottom: .25rem; font-family: var(--font-body); font-size: 1.04rem; }
.profile-title, .small-title { margin-bottom: .45rem; color: var(--gold-600); font-size: .78rem; font-weight: 700; }
.profile-bio { margin-bottom: 0; color: var(--ink-600); font-size: .84rem; }
.profile-detail { display: grid; grid-template-columns: minmax(230px, .65fr) 1fr; gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.profile-photo-large img { width: 100%; border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.profile-detail-body { padding-top: 1rem; }
.profile-detail-body h1 { font-size: clamp(2rem, 4vw, 3.4rem); }

.member-dashboard { margin-top: 2rem; }
.member-welcome { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.35rem; padding: clamp(1.5rem, 4vw, 3.1rem); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--forest-900), var(--forest-800)); color: rgba(255,255,255,.8); box-shadow: var(--shadow-md); }
.member-welcome__avatar { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: var(--gold-500); color: var(--forest-900); font-family: var(--font-display); font-size: 1.75rem; font-weight: 700; }
.member-welcome .eyebrow { color: var(--gold-300); }
.member-welcome h1 { margin-bottom: .45rem; color: var(--white); font-size: clamp(1.8rem, 3.5vw, 3rem); }
.member-welcome__copy > p:not(.eyebrow) { margin-bottom: 0; }
.member-welcome__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; justify-content: end; }
.member-prayer-toggle { border: 1px solid rgba(255,255,255,.5); border-radius: 12px; background: transparent; color: var(--white); font: inherit; font-size: .84rem; font-weight: 800; padding: .68rem .92rem; }
.member-prayer-toggle:hover { background: rgba(255,255,255,.12); }

.member-dashboard__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1rem; margin-top: 1rem; }
.member-devotional, .member-prayer, .member-quick-card { border: 1px solid rgba(18,59,42,.09); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.member-devotional { padding: clamp(1.55rem, 4vw, 2.5rem); background: var(--white); }
.member-card__heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.member-card__heading .eyebrow { margin-bottom: .3rem; }
.member-card__heading h2 { margin-bottom: 0; font-family: var(--font-body); font-size: 1.15rem; }
.member-card__heading > span { display: grid; min-width: 43px; height: 33px; place-items: center; border-radius: 10px; background: var(--sage-100); color: var(--forest-800); font-size: .78rem; font-weight: 800; }
.member-devotional h3 { margin-bottom: .4rem; font-size: clamp(1.35rem, 2vw, 1.65rem); }
.member-devotional > p:not(.member-scripture), .member-muted { margin-bottom: 0; color: var(--ink-600); }
.member-scripture { margin-bottom: .85rem; color: var(--gold-600); font-size: .84rem; font-weight: 800; }
.member-prayer { padding: clamp(1.55rem, 4vw, 2.5rem); background: var(--cream-100); }
.member-prayer > p { color: var(--ink-600); }
.member-prayer__button { margin-top: .35rem; }
.member-prayer__form { display: grid; gap: .7rem; margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--cream-200); }
.member-prayer__form label { color: var(--ink-800); font-size: .82rem; font-weight: 800; }
.member-prayer__form textarea { min-height: 120px; }
.member-prayer__form .btn { justify-self: start; }

.member-section { margin-top: 3.7rem; }
.member-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.35rem; }
.member-section__heading h2 { margin-bottom: 0; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.member-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.member-program { display: flex; min-height: 175px; padding: 1.35rem; flex-direction: column; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.member-program:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.member-program > p { margin-bottom: 1rem; color: var(--gold-600); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.member-program h3 { margin-bottom: .4rem; font-size: 1.14rem; }
.member-program > span { color: var(--ink-600); font-size: .82rem; font-weight: 700; }
.member-program a { margin-top: auto; padding-top: .9rem; color: var(--forest-800); font-size: .8rem; font-weight: 800; text-decoration: none; }
.member-program a:hover { color: var(--gold-600); }

.member-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.member-quick-card { display: flex; min-height: 260px; padding: 1.55rem; flex-direction: column; background: var(--white); }
.member-quick-card .icon-circle { margin-bottom: 1rem; }
.member-quick-card h2 { margin-bottom: .7rem; font-family: var(--font-body); font-size: 1.16rem; }
.member-quick-card p { color: var(--ink-600); font-size: .88rem; }
.member-quick-card p strong { color: var(--ink-800); }
.member-quick-card p span { color: var(--ink-600); }
.member-quick-card .text-link { margin-top: auto; }
.member-quick-card--accent { background: var(--forest-900); }
.member-quick-card--accent h2 { color: var(--white); }
.member-quick-card--accent p { color: rgba(255,255,255,.72); }
.member-quick-card--accent .text-link { color: var(--gold-300); }

.auth-layout { display: grid; min-height: 540px; grid-template-columns: .8fr 1.2fr; overflow: hidden; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-md); }
.auth-layout__aside { display: flex; padding: clamp(2rem, 5vw, 4rem); flex-direction: column; justify-content: flex-end; background: linear-gradient(145deg, var(--forest-800), var(--forest-900)); color: rgba(255,255,255,.8); }
.auth-layout__aside h1 { color: var(--white); font-size: clamp(2rem, 4vw, 3.2rem); }
.auth-layout__body { align-self: center; width: min(100%, 480px); padding: clamp(2rem, 5vw, 4rem); }
.auth-layout__body h1 { font-size: 2.2rem; }
.auth-layout__body .helper-text { color: var(--ink-600); font-size: .88rem; }

.dashboard-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.dashboard-header h1 { margin-bottom: .3rem; font-size: 2.5rem; }
.dashboard-header p { margin-bottom: 0; color: var(--ink-600); }
.dashboard-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.dashboard-grid .card { padding: 1.45rem; }
.dashboard-grid .card h2 { font-family: var(--font-body); font-size: 1.12rem; }
.dashboard-lists { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.dashboard-lists .list-card { padding: 1.3rem; }
.dashboard-lists ul { margin: 0; padding-left: 1.1rem; color: var(--ink-600); font-size: .86rem; }
.dashboard-lists li + li { margin-top: .6rem; }
.dashboard-lists strong { color: var(--ink-800); }

.owner-control { margin-top: 2rem; }
.control-hero { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: clamp(2rem, 5vw, 4.2rem); border-radius: var(--radius-lg); background: radial-gradient(circle at 95% 10%, rgba(244,214,140,.24), transparent 27%), linear-gradient(140deg, var(--forest-900), #0c2e21); color: rgba(255,255,255,.78); overflow: hidden; }
.control-hero h1 { max-width: 690px; margin-bottom: .85rem; color: var(--white); font-size: clamp(2.25rem, 5vw, 4.2rem); letter-spacing: -.03em; }
.control-hero p:not(.eyebrow) { max-width: 650px; margin-bottom: 0; }
.control-hero .eyebrow { color: var(--gold-300); }
.control-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .85rem; flex: 0 0 auto; }
.control-admin-link { color: var(--gold-300); font-size: .86rem; font-weight: 700; text-decoration: none; }
.control-admin-link:hover { color: var(--white); }

.control-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 1.3rem 0; overflow: hidden; border-radius: var(--radius-md); background: rgba(18,59,42,.12); box-shadow: var(--shadow-sm); }
.control-stats article { padding: 1.3rem 1.5rem; background: var(--white); }
.control-stats span, .control-stats small { display: block; color: var(--ink-600); font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.control-stats strong { display: block; margin: .2rem 0; color: var(--forest-900); font-family: var(--font-display); font-size: 2.25rem; line-height: 1; }
.control-stats small { color: var(--ink-500); font-size: .7rem; font-weight: 500; letter-spacing: 0; text-transform: none; }

.control-workspace { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem; }
.control-panel { min-width: 0; padding: 1.45rem; border: 1px solid rgba(18,59,42,.09); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.control-panel--wide { grid-column: span 2; }
.control-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.control-panel__heading .eyebrow { margin-bottom: .25rem; }
.control-panel__heading h2 { margin: 0; font-family: var(--font-body); font-size: 1.22rem; }
.control-list { display: grid; gap: .65rem; }
.control-list--compact { gap: 0; }
.control-row { display: flex; align-items: center; gap: .85rem; padding: .95rem 0; border-bottom: 1px solid var(--cream-200); }
.control-list .control-row:first-child { padding-top: .1rem; }
.control-list .control-row:last-child { padding-bottom: .1rem; border-bottom: 0; }
.control-row__icon { display: grid; width: 39px; height: 39px; place-items: center; flex: 0 0 auto; border-radius: 12px; background: var(--sage-100); color: var(--forest-800); }
.control-row__content { min-width: 0; flex: 1 1 auto; }
.control-row h3, .leader-control-row h3 { margin: 0 0 .16rem; color: var(--ink-800); font-family: var(--font-body); font-size: .94rem; }
.control-row p, .leader-control-row p { margin: 0; overflow: hidden; color: var(--ink-600); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.control-status { padding: .3rem .5rem; border-radius: 999px; background: var(--cream-100); color: var(--ink-600); font-size: .67rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.control-status.is-live { background: var(--sage-100); color: var(--forest-800); }
.control-row__action { flex: 0 0 auto; color: var(--forest-800); font-size: .8rem; font-weight: 800; text-decoration: none; }
.control-row__action:hover { color: var(--gold-600); }
.control-empty { margin: .2rem 0; padding: 1.2rem; border-radius: 12px; background: var(--cream-100); color: var(--ink-600); font-size: .88rem; }

.leader-control-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.leader-control-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .85rem; border-radius: 14px; background: var(--cream-50); }
.leader-control-row img, .leader-control-row > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--sage-100); color: var(--forest-800); font-weight: 800; object-fit: cover; }

.owner-editor { margin-top: 2rem; }
.control-back { display: inline-flex; gap: .45rem; margin-bottom: 1.25rem; color: var(--forest-800); font-size: .88rem; font-weight: 800; text-decoration: none; }
.control-back:hover { color: var(--gold-600); }
.editor-layout { display: grid; grid-template-columns: .78fr 1.22fr; overflow: hidden; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-md); }
.editor-aside { padding: clamp(2rem, 5vw, 4rem); background: linear-gradient(145deg, var(--forest-800), var(--forest-900)); color: rgba(255,255,255,.78); }
.editor-aside .eyebrow { color: var(--gold-300); }
.editor-aside h1 { color: var(--white); font-size: clamp(2rem, 4vw, 3.25rem); }
.editor-card { padding: clamp(1.7rem, 4vw, 3.5rem); }
.control-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.05rem; }
.control-field { display: grid; gap: .4rem; }
.control-field:has(textarea), .control-field:has(input[type="url"]), .control-field:has(input[type="file"]) { grid-column: 1 / -1; }
.control-field label { color: var(--ink-800); font-size: .83rem; font-weight: 800; }
.control-input { width: 100%; min-height: 46px; padding: .72rem .82rem; border: 1px solid #d8dfd9; border-radius: 11px; outline: none; background: var(--white); color: var(--ink-950); }
.control-input:focus { border-color: var(--forest-700); box-shadow: 0 0 0 3px rgba(31,112,77,.12); }
.control-field small { color: var(--ink-500); font-size: .74rem; line-height: 1.4; }
.control-field--checkbox { display: flex; align-items: center; gap: .55rem; grid-column: auto; padding-top: .35rem; }
.control-checkbox { width: 18px; height: 18px; accent-color: var(--forest-800); }
.control-field--checkbox label { cursor: pointer; }
.control-error { margin: 0; color: var(--danger); font-size: .78rem; }
.editor-actions { display: flex; justify-content: flex-end; gap: .7rem; grid-column: 1 / -1; margin-top: .55rem; padding-top: 1.2rem; border-top: 1px solid var(--cream-200); }
.editor-cancel { border: 1px solid var(--cream-200); background: var(--cream-50); color: var(--ink-700); }
.editor-delete { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--cream-200); text-align: right; }
.editor-delete button { padding: 0; border: 0; background: transparent; color: var(--danger); font: inherit; font-size: .82rem; font-weight: 800; text-decoration: underline; }

.empty-state { padding: 2rem; border-radius: var(--radius-md); background: var(--sage-100); color: var(--ink-600); text-align: center; }
.muted { color: var(--ink-600); }

/* Expanded ministry, resource, outreach, and owner-control experiences. */
.mission-list { display: grid; gap: .75rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.mission-list li { position: relative; padding-left: 1.55rem; color: var(--ink-700); }
.mission-list li::before { position: absolute; top: .45rem; left: 0; width: .55rem; height: .55rem; border-radius: 50%; background: var(--gold-500); content: ""; }
.beliefs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.belief-card { min-height: 158px; padding: 1.35rem; border: 1px solid rgba(18,59,42,.09); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.belief-card span { display: block; margin-bottom: .75rem; color: var(--gold-600); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.belief-card p { margin: 0; color: var(--ink-700); font-size: .92rem; font-weight: 600; }
.founder-profile { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); overflow: hidden; border-radius: var(--radius-lg); background: var(--cream-100); }
.founder-profile__image { min-height: 470px; }
.founder-profile__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.founder-profile__copy { display: flex; padding: clamp(2rem, 5vw, 4.5rem); flex-direction: column; justify-content: center; }
.founder-profile__copy h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.founder-profile__copy p:not(.eyebrow) { max-width: 640px; color: var(--ink-600); }
.event-card__registration { display: inline-flex; margin-top: 1rem; font-size: .84rem; }
.event-archive { position: relative; padding: clamp(1.4rem, 3vw, 2.25rem); border: 1px solid rgba(18, 59, 42, .09); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(238, 246, 238, .78), rgba(255, 252, 245, .96)); overflow: hidden; }
.event-archive::after { position: absolute; right: -8rem; bottom: -11rem; width: 25rem; height: 25rem; border: 2.4rem solid rgba(213, 156, 52, .10); border-radius: 50%; content: ""; pointer-events: none; }
.event-archive > * { position: relative; z-index: 1; }
.archive-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.archive-event-card { overflow: hidden; border: 1px solid rgba(18, 59, 42, .11); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.archive-event-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.archive-event-card__flyer { position: relative; overflow: hidden; background: var(--forest-900); }
.archive-event-card__flyer img { display: block; width: 100%; aspect-ratio: .77; object-fit: cover; object-position: center top; transition: transform .45s ease; }
.archive-event-card:hover .archive-event-card__flyer img { transform: scale(1.035); }
.archive-event-card__status { position: absolute; top: .85rem; left: .85rem; padding: .36rem .6rem; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; background: rgba(11, 31, 22, .78); color: var(--white); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.archive-event-card__placeholder { display: grid; min-height: 260px; place-items: center; background: linear-gradient(135deg, var(--forest-800), var(--forest-900)); color: var(--gold-300); font-family: var(--font-display); font-size: 2rem; font-weight: 700; }
.archive-event-card__body { padding: 1.15rem 1.2rem 1.25rem; }
.archive-event-card__body time { display: block; margin-bottom: .5rem; color: var(--gold-600); font-size: .73rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.archive-event-card__body h3 { margin-bottom: .45rem; color: var(--forest-900); font-family: var(--font-body); font-size: 1.1rem; }
.archive-event-card__body p { margin-bottom: .9rem; color: var(--ink-600); font-size: .87rem; line-height: 1.55; }
.archive-event-card__location { display: block; color: var(--forest-800); font-size: .76rem; font-weight: 800; }
@media (max-width: 920px) { .archive-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .archive-event-grid { grid-template-columns: 1fr; } }
.giving-card__link { display: inline-flex; margin-top: 1.15rem; font-size: .82rem; }
.resource-card__count { display: inline-flex; width: fit-content; padding: .28rem .52rem; border-radius: 999px; background: var(--sage-100); color: var(--forest-800); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.outreach-callout { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: clamp(1.7rem, 4vw, 3.25rem); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--forest-800), var(--forest-900)); color: rgba(255,255,255,.78); }
.outreach-callout h2 { max-width: 570px; color: var(--white); font-size: clamp(1.85rem, 3vw, 2.7rem); }
.outreach-callout p:not(.eyebrow) { max-width: 660px; margin-bottom: 0; }
.outreach-callout .eyebrow { color: var(--gold-300); }
.outreach-callout__actions { display: flex; flex-wrap: wrap; gap: .75rem; flex: 0 0 auto; }
.outreach-callout .editor-cancel { border-color: rgba(255,255,255,.26); background: transparent; color: var(--white); }
.control-panel__actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.control-panel__note { max-width: 330px; margin: 0; color: var(--ink-600); font-size: .78rem; text-align: right; }
.control-inbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
