.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.3fr) minmax(185px, .45fr); gap: clamp(1.5rem, 4vw, 3.5rem); width: min(var(--content-width), calc(100% - 3rem)); margin: 2rem auto 0; padding: clamp(1.6rem, 3.6vw, 3.25rem); 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: 700px; margin-bottom: .95rem; color: var(--white); font-size: clamp(2.2rem, 4.1vw, 3.75rem); 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.3rem; }
.home-hero__visual { display: grid; align-content: center; min-height: 210px; }
.hero-portrait { position: relative; width: min(100%, 185px); margin-left: auto; border-radius: 145px 145px 20px 20px; overflow: hidden; box-shadow: 11px 14px 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: .65rem; left: .55rem; max-width: 165px; padding: .68rem .72rem; border: 1px solid rgba(255,255,255,.5); border-radius: 12px; 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: .76rem; }
.hero-note span { display: block; margin-top: .12rem; color: var(--ink-600); font-size: .65rem; }
.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; }

.daily-verse { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(1.1rem, 4vw, 3.2rem); overflow: hidden; padding: clamp(1.15rem, 2.8vw, 1.7rem) clamp(1.25rem, 3.4vw, 2.25rem); border: 1px solid rgba(244,214,140,.42); border-radius: 22px; background-color: var(--forest-900); background-image: linear-gradient(90deg, rgba(5,31,21,.96) 0%, rgba(7,39,27,.90) 44%, rgba(7,39,27,.64) 100%), url("../images/daily-verse-sanctuary.28d739ceb772.webp"); background-position: center; background-size: cover; box-shadow: var(--shadow-sm); }
.daily-verse::before { position: absolute; inset: 0; background: radial-gradient(circle at 18% 18%, rgba(213,156,52,.17), transparent 31%); content: ''; pointer-events: none; animation: daily-verse-drift 12s ease-in-out infinite alternate; }
.daily-verse__content, .daily-verse__action { position: relative; z-index: 1; }
.daily-verse .eyebrow { margin-bottom: .45rem; color: var(--gold-300); }
.daily-verse blockquote { max-width: 52rem; margin: 0; color: var(--white); font-family: var(--font-display); font-size: clamp(1rem, 1.75vw, 1.16rem); font-style: italic; font-weight: 600; line-height: 1.62; text-wrap: pretty; }
.daily-verse blockquote span { display: inline-block; margin-inline-end: .24em; opacity: 0; transform: translateY(.4em); transition: opacity .38s ease var(--word-delay, 0ms), transform .38s ease var(--word-delay, 0ms); }
.daily-verse.is-animated blockquote span { opacity: 1; transform: translateY(0); }
.daily-verse cite { display: block; margin-top: .62rem; color: var(--gold-300); font-size: .79rem; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.daily-verse cite span, .daily-verse small { color: rgba(255,255,255,.72); }
.daily-verse small { display: block; max-width: 46rem; margin-top: .28rem; font-size: .62rem; line-height: 1.4; }
.daily-verse__action { display: grid; grid-template-columns: auto auto; min-width: 0; align-items: center; justify-content: end; gap: .78rem; }
.daily-verse__seal { display: inline-grid; width: 3.55rem; height: 3.55rem; place-items: center; border: 1px solid rgba(244,214,140,.72); border-radius: 50%; background: rgba(4,28,19,.68); box-shadow: 0 0 0 6px rgba(255,255,255,.1); color: var(--gold-300); font-family: var(--font-display); font-size: .74rem; font-weight: 800; letter-spacing: .08em; }
.daily-verse .btn { min-height: 38px; padding: .5rem .8rem; justify-content: center; border-radius: 10px; text-align: center; font-size: .78rem; white-space: nowrap; }
@keyframes daily-verse-drift { to { transform: translate(4%, -3%) scale(1.08); } }
@media (prefers-reduced-motion: reduce) {
    .daily-verse::before { animation: none; }
    .daily-verse blockquote span { opacity: 1; transform: none; transition: none; }
}

.journey-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.journey-card { display: flex; min-height: 235px; padding: 1.5rem; flex-direction: column; border: 1px solid rgba(18, 59, 42, .10); border-radius: var(--radius-md); background: linear-gradient(145deg, var(--white), var(--cream-50)); box-shadow: var(--shadow-sm); color: var(--ink-700); text-decoration: none; transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.journey-card__icon { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 1rem; border-radius: 13px; background: var(--sage-100); color: var(--forest-800); font-size: 1.15rem; }
.journey-card__eyebrow { margin-bottom: .45rem; color: var(--gold-600); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.journey-card strong { margin-bottom: .65rem; color: var(--forest-900); font-family: var(--font-body); font-size: 1.16rem; }
.journey-card > span:not(.journey-card__icon):not(.journey-card__eyebrow):not(.journey-card__link) { color: var(--ink-600); font-size: .9rem; line-height: 1.6; }
.journey-card__link { margin-top: auto; padding-top: 1.3rem; color: var(--forest-800); font-size: .82rem; font-weight: 800; }
.journey-card__link b { display: inline-block; margin-left: .25rem; transition: transform .2s ease; }
@media (hover: hover) {
    .journey-card:hover { border-color: rgba(18, 59, 42, .2); box-shadow: var(--shadow-md); color: var(--ink-700); transform: translateY(-4px); }
    .journey-card:hover .journey-card__link b { transform: translateX(3px); }
}

.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__image { max-width: 670px; margin: 1.25rem 0; overflow: hidden; border: 1px solid rgba(18,59,42,.1); border-radius: 18px; background: var(--white); box-shadow: 0 12px 24px rgba(18,59,42,.08); }
.daily-word__image img { display: block; width: 100%; max-height: 440px; object-fit: cover; }
.daily-word__scripture { margin-bottom: 1rem; color: var(--gold-600); font-size: .9rem; font-weight: 800; }
.daily-word__author { margin-bottom: .85rem !important; color: var(--forest-800) !important; font-size: .85rem; font-weight: 800; }
.devotional-player { display: flex; max-width: 670px; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin: 1.35rem 0 1.1rem; padding: .9rem 1rem; border: 1px solid rgba(18,59,42,.13); border-radius: 16px; background: linear-gradient(135deg, rgba(245,236,207,.86), rgba(255,255,255,.96)); box-shadow: 0 10px 24px rgba(18,59,42,.06); }
.devotional-player__lead { display: flex; min-width: 0; align-items: center; gap: .8rem; }
.devotional-player__lead .eyebrow { margin-bottom: .18rem; color: var(--forest-800); font-size: .62rem; }
.devotional-player__icon { display: flex; width: 2.7rem; height: 2.7rem; flex: 0 0 auto; align-items: center; justify-content: center; gap: .2rem; border-radius: 12px; background: var(--forest-900); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 7px 15px rgba(18,59,42,.16); }
.devotional-player__icon i { display: block; width: 3px; border-radius: 999px; background: var(--gold-300); transform-origin: center; }
.devotional-player__icon i:nth-child(1) { height: .55rem; }
.devotional-player__icon i:nth-child(2) { height: 1.05rem; }
.devotional-player__icon i:nth-child(3) { height: .72rem; }
.devotional-player.is-speaking .devotional-player__icon i { animation: devotional-wave .8s ease-in-out infinite alternate; }
.devotional-player.is-speaking .devotional-player__icon i:nth-child(2) { animation-delay: .16s; }
.devotional-player.is-speaking .devotional-player__icon i:nth-child(3) { animation-delay: .32s; }
.devotional-player.is-paused .devotional-player__icon i { animation-play-state: paused; }
.devotional-player__status { margin: 0; color: var(--ink-600); font-size: .78rem; line-height: 1.35; }
.devotional-player__controls { display: flex; flex: 0 0 auto; gap: .48rem; }
.devotional-player__controls button { min-height: 38px; padding: .48rem .75rem; border: 1px solid transparent; border-radius: 10px; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.devotional-player__controls button:hover:not(:disabled) { box-shadow: 0 7px 15px rgba(18,59,42,.14); transform: translateY(-1px); }
.devotional-player__controls button:focus-visible { outline: 3px solid rgba(213,156,52,.72); outline-offset: 3px; }
.devotional-player__play { background: var(--forest-900); color: var(--white); }
.devotional-player__play[aria-pressed="true"] { background: var(--gold-600); }
.devotional-player__stop { border-color: rgba(18,59,42,.14) !important; background: var(--white); color: var(--forest-900); }
.devotional-player__stop:disabled { cursor: not-allowed; opacity: .48; }
.devotional-player__timeline { display: grid; width: 100%; grid-template-columns: 2.8rem minmax(0, 1fr) 2.8rem; align-items: center; gap: .55rem; color: var(--ink-600); font-size: .72rem; font-variant-numeric: tabular-nums; }
.devotional-player__timeline span:last-child { text-align: right; }
.devotional-player__timeline input { width: 100%; accent-color: var(--gold-600); cursor: pointer; }
.daily-word__message { line-height: 1.75; }
.daily-word__passage { margin: 1rem 0 .35rem; padding: .95rem 1rem; border-left: 3px solid var(--gold-500); background: var(--cream-100); color: var(--forest-900); font-family: var(--font-display); font-size: 1.04rem; font-style: italic; line-height: 1.7; }
.daily-word__copyright { display: block; color: var(--ink-500); font-size: .68rem; line-height: 1.45; }
.daily-word__message.is-truncated { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 12; }
.daily-word__read-more { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; padding: 0; border: 0; background: transparent; color: var(--forest-800); font: inherit; font-size: .88rem; font-weight: 800; cursor: pointer; }
.daily-word__read-more:hover { color: var(--gold-700); }
.daily-word__prayer { display: flex; padding: clamp(2rem, 5vw, 4rem); flex-direction: column; justify-content: center; gap: 1.25rem; background: var(--forest-900); color: rgba(255,255,255,.8); }
.daily-word__prayer .eyebrow { color: var(--gold-300); }
.daily-word__practice { position: relative; z-index: 1; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.daily-word__practice:last-of-type { padding-bottom: 0; border-bottom: 0; }
.daily-word__practice p { margin-bottom: 0; line-height: 1.65; }
.daily-word__practice .eyebrow { margin-bottom: .45rem; }
.daily-word__prayer-points { display: grid; gap: .75rem; margin: 0; padding-left: 1.2rem; }
.daily-word__prayer-points li { padding-left: .25rem; color: rgba(255,255,255,.88); line-height: 1.65; }
.daily-word__prayer-points li::marker { color: var(--gold-300); font-size: 1.05em; }
.daily-word__practice--confession { color: var(--white); }
.daily-word__prayer > span { position: relative; z-index: 1; color: var(--gold-300); font-size: .78rem; font-weight: 700; }
@keyframes devotional-wave { to { transform: scaleY(1.55); } }

.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: minmax(210px, .55fr) minmax(0, 1.45fr); 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 { display: grid; max-width: 270px; place-items: center; margin-inline: auto; overflow: hidden; border-radius: var(--radius-md); background: var(--forest-900); box-shadow: var(--shadow-md); }
.event-flyer img { display: block; width: auto; max-width: 100%; height: min(340px, 55vw); object-fit: contain; }
.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; }
.crusade-giving-banner { position: relative; isolation: isolate; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(1rem, 3vw, 2rem); overflow: hidden; padding: clamp(1.3rem, 3vw, 2.15rem); border: 1px solid rgba(213, 156, 52, .28); border-radius: var(--radius-lg); background: linear-gradient(120deg, var(--forest-900), #174c36 62%, #276b4c); box-shadow: var(--shadow-md); color: var(--white); }
.crusade-giving-banner::after { position: absolute; z-index: -1; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; right: -90px; top: -130px; box-shadow: 0 0 0 42px rgba(255,255,255,.035), 0 0 0 84px rgba(255,255,255,.025); }
.crusade-giving-banner__mark { display: grid; width: 84px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.08); color: var(--gold-400); font-family: var(--font-heading); font-size: 1.3rem; font-weight: 800; letter-spacing: .05em; }
.crusade-giving-banner__copy .eyebrow { color: var(--gold-400); }
.crusade-giving-banner__copy h2 { max-width: 690px; margin-bottom: .45rem; color: var(--white); font-size: clamp(1.55rem, 3vw, 2.3rem); }
.crusade-giving-banner__copy p:last-child { max-width: 740px; margin: 0; color: rgba(255,255,255,.76); }
.crusade-giving-banner > .btn { position: relative; flex-shrink: 0; text-align: center; }
.event-feature__actions { align-items: center; }
.event-feature__actions .text-link { padding: .7rem 0; }
.church-store-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); align-items: center; gap: 2rem; min-height: 480px; overflow: hidden; padding: clamp(2rem, 7vw, 6rem) max(1.5rem, calc((100vw - var(--content-width)) / 2)); background: radial-gradient(circle at 78% 25%, rgba(213,156,52,.28), transparent 23%), linear-gradient(120deg, #092b1e, var(--forest-800) 60%, #1e6043); color: var(--white); }
.church-store-staffbar { display: flex; align-items: center; justify-content: center; gap: .7rem; padding: .65rem 1rem; border-bottom: 1px solid rgba(18,59,42,.12); background: var(--gold-100); color: var(--forest-900); font-size: .76rem; }.church-store-staffbar span { font-weight: 800; text-transform: uppercase; }.church-store-staffbar a { padding: .32rem .55rem; border-radius: 8px; background: rgba(255,255,255,.68); color: var(--forest-900); font-weight: 700; text-decoration: none; }.church-store-staffbar a:hover { background: var(--white); }
.church-store-hero::before { position: absolute; inset: 0; background: repeating-linear-gradient(120deg, transparent 0 52px, rgba(255,255,255,.025) 53px 54px); content: ""; pointer-events: none; }
.church-store-hero__copy { position: relative; max-width: 720px; }.church-store-hero__copy .eyebrow { color: var(--gold-400); }.church-store-hero__copy h1 { max-width: 780px; margin-bottom: 1rem; color: var(--white); font-size: clamp(2.65rem, 6vw, 5.8rem); line-height: .98; }.church-store-hero__copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.78); font-size: 1.05rem; }
.church-store-hero__seal { position: relative; display: grid; width: min(330px, 90%); aspect-ratio: 1; place-items: center; justify-self: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.07); box-shadow: 0 0 0 26px rgba(255,255,255,.025), 0 30px 70px rgba(0,0,0,.22); }.church-store-hero__seal::after { position: absolute; inset: 21%; border: 1px solid rgba(213,156,52,.6); border-radius: 50%; content: ""; }.church-store-hero__seal strong { color: var(--gold-400); font-family: var(--font-heading); font-size: clamp(1.7rem, 5vw, 3.5rem); letter-spacing: .08em; }.church-store-hero__seal span { position: absolute; color: rgba(255,255,255,.62); font-size: .7rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }.church-store-hero__seal span:first-child { top: 18%; }.church-store-hero__seal span:last-child { bottom: 18%; }
.church-store-categories { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.5rem; }.church-store-categories a { padding: .58rem .85rem; border: 1px solid rgba(18,59,42,.13); border-radius: 999px; background: var(--white); color: var(--forest-900); font-size: .78rem; font-weight: 800; text-decoration: none; }.church-store-categories a:hover, .church-store-categories a.is-active { border-color: var(--forest-800); background: var(--forest-800); color: var(--white); }
.church-store-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }.church-store-card { overflow: hidden; border: 1px solid rgba(18,59,42,.1); border-radius: 22px; background: var(--white); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }.church-store-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.church-store-card__image { position: relative; display: grid; aspect-ratio: 1.18; place-items: center; overflow: hidden; background: linear-gradient(145deg, var(--sage-100), #f8f0da); }.church-store-card__image img { width: 100%; height: 100%; object-fit: cover; }.church-store-card__image > span { display: grid; gap: .3rem; place-items: center; color: var(--forest-800); }.church-store-card__image > span b { font-family: var(--font-heading); font-size: 1.8rem; }.church-store-card__image > span small { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }.church-store-card__image em { position: absolute; top: .8rem; left: .8rem; padding: .38rem .65rem; border-radius: 999px; background: var(--gold-500); color: var(--white); font-size: .68rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.church-store-card__body { display: flex; min-height: 310px; flex-direction: column; padding: 1.25rem; }.church-store-card__body > p { margin-bottom: .35rem; color: var(--gold-600); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.church-store-card__body h2 { margin-bottom: .55rem; font-size: 1.35rem; }.church-store-card__description { margin-bottom: 1rem; color: var(--ink-600); font-size: .88rem; }.church-store-card__body > strong { margin-top: auto; color: var(--forest-900); font-size: 1.15rem; }.church-store-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; }.church-store-card__actions .btn { min-height: 42px; padding-inline: .65rem; font-size: .77rem; }
.church-store-empty { grid-column: 1 / -1; display: grid; justify-items: center; padding: 3.2rem 1.5rem; border: 1px dashed rgba(18,59,42,.2); border-radius: 22px; background: var(--cream-100); text-align: center; }.church-store-empty > span { color: var(--gold-500); font-size: 2rem; }.church-store-empty p { max-width: 580px; }
.church-store-payment { padding: clamp(1.4rem, 4vw, 2.8rem); border-radius: var(--radius-lg); background: var(--forest-900); color: var(--white); }.church-store-payment__heading { max-width: 780px; margin-bottom: 1.5rem; }.church-store-payment__heading h2 { color: var(--white); }.church-store-payment__heading > p:last-child { color: rgba(255,255,255,.72); }.church-store-payment__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: .8rem; }.church-store-payment__options article { padding: 1.25rem; border: 1px solid rgba(255,255,255,.13); border-radius: 17px; background: rgba(255,255,255,.07); }.church-store-payment__options article > span { color: var(--gold-400); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.church-store-payment__options h3 { margin: .35rem 0 .65rem; color: var(--white); font-size: 1.15rem; }.church-store-payment__options p, .church-store-payment__options dl { color: rgba(255,255,255,.72); font-size: .83rem; }.church-store-payment__options dl { display: grid; gap: .5rem; }.church-store-payment__options dl div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: .4rem; }.church-store-payment__options dd { color: var(--white); font-weight: 700; text-align: right; }.church-store-payment__options .btn { margin-top: .65rem; }
.church-store-note { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--sage-200); border-radius: 15px; background: var(--sage-100); color: var(--forest-900); }.church-store-note > span { color: var(--gold-600); font-size: 1.3rem; }.church-store-note p { margin: 0; font-size: .84rem; }

.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; }
.prophetess-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid rgba(18, 59, 42, .1); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--sage-100), var(--cream-50)); box-shadow: var(--shadow-sm); }
.prophetess-contact h2 { margin-bottom: .55rem; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.prophetess-contact p:not(.eyebrow) { max-width: 660px; margin-bottom: 0; color: var(--ink-600); }
.prophetess-contact__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; }

.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); }

/* APNOM Church Store */
.store-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); width: min(var(--content-width), calc(100% - 3rem)); min-height: 470px; margin: 2rem auto 0; padding: clamp(2.1rem, 5vw, 4.6rem); overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 75% 15%, rgba(213,156,52,.26), transparent 30%), linear-gradient(135deg, #082c1f, var(--forest-900) 62%, #174a35); color: rgba(255,255,255,.8); box-shadow: var(--shadow-md); }
.store-hero::before, .store-hero::after { position: absolute; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; }
.store-hero::before { top: -9rem; right: -5rem; width: 30rem; height: 30rem; }
.store-hero::after { right: 5rem; bottom: -14rem; width: 25rem; height: 25rem; }
.store-hero > * { position: relative; z-index: 1; }
.store-hero h1 { max-width: 780px; margin-bottom: 1rem; color: var(--white); font-size: clamp(2.65rem, 6vw, 5.4rem); line-height: .98; }
.store-hero > div:first-child > p:not(.eyebrow) { max-width: 680px; font-size: clamp(.96rem, 1.5vw, 1.08rem); line-height: 1.75; }
.store-hero__seal { display: grid; aspect-ratio: 1; place-items: center; align-content: center; padding: 2rem; border: 1px solid rgba(244,214,140,.5); border-radius: 50%; background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 12px rgba(255,255,255,.04), 0 25px 55px rgba(0,0,0,.18); text-align: center; backdrop-filter: blur(8px); }
.store-hero__seal span { color: var(--white); font-family: var(--font-display); font-size: clamp(1.45rem, 3vw, 2.35rem); line-height: 1.12; }
.store-hero__seal strong { color: var(--gold-300); }
.store-hero__seal small { margin-top: 1.2rem; color: rgba(255,255,255,.62); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.store-toolbar { display: grid; grid-template-columns: minmax(270px, .7fr) minmax(0, 1.3fr); align-items: end; gap: 1.5rem; padding: 1.2rem; border: 1px solid rgba(18,59,42,.1); border-radius: 20px; background: var(--white); box-shadow: var(--shadow-sm); }
.store-search label { display: block; margin-bottom: .45rem; color: var(--forest-900); font-size: .72rem; font-weight: 800; }
.store-search > div { display: grid; grid-template-columns: 1fr auto; gap: .5rem; }
.store-search input, .store-buy-box select, .store-cart-item input { width: 100%; min-height: 46px; border: 1px solid rgba(18,59,42,.18); border-radius: 11px; background: var(--cream-50); color: var(--ink-800); font: inherit; }
.store-search input { padding: .7rem .85rem; }
.store-categories { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .45rem; }
.store-categories a { padding: .62rem .78rem; border: 1px solid rgba(18,59,42,.12); border-radius: 999px; color: var(--ink-700); font-size: .72rem; font-weight: 800; text-decoration: none; }
.store-categories a:hover, .store-categories a.is-active { border-color: var(--forest-800); background: var(--forest-800); color: var(--white); }
.store-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.store-grid--featured { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.store-card { min-width: 0; overflow: hidden; border: 1px solid rgba(18,59,42,.09); border-radius: 20px; background: var(--white); box-shadow: 0 11px 28px rgba(18,59,42,.08); transition: transform .25s ease, box-shadow .25s ease; }
.store-card:hover { box-shadow: 0 20px 38px rgba(18,59,42,.14); transform: translateY(-5px); }
.store-card__image { position: relative; display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; background: linear-gradient(145deg, var(--cream-100), var(--sage-100)); text-decoration: none; }
.store-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.store-card:hover .store-card__image img { transform: scale(1.035); }
.store-card__image > span { display: grid; width: 68%; aspect-ratio: 1; place-items: center; align-content: center; border: 1px solid rgba(18,59,42,.15); border-radius: 50%; color: var(--forest-900); text-align: center; }
.store-card__image > span b { font-family: var(--font-display); font-size: 1.6rem; }
.store-card__image > span small { margin-top: .35rem; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.store-card__image em { position: absolute; top: .75rem; left: .75rem; padding: .42rem .62rem; border-radius: 999px; background: var(--gold-500); color: var(--forest-900); font-size: .62rem; font-style: normal; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.store-card__image em.is-sold-out { right: .75rem; left: auto; background: var(--ink-800); color: var(--white); }
.store-card__body { display: flex; min-height: 230px; padding: 1.2rem; flex-direction: column; }
.store-card__body > p { margin-bottom: .42rem; color: var(--gold-600); font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.store-card__body h2 { margin-bottom: .45rem; font-size: 1.3rem; line-height: 1.15; }
.store-card__body h2 a { color: var(--forest-900); text-decoration: none; }
.store-card__body > span { color: var(--ink-600); font-size: .8rem; line-height: 1.55; }
.store-card__footer { display: flex; align-items: baseline; flex-wrap: wrap; gap: .45rem; margin-top: auto; padding-top: 1rem; }
.store-card__footer strong { color: var(--forest-900); font-size: 1rem; }
.store-card__footer del { color: var(--ink-500); font-size: .72rem; }
.store-card__footer a { width: 100%; margin-top: .5rem; color: var(--forest-800); font-size: .75rem; font-weight: 900; text-decoration: none; }
.store-notice { display: flex; align-items: center; gap: .85rem; margin: -1rem 0 1.4rem; padding: .9rem 1rem; border: 1px solid rgba(213,156,52,.35); border-radius: 13px; background: #fff8e8; color: var(--ink-700); font-size: .8rem; }
.store-notice strong { color: var(--forest-900); white-space: nowrap; }
.store-empty { grid-column: 1 / -1; display: grid; min-height: 300px; place-items: center; align-content: center; padding: 2.4rem; border: 1px dashed rgba(18,59,42,.2); border-radius: 22px; background: var(--cream-50); text-align: center; }
.store-empty > span { margin-bottom: .7rem; color: var(--gold-500); font-size: 2rem; }
.store-empty h2 { margin-bottom: .55rem; }
.store-empty p { max-width: 560px; margin-bottom: 1.2rem; }
.store-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2rem; }
.store-pagination a, .store-pagination span { padding: .65rem .85rem; border-radius: 10px; font-size: .78rem; font-weight: 800; }
.store-pagination a { background: var(--forest-800); color: var(--white); text-decoration: none; }
.store-assurance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(18,59,42,.1); border-radius: 22px; background: rgba(18,59,42,.1); }
.store-assurance article { display: flex; gap: 1rem; padding: 1.35rem; background: var(--white); }
.store-assurance article > span { color: var(--gold-600); font-family: var(--font-display); font-size: 1.3rem; }
.store-assurance h2 { margin-bottom: .3rem; font-size: 1.05rem; }
.store-assurance p { font-size: .76rem; line-height: 1.55; }
.store-assurance > a { grid-column: 1 / -1; padding: .9rem; background: var(--forest-900); color: var(--white); font-size: .76rem; font-weight: 800; text-align: center; text-decoration: none; }
.store-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.2rem; color: var(--ink-500); font-size: .75rem; }
.store-breadcrumb a { color: var(--forest-800); font-weight: 700; text-decoration: none; }
.store-product__layout { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 5.5rem); align-items: start; }
.store-product__media { display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 26px; background: linear-gradient(145deg, var(--cream-100), var(--sage-100)); box-shadow: var(--shadow-md); }
.store-product__media img { width: 100%; height: 100%; object-fit: cover; }
.store-product__media > span { display: grid; width: 58%; aspect-ratio: 1; place-items: center; align-content: center; border: 1px solid rgba(18,59,42,.18); border-radius: 50%; color: var(--forest-900); }
.store-product__media b { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 4rem); }
.store-product__media small { margin-top: .4rem; text-transform: uppercase; }
.store-product__details { padding-top: 1rem; }
.store-product__details h1 { margin-bottom: .9rem; font-size: clamp(2.35rem, 5vw, 4.4rem); line-height: 1; }
.store-product__price { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-bottom: 1.3rem; }
.store-product__price strong { color: var(--forest-900); font-size: 1.55rem; }
.store-product__price del { color: var(--ink-500); }
.store-product__price span { padding: .3rem .5rem; border-radius: 999px; background: var(--gold-100); color: var(--forest-900); font-size: .64rem; font-weight: 900; }
.store-product__lead { max-width: 680px; color: var(--ink-700); font-size: 1rem; line-height: 1.75; }
.store-product__description { max-width: 680px; margin-top: 1rem; color: var(--ink-600); font-size: .88rem; line-height: 1.75; }
.store-buy-box { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(100px, .3fr); gap: .55rem; max-width: 620px; margin: 1.6rem 0 1.2rem; padding: 1.1rem; border: 1px solid rgba(18,59,42,.11); border-radius: 17px; background: var(--cream-50); }
.store-buy-box label { color: var(--forest-900); font-size: .68rem; font-weight: 900; }
.store-buy-box select { padding: .65rem .75rem; }
.store-buy-box .btn { grid-column: 1 / -1; margin-top: .25rem; }
.store-buy-box .btn:disabled, .store-checkout-form .btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.store-product__promises { display: grid; gap: .45rem; padding: 0; list-style: none; color: var(--ink-600); font-size: .76rem; }
.store-product__promises li::before { margin-right: .5rem; color: var(--gold-600); content: "✓"; font-weight: 900; }
.store-cart-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); align-items: start; gap: 1.5rem; }
.store-cart-items { display: grid; gap: .8rem; }
.store-cart-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) 110px auto; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid rgba(18,59,42,.1); border-radius: 17px; background: var(--white); box-shadow: var(--shadow-sm); }
.store-cart-item__image { display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 13px; background: var(--sage-100); color: var(--forest-900); font-size: .65rem; font-weight: 900; text-decoration: none; }
.store-cart-item__image img { width: 100%; height: 100%; object-fit: cover; }
.store-cart-item > div p { margin: 0 0 .25rem; color: var(--gold-600); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.store-cart-item h2 { margin-bottom: .28rem; font-size: 1.05rem; }
.store-cart-item h2 a { color: var(--forest-900); text-decoration: none; }
.store-cart-item > div small, .store-cart-item > div strong { display: block; color: var(--ink-600); font-size: .7rem; }
.store-cart-item form { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; }
.store-cart-item form label { grid-column: 1 / -1; color: var(--ink-600); font-size: .62rem; font-weight: 800; }
.store-cart-item input { min-height: 36px; padding: .35rem .5rem; }
.store-cart-item form button { padding: .35rem; border: 0; border-radius: 8px; background: var(--sage-100); color: var(--forest-900); font: inherit; font-size: .63rem; font-weight: 900; cursor: pointer; }
.store-cart-item form button.store-remove { background: #fff0ec; color: #8c3326; }
.store-cart-item > b { color: var(--forest-900); font-size: .9rem; }
.store-order-summary { position: sticky; top: 105px; padding: 1.4rem; border-radius: 20px; background: var(--forest-900); color: rgba(255,255,255,.74); box-shadow: var(--shadow-md); }
.store-order-summary h2 { color: var(--white); }
.store-order-summary dl { display: grid; gap: .65rem; margin: 1.2rem 0; }
.store-order-summary dl div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.store-order-summary dt, .store-order-summary dd { font-size: .78rem; }
.store-order-summary dd { margin: 0; color: var(--white); font-weight: 800; text-align: right; }
.store-checkout-form { display: grid; gap: .8rem; }
.store-checkout-form label { display: grid; grid-template-columns: auto 1fr; gap: .5rem; font-size: .7rem; line-height: 1.5; }
.store-checkout-form input { margin-top: .2rem; }
.store-checkout-form a, .store-order-summary > small, .store-order-summary > a { color: var(--gold-300); }
.store-order-summary > small { display: block; margin-top: .75rem; font-size: .66rem; line-height: 1.5; }
.store-order-summary > a { display: inline-block; margin-top: 1rem; }
.store-checkout-warning { padding: .7rem; border: 1px solid rgba(244,214,140,.28); border-radius: 10px; background: rgba(244,214,140,.08); color: var(--gold-100); font-size: .7rem; }
.store-success { max-width: 820px; padding: clamp(2rem, 6vw, 5rem); border-radius: 28px; background: linear-gradient(145deg, var(--white), var(--sage-100)); box-shadow: var(--shadow-md); text-align: center; }
.store-success__mark { display: grid; width: 70px; height: 70px; place-items: center; margin: 0 auto 1.1rem; border-radius: 50%; background: var(--forest-900); color: var(--gold-300); font-size: 1.8rem; }
.store-success h1 { margin-bottom: .8rem; }
.store-success > p:not(.eyebrow) { max-width: 640px; margin-inline: auto; }
.store-success__summary { display: flex; justify-content: center; flex-wrap: wrap; gap: .8rem; margin: 1.5rem 0; }
.store-success__summary > * { padding: .55rem .75rem; border-radius: 999px; background: var(--white); color: var(--forest-900); font-size: .75rem; }
.store-success .hero-actions { justify-content: center; }
.store-order-history { display: grid; gap: .85rem; }
.store-order-history > article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1rem; padding: 1.2rem 1.35rem; border: 1px solid rgba(18,59,42,.1); border-radius: 17px; background: var(--white); box-shadow: var(--shadow-sm); }
.store-order-history h2 { margin-bottom: .2rem; font-size: 1.1rem; }
.store-order-history span, .store-order-history small { color: var(--ink-600); font-size: .74rem; }
.order-review-summary { margin-bottom: 1.2rem; padding: 1.2rem; border: 1px solid rgba(18,59,42,.12); border-radius: 16px; background: linear-gradient(145deg, var(--sage-100), var(--cream-50)); }
.order-review-summary h2 { margin-bottom: .7rem; }
.order-review-summary > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.order-review-summary > div span { padding: .42rem .58rem; border-radius: 999px; background: var(--white); color: var(--ink-700); font-size: .68rem; }
.order-review-summary address { margin: .9rem 0; color: var(--ink-700); font-size: .78rem; font-style: normal; line-height: 1.6; }
.order-review-summary ul { display: grid; gap: .4rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.order-review-summary li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .65rem; border-radius: 9px; background: rgba(255,255,255,.72); color: var(--ink-700); font-size: .72rem; }
.home-store { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 4rem); padding: clamp(1.5rem, 4vw, 3.4rem); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--forest-900), #174a35); color: rgba(255,255,255,.76); box-shadow: var(--shadow-md); }
.home-store h2 { color: var(--white); font-size: clamp(2rem, 4vw, 3.4rem); }
.home-store__intro p:not(.eyebrow) { margin-bottom: 1.2rem; line-height: 1.7; }
.home-store__collection { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.home-store__collection > a, .home-store__collection > span { display: grid; min-height: 150px; place-items: center; align-content: center; overflow: hidden; padding: 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(255,255,255,.08); color: var(--white); text-align: center; text-decoration: none; }
.home-store__collection img { width: 74px; height: 74px; margin-bottom: .55rem; border-radius: 12px; object-fit: cover; }
.home-store__collection > a > span { display: grid; width: 62px; height: 62px; place-items: center; margin-bottom: .55rem; border-radius: 50%; background: var(--gold-500); color: var(--forest-900); font-size: .65rem; font-weight: 900; }
.home-store__collection strong, .home-store__collection b { font-family: var(--font-display); font-size: 1.05rem; }
.home-store__collection small { margin-top: .25rem; color: var(--gold-300); font-size: .66rem; }
.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; overflow: hidden; 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__avatar img { width: 100%; height: 100%; object-fit: cover; }
.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-devotional__image { display: block; width: 100%; max-height: 230px; margin: .9rem 0; border-radius: 14px; object-fit: cover; }
.member-devotional__author { margin-bottom: .65rem !important; color: var(--forest-800) !important; font-size: .82rem; font-weight: 800; }
.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-profile-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(170px, .55fr) auto; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1.15rem 1.3rem; border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-md); background: linear-gradient(135deg, var(--white), var(--sage-100)); box-shadow: var(--shadow-sm); }
.member-profile-summary__avatar { display: grid; width: 54px; height: 54px; place-items: center; overflow: hidden; border-radius: 50%; background: var(--gold-500); color: var(--forest-900); font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; }
.member-profile-summary__avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-profile-summary h2 { margin-bottom: .18rem; font-family: var(--font-body); font-size: 1.1rem; }
.member-profile-summary p:not(.eyebrow) { margin-bottom: 0; color: var(--ink-600); font-size: .82rem; }
.member-profile-summary .eyebrow { margin-bottom: .24rem; }
.member-profile-summary__completion { justify-self: stretch; }
.member-profile-summary__completion > span { color: var(--forest-900); font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; }
.member-profile-summary__completion > p { display: inline; margin-left: .25rem; }
.member-profile-summary__meter { height: 7px; margin-top: .4rem; overflow: hidden; border-radius: 999px; background: rgba(18,59,42,.13); }
.member-profile-summary__meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-500), var(--forest-700)); transition: width .5s ease; }

.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; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form-label-note { color: var(--ink-500); font-size: .76rem; font-weight: 600; }
.member-profile-page { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 1rem; margin-top: 2rem; }
.member-profile-page__intro { padding: clamp(1.7rem, 4vw, 3rem); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--forest-900), var(--forest-800)); color: rgba(255,255,255,.78); }
.member-profile-page__intro h1 { color: var(--white); font-size: clamp(2rem, 3.5vw, 3rem); }
.member-profile-page__intro .eyebrow { color: var(--gold-300); }
.member-profile-page__intro .text-link { color: var(--gold-300); }
.member-profile-card, .member-profile-form { padding: clamp(1.45rem, 3vw, 2.4rem); }
.member-profile-card { display: flex; align-items: center; gap: 1rem; }
.member-profile-card__avatar { display: grid; width: 86px; height: 86px; place-items: center; overflow: hidden; flex: 0 0 auto; border-radius: 50%; background: var(--sage-100); color: var(--forest-800); font-family: var(--font-display); font-size: 2.1rem; font-weight: 700; }
.member-profile-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-profile-card h2 { margin-bottom: .35rem; font-size: 1.45rem; }
.member-profile-card p:not(.eyebrow) { margin-bottom: 0; color: var(--ink-600); font-size: .9rem; }
.member-profile-form { display: grid; grid-column: 2; gap: 1rem; }
.member-profile-form__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--cream-200); }
.member-profile-form__heading .eyebrow { margin-bottom: .22rem; }
.member-profile-form__heading h2 { margin-bottom: 0; color: var(--forest-900); font-size: 1.35rem; }
.member-profile-form__privacy { display: inline-flex; align-items: center; min-height: 28px; padding: .25rem .55rem; border: 1px solid var(--sage-200); border-radius: 999px; background: var(--sage-100); color: var(--forest-800); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.member-profile-form .btn { justify-self: start; }

.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; }

/* APNOM Media & Live */
.media-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(230px, .5fr); gap: 2rem; width: min(var(--content-width), calc(100% - 3rem)); min-height: 340px; margin: 2rem auto 0; padding: clamp(2rem, 5vw, 4.4rem); overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 88% 18%, rgba(213,156,52,.32), transparent 24%), linear-gradient(135deg, var(--forest-900), #071f16); color: var(--white); }
.media-hero::before, .media-hero::after { position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; pointer-events: none; }
.media-hero::before { right: -7rem; bottom: -12rem; width: 34rem; height: 34rem; }
.media-hero::after { right: 2rem; bottom: -6rem; width: 20rem; height: 20rem; }
.media-hero__copy, .media-hero__signal { position: relative; z-index: 1; }
.media-hero .eyebrow { color: var(--gold-300); }
.media-hero h1 { max-width: 710px; margin-bottom: .8rem; color: var(--white); font-size: clamp(2.35rem, 5vw, 4.35rem); letter-spacing: -.04em; }
.media-hero__copy > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.8); font-size: 1.04rem; }
.media-hero__signal { display: grid; min-height: 205px; align-content: center; justify-items: center; padding: 1.6rem; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1.3rem rgba(255,255,255,.025); text-align: center; backdrop-filter: blur(8px); }
.media-hero__signal span { color: var(--gold-300); font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.media-hero__signal strong { margin: .25rem 0 .75rem; color: var(--white); font-size: clamp(1.9rem, 4vw, 3.15rem); letter-spacing: .08em; }
.media-hero__signal i { width: 58%; height: 3px; margin: .23rem 0; border-radius: 999px; background: linear-gradient(90deg, transparent, var(--gold-300), transparent); }
.featured-video { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); overflow: hidden; border: 1px solid rgba(18,59,42,.11); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-md); }
.featured-video__cover, .video-card__cover { position: relative; display: grid; min-height: 100%; overflow: hidden; place-items: center; background: radial-gradient(circle at 32% 20%, rgba(217,181,74,.28), transparent 23%), linear-gradient(135deg, var(--forest-800), var(--forest-900)); color: var(--gold-300); }
.featured-video__cover { min-height: 310px; }
.featured-video__cover img, .video-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.featured-video__cover > span:not(.video-status), .video-card__cover > span:not(.video-status) { display: grid; width: 65px; height: 65px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(12,63,45,.78); color: var(--white); font-size: 1.35rem; box-shadow: 0 9px 23px rgba(0,0,0,.18); }
.video-status { position: absolute; top: .85rem; left: .85rem; z-index: 1; padding: .34rem .58rem; border: 1px solid rgba(255,255,255,.34); border-radius: 999px; background: rgba(11,31,22,.78); color: var(--white); font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(7px); }
.video-status--live { background: #a92626; }
.featured-video__content { display: flex; padding: clamp(1.7rem, 4vw, 3.2rem); flex-direction: column; justify-content: center; }
.featured-video__content h2 { margin-bottom: .65rem; font-size: clamp(1.8rem, 3vw, 2.75rem); }
.featured-video__content > p:not(.eyebrow) { max-width: 610px; color: var(--ink-600); }
.featured-video__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .8rem; }
.live-indicator { display: inline-flex; align-items: center; gap: .45rem; color: #9d2222; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.live-indicator i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(157,34,34,.12); animation: media-pulse 1.7s ease-out infinite; }
.video-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.video-card { display: flex; overflow: hidden; border: 1px solid rgba(18,59,42,.1); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); flex-direction: column; transition: transform .24s ease, box-shadow .24s ease; }
.video-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.video-card__cover { aspect-ratio: 1.58; min-height: 0; text-decoration: none; }
.video-card__cover img { transition: transform .45s ease; }
.video-card:hover .video-card__cover img { transform: scale(1.04); }
.video-card__body { display: flex; padding: 1.15rem; flex: 1; flex-direction: column; }
.video-card__body .eyebrow { margin-bottom: .42rem; color: var(--gold-600); }
.video-card__body h3 { margin-bottom: .48rem; font-family: var(--font-body); font-size: 1.1rem; }
.video-card__body h3 a { color: var(--forest-900); text-decoration: none; }
.video-card__body p:not(.eyebrow) { margin-bottom: .9rem; color: var(--ink-600); font-size: .88rem; line-height: 1.58; }
.video-card__actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; }
.video-card__saved { color: var(--ink-500); font-size: .72rem; font-weight: 700; }
.video-detail { margin-top: 2rem; }
.video-detail__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(250px, .42fr); gap: 1.25rem; margin-top: 1.05rem; }
.video-detail__main { overflow: hidden; border: 1px solid rgba(18,59,42,.11); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.video-player { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #071f16; }
.video-player iframe, .video-player video { display: block; width: 100%; height: 100%; border: 0; }
.video-player__external { display: grid; height: 100%; padding: 2rem; place-content: center; justify-items: center; background: radial-gradient(circle at 50% 15%, rgba(213,156,52,.28), transparent 30%), linear-gradient(145deg, var(--forest-800), var(--forest-900)); color: rgba(255,255,255,.78); text-align: center; }
.video-player__external .video-status { position: static; margin-bottom: 1rem; }
.video-player__external > span:not(.video-status) { color: var(--gold-300); font-size: 3rem; }
.video-player__external h2 { margin: .55rem 0; color: var(--white); font-size: clamp(1.5rem, 3vw, 2.2rem); }
.video-player__external p { margin-bottom: 1.2rem; }
.video-detail__header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: clamp(1.3rem, 3.5vw, 2.2rem) clamp(1.3rem, 3.5vw, 2.3rem) 1rem; }
.video-detail__header h1 { max-width: 750px; margin-bottom: 0; font-size: clamp(1.75rem, 3.5vw, 3rem); }
.video-detail__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; flex: 0 0 auto; }
.video-detail__actions form { margin: 0; }
.video-detail__actions .btn { min-height: 42px; }
.video-detail__description { padding: 0 clamp(1.3rem, 3.5vw, 2.3rem) 1.75rem; color: var(--ink-600); }
.video-detail__description p:last-child { margin-bottom: 0; }
.video-schedule-note { margin: 0 clamp(1.3rem, 3.5vw, 2.3rem) 1.8rem; padding: .85rem 1rem; border-radius: var(--radius-sm); background: var(--sage-100); color: var(--forest-900); font-weight: 700; }
.video-detail__aside { align-self: start; padding: 1.5rem; border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-md); background: linear-gradient(145deg, var(--cream-100), var(--white)); }
.video-detail__aside h2 { font-size: 1.5rem; }
.video-detail__aside p:not(.eyebrow) { color: var(--ink-600); font-size: .92rem; }
.live-copy { color: #a92626; font-weight: 800; }
.comment-count { color: var(--ink-500); font-size: .82rem; font-weight: 700; }
.media-comment-form { display: grid; gap: .68rem; max-width: 820px; padding: 1.25rem; border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.media-comment-form label { color: var(--forest-900); font-size: .9rem; font-weight: 800; }
.media-comment-form textarea { min-height: 110px; padding: .85rem; border: 1px solid rgba(18,59,42,.2); border-radius: 12px; background: var(--cream-50); color: var(--ink-700); font: inherit; resize: vertical; }
.media-comment-form textarea:focus { outline: 3px solid rgba(213,156,52,.24); border-color: var(--gold-500); }
.media-comment-form .btn { justify-self: start; }
.media-comment-signin { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 820px; padding: 1rem 1.2rem; border-radius: var(--radius-md); background: var(--sage-100); }
.media-comment-signin p { margin: 0; color: var(--forest-900); font-weight: 700; }
.comment-list { display: grid; gap: .75rem; max-width: 820px; margin-top: 1.2rem; }
.video-comment { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: .8rem; padding: 1rem 0; border-bottom: 1px solid var(--cream-200); }
.video-comment__avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--forest-800); color: var(--gold-300); font-size: .92rem; font-weight: 800; }
.video-comment h3 { display: inline; margin: 0 .55rem 0 0; color: var(--forest-900); font-family: var(--font-body); font-size: .96rem; }
.video-comment time { color: var(--ink-500); font-size: .72rem; }
.video-comment p { margin: .35rem 0 0; color: var(--ink-700); font-size: .92rem; }
.comments-empty { padding: 1rem 0; color: var(--ink-600); }
.honeypot-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.video-recorder { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .7fr); gap: 1rem; margin-bottom: 1.25rem; padding: 1.15rem; border: 1px solid rgba(18,59,42,.11); border-radius: var(--radius-md); background: linear-gradient(145deg, var(--sage-100), var(--cream-100)); }
.video-recorder h2 { margin-bottom: .48rem; font-size: 1.35rem; }
.video-recorder__copy > p:not(.eyebrow) { margin: 0; color: var(--ink-600); font-size: .86rem; line-height: 1.58; }
.video-recorder__preview { grid-row: span 2; width: 100%; min-height: 180px; border-radius: 14px; background: var(--forest-900); object-fit: cover; }
.video-recorder__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.video-recorder__actions .btn { min-height: 40px; }
.video-recorder__status { grid-column: 1; margin: 0; color: var(--forest-900); font-size: .76rem; font-weight: 700; }
.bible-selection-note { margin-bottom: 1.5rem; padding: 1.2rem 1.25rem; border: 1px solid rgba(18,59,42,.12); border-left: 4px solid var(--gold-500); border-radius: 12px; background: linear-gradient(120deg, var(--cream-50), #edf6ef); }
.bible-selection-note h2 { margin: .25rem 0 .45rem; color: var(--forest-900); font-size: 1.35rem; }
.bible-selection-note p { margin: 0; color: var(--ink-700); line-height: 1.65; }
.bible-selection-note__status { margin-top: .75rem !important; color: var(--forest-800) !important; font-size: .8rem; font-weight: 800; }
.bible-selection-note__status.is-error { color: #9d2222 !important; }
.bible-selection-note__saved { display: grid; gap: .35rem; margin-top: 1rem; padding: .85rem .9rem; border-radius: 9px; background: rgba(255,255,255,.74); color: var(--ink-700); font-size: .82rem; line-height: 1.55; }
.bible-selection-note__saved strong { color: var(--forest-900); }
@keyframes media-pulse { 70% { box-shadow: 0 0 0 9px rgba(157,34,34,0); } 100% { box-shadow: 0 0 0 0 rgba(157,34,34,0); } }

/* Public article and prayer-point archives */
.home-content-hub__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-content-hub__panel { padding: clamp(1.3rem, 3vw, 2.15rem); border: 1px solid rgba(18,59,42,.10); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--white), var(--cream-50)); box-shadow: var(--shadow-sm); }
.home-content-hub__panel--prayer { background: radial-gradient(circle at 90% 8%, rgba(213,156,52,.16), transparent 28%), linear-gradient(145deg, var(--forest-800), var(--forest-900)); color: rgba(255,255,255,.84); }
.home-content-hub__heading, .article-card__actions, .prayer-archive-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.home-content-hub__heading { margin-bottom: 1.1rem; }
.home-content-hub__heading h3 { margin-bottom: 0; font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.home-content-hub__panel--prayer .eyebrow, .home-content-hub__panel--prayer time { color: var(--gold-300); }
.home-content-hub__panel--prayer h3, .home-content-hub__panel--prayer h4 a { color: var(--white); }
.home-article-list, .home-prayer-list { display: grid; gap: .75rem; }
.home-article-list article, .home-prayer-list article { padding: .95rem 0; border-top: 1px solid rgba(18,59,42,.1); }
.home-prayer-list article { border-color: rgba(255,255,255,.15); }
.home-article-list article:first-child, .home-prayer-list article:first-child { padding-top: 0; border-top: 0; }
.home-article-list time, .home-prayer-list time, .article-card time, .prayer-archive-card time { display: block; margin-bottom: .38rem; color: var(--gold-600); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-article-list h4, .home-prayer-list h4 { margin: 0 0 .3rem; font-family: var(--font-body); font-size: 1rem; }
.home-article-list h4 a, .home-prayer-list h4 a { color: var(--forest-900); text-decoration: none; }
.home-article-list p { margin: 0 0 .6rem; color: var(--ink-600); font-size: .84rem; line-height: 1.55; }
.home-article-list article > div, .home-prayer-list article > div { display: flex; align-items: center; gap: .75rem; }
.home-prayer-list ul { display: grid; gap: .38rem; margin: 0 0 .65rem; padding-left: 1.1rem; }
.home-prayer-list li { color: rgba(255,255,255,.84); font-size: .84rem; line-height: 1.5; }
.home-prayer-list li::marker { color: var(--gold-300); }
.share-button { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; padding: .38rem .62rem; border: 1px solid rgba(18,59,42,.16); border-radius: 999px; background: var(--white); color: var(--forest-800); font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.share-button:hover { border-color: var(--gold-600); background: var(--cream-100); transform: translateY(-1px); }
.share-button--light { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: var(--white); }
.share-button--light:hover { background: rgba(255,255,255,.16); }
.share-button--prominent { min-height: 42px; margin-top: 1.1rem; padding: .65rem .95rem; border-color: var(--gold-500); background: var(--forest-900); color: var(--white); font-size: .8rem; }
.share-button--prominent:hover { background: var(--gold-600); color: var(--forest-900); }
.content-archive-hero { background: radial-gradient(circle at 92% 14%, rgba(213,156,52,.22), transparent 25%), linear-gradient(125deg, #e8f1e8, #fcf6e9); }
.article-card-grid, .prayer-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.article-card { display: flex; overflow: hidden; min-height: 100%; flex-direction: column; border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); transition: transform .24s ease, box-shadow .24s ease; }
.article-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.article-card__image { width: 100%; aspect-ratio: 1.65; object-fit: cover; }
.article-card__body { display: flex; padding: 1.25rem; flex: 1; flex-direction: column; }
.article-card h2 { margin-bottom: .48rem; font-family: var(--font-body); font-size: 1.18rem; }
.article-card h2 a { color: var(--forest-900); text-decoration: none; }
.article-card__scripture { margin: 0 0 .65rem !important; color: var(--gold-600) !important; font-size: .76rem !important; font-weight: 800; }
.article-card__body > p:not(.article-card__scripture) { margin-bottom: 1rem; color: var(--ink-600); font-size: .88rem; line-height: 1.58; }
.article-card__actions { align-items: center; margin-top: auto; }
.prayer-archive-card { padding: 1.35rem; border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-md); background: linear-gradient(145deg, var(--cream-100), var(--white)); box-shadow: var(--shadow-sm); }
.prayer-archive-card h2 { margin: 0; font-family: var(--font-body); font-size: 1.1rem; }
.prayer-archive-card h2 a { color: var(--forest-900); text-decoration: none; }
.prayer-archive-card ul { display: grid; gap: .6rem; margin: 1rem 0; padding-left: 1.15rem; color: var(--ink-700); }
.prayer-archive-card li { padding-left: .18rem; font-size: .9rem; line-height: 1.58; }
.prayer-archive-card li::marker { color: var(--gold-600); }
.archive-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2rem; color: var(--ink-600); font-size: .84rem; font-weight: 700; }
.archive-pagination a { color: var(--forest-800); text-decoration: none; }
.archive-pagination a:hover { color: var(--gold-700); }
.article-detail { margin-top: 2rem; }
.article-detail__header { max-width: 900px; margin: 0 auto 1.25rem; padding: clamp(1.5rem, 4vw, 3.2rem); border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--cream-100), var(--white)); box-shadow: var(--shadow-sm); }
.article-detail__header h1 { margin-bottom: .75rem; font-size: clamp(2rem, 4vw, 3.65rem); }
.article-detail__meta { display: flex; flex-wrap: wrap; gap: .45rem .8rem; color: var(--ink-600); font-size: .82rem; font-weight: 700; }
.article-detail__meta span + span::before { margin-right: .8rem; color: var(--gold-600); content: '•'; }
.article-detail__image { max-width: 900px; margin: 0 auto 1.25rem; overflow: hidden; border-radius: var(--radius-lg); background: var(--forest-900); }
.article-detail__image img { display: block; width: 100%; max-height: 620px; object-fit: cover; }
.article-detail__layout { display: grid; max-width: 900px; grid-template-columns: minmax(0, 1.16fr) minmax(240px, .72fr); gap: 1.2rem; margin: 0 auto; }
.article-detail__body { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgba(18,59,42,.1); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.article-detail__passage { margin-bottom: 1.7rem; padding-bottom: 1.45rem; border-bottom: 1px solid var(--cream-200); }
.article-detail__passage blockquote { margin: 0; padding: 1rem 1.05rem; border-left: 3px solid var(--gold-500); background: var(--cream-100); color: var(--forest-900); font-family: var(--font-display); font-size: 1.04rem; font-style: italic; line-height: 1.72; }
.article-detail__passage small { display: block; margin-top: .5rem; color: var(--ink-500); font-size: .68rem; line-height: 1.45; }
.article-detail__copy { color: var(--ink-700); line-height: 1.78; }
.article-detail__copy p:last-child { margin-bottom: 0; }
.article-detail__prayer { align-self: start; padding: clamp(1.35rem, 3vw, 2rem); border-radius: var(--radius-md); background: radial-gradient(circle at 90% 5%, rgba(213,156,52,.18), transparent 28%), var(--forest-900); color: rgba(255,255,255,.85); }
.article-detail__prayer section + section { margin-top: 1.35rem; padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.15); }
.article-detail__prayer .eyebrow { color: var(--gold-300); }
.article-detail__prayer p { margin-bottom: 0; line-height: 1.65; }
.article-detail__prayer ul { display: grid; gap: .7rem; margin: 0 0 1rem; padding-left: 1.15rem; }
.article-detail__prayer li { padding-left: .2rem; line-height: 1.58; }
.article-detail__prayer li::marker { color: var(--gold-300); }
@media (max-width: 920px) { .home-content-hub__grid, .article-detail__layout { grid-template-columns: 1fr; } .article-card-grid, .prayer-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .article-card-grid, .prayer-archive-grid { grid-template-columns: 1fr; } .home-content-hub__heading, .prayer-archive-card__top { align-items: flex-start; flex-direction: column; gap: .65rem; } .article-detail__header, .article-detail__body, .article-detail__prayer { padding: 1.3rem; border-radius: 18px; } .article-detail__meta { display: grid; gap: .3rem; } .article-detail__meta span + span::before { display: none; } .archive-pagination { gap: .65rem; font-size: .76rem; } }