/* APNOM: readable content, restrained surfaces, and touch-first navigation. */
:root {
    --cream-50: #faf9f6;
    --cream-100: #f2f1ec;
    --cream-200: #e1e3dc;
    --gold-600: #836020;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --shadow-sm: 0 2px 8px rgba(18,59,42,.035);
    --shadow-md: 0 6px 20px rgba(18,59,42,.06);
    --shadow-lg: 0 12px 32px rgba(18,59,42,.09);
}
body { background: var(--cream-50); }
h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
.ui-icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 auto; vertical-align: middle; }
.site-header { background: var(--cream-50); backdrop-filter: none; }
.site-header.is-scrolled { box-shadow: 0 2px 8px rgba(18,59,42,.05); }
.desktop-nav a { border-radius: 6px; }
.eyebrow, .section-heading__eyebrow { letter-spacing: .065em; }
.btn { min-height: 44px; border-radius: 8px; box-shadow: none; font-weight: 600; }
.btn:hover { transform: none; box-shadow: none; }
.btn--gold, .btn-primary { background: var(--forest-800); color: white; }
.btn--gold:hover, .btn-primary:hover { background: var(--forest-900); }
.card, .program-card, .journey-card, .article-card, .ministry-card,
.member-program, .resource-card, .testimony-card { box-shadow: none; }
.program-card:hover, .journey-card:hover, .article-card:hover { transform: none; box-shadow: none; border-color: var(--sage-200); }
.page-hero { background: var(--cream-100); border-radius: 12px; }
.page-hero::after, .home-hero::before, .home-hero::after { display: none; }
.home-hero--image-free {
    display: block; min-height: 0; margin-top: 0;
    padding: clamp(2rem, 5vw, 4rem) 0 2rem;
    border-radius: 0; background: transparent; box-shadow: none;
    border-bottom: 1px solid var(--cream-200);
}
.home-hero__content { max-width: 900px; }
.home-hero h1 { max-width: 870px; font-size: clamp(2rem, 3.6vw, 3.25rem); color: var(--forest-900); line-height: 1.18; }
.home-hero .eyebrow { color: var(--gold-600); }
.home-hero__content > p:not(.eyebrow) { max-width: 680px; color: var(--ink-600); }
.home-hero .btn--outline { background: transparent; color: var(--forest-900); border-color: #b5c2b9; }
.home-content-hub { margin-top: 2rem; }
.home-content-hub__grid { gap: 2.4rem; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.home-content-hub__panel { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.home-content-hub__panel--prayer { padding: 1.4rem; background: var(--cream-100); border-radius: 12px; color: var(--ink-700); align-self: start; }
.home-content-hub__panel--prayer .eyebrow, .home-content-hub__panel--prayer time { color: var(--gold-600); }
.home-content-hub__panel--prayer h3, .home-content-hub__panel--prayer h4 a,
.home-content-hub__panel--prayer .text-link--light { color: var(--forest-900); }
.home-prayer-list li { color: var(--ink-700); line-height: 1.7; }
.home-prayer-list article { border-color: var(--cream-200); }
.home-prayer-list li::marker { color: var(--forest-800); }
.home-content-hub__panel--prayer .share-button--light { background: transparent; color: var(--forest-800); border-color: #b5c2b9; }
.home-article-list { gap: 0; }
.home-article-list article { padding: 1.3rem 0; }
.home-article-list h4 { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.35; }
.home-article-list p { font-size: .96rem; line-height: 1.7; }
.home-article-list time, .home-prayer-list time { font-size: .76rem; letter-spacing: .02em; text-transform: none; }
.home-article-list .text-link, .home-prayer-list .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.share-button { min-height: 44px; padding: .5rem .85rem; border-radius: 8px; font-size: .8rem; font-weight: 600; }
.share-button:hover { transform: none; }
.journey-card { background: var(--white); padding: 1.3rem; min-height: 0; }
.journey-card__icon, .icon-circle { background: transparent; color: var(--forest-800); border-radius: 0; width: 28px; height: 28px; }
.journey-card__link { padding-top: .8rem; }
.daily-verse { border: 0; box-shadow: none; }
.daily-verse::before { display: none; }
.daily-verse__seal { box-shadow: none; border-radius: 6px; width: 2.75rem; height: 2.75rem; }
.article-detail__header { background: none; border: 0; box-shadow: none; padding-inline: 0; }
.article-detail__body { box-shadow: none; }
.article-detail__copy { font-size: 1.0625rem; line-height: 1.85; overflow-wrap: anywhere; }
.article-detail__copy p { margin-bottom: 1.3em; }
.article-detail__prayer { background: var(--forest-900); }
.article-detail__image img { object-fit: contain; }
.article-card__body { gap: .1rem; }
.article-card__actions { gap: .65rem; flex-wrap: wrap; }
.article-card__actions .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer { margin-top: 4rem; }
.footer-links a, .footer-contact a { display: inline-block; padding-block: .25rem; }
.nav-drawer { visibility: hidden; background: var(--cream-50); padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
.nav-drawer__links a { min-height: 48px; display: flex; align-items: center; border-radius: 6px; }
.nav-drawer.is-open { visibility: visible; }
.nav-close { min-width: 44px; min-height: 44px; }
html { scroll-padding-top: 100px; }
@media (max-width: 920px) {
    .home-content-hub__grid { grid-template-columns: 1fr; gap: 1.75rem; }
}
@media (max-width: 640px) {
    body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
    html { scroll-padding-top: 80px; }
    .utility-bar { display: none; }
    .site-nav { min-height: 64px; width: calc(100% - 2rem); }
    .site-nav .brand__mark { width: 92px; height: 54px; border-radius: 0; }
    .brand__name { font-size: .94rem; }
    .brand__tagline { display: none; }
    .nav-toggle { min-width: 44px; height: 44px; border-radius: 8px; }
    .nav-actions .btn { min-height: 44px; padding-inline: .85rem; }
    .section { margin-top: 2.5rem; }
    .section--compact { margin-top: 1.75rem; }
    .section-heading h2 { font-size: 1.65rem; line-height: 1.25; }
    .section-heading__copy { font-size: .94rem; }
    .home-hero--image-free { margin-top: 0; padding: 1.65rem 0 1.5rem; }
    .home-hero h1 { font-size: clamp(1.9rem, 7.4vw, 2.6rem); line-height: 1.2; letter-spacing: -.02em; }
    .home-hero__content > p:not(.eyebrow) { font-size: 1rem; line-height: 1.7; }
    .hero-actions { display: flex; align-items: center; gap: .65rem; }
    .hero-actions .btn { width: auto; font-size: .84rem; }
    .home-content-hub__heading { flex-direction: row; align-items: baseline; gap: .65rem; }
    .home-content-hub__heading > a { flex-shrink: 0; min-height: 44px; display: inline-flex; align-items: center; font-size: .84rem; }
    .home-content-hub__heading h3 { font-size: 1.35rem; }
    .journey-grid { gap: 0; border-block: 1px solid var(--cream-200); }
    .journey-card { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 1rem; padding: 1.2rem 0; border: 0; border-radius: 0; background: transparent; }
    .journey-card + .journey-card { border-top: 1px solid var(--cream-200); }
    .journey-card__icon { grid-column: 1; grid-row: 1 / 5; margin: 0; }
    .journey-card > :not(.journey-card__icon) { grid-column: 2; }
    .journey-card__eyebrow { display: none; }
    .journey-card strong { font-size: 1.06rem; }
    .page-hero, .media-hero { padding: 1.4rem; border-radius: 12px; }
    .page-hero h1, .media-hero h1 { font-size: clamp(1.9rem, 7.6vw, 2.5rem); }
    .daily-verse__action { flex-direction: row; align-items: center; gap: .8rem; }
    .daily-verse .btn { width: auto; white-space: normal; min-height: 44px; }
    .article-detail__header, .article-detail__body, .article-detail__prayer { border-radius: 12px; padding: 1.15rem; }
    .article-detail__header { padding: 0 0 .75rem; }
    .article-detail__header h1 { font-size: 1.95rem; line-height: 1.25; }
    .article-detail__layout { gap: 1rem; }
    .article-detail__image img { max-height: 380px; }
    .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
    .site-footer__grid > :first-child, .footer-contact { grid-column: 1 / -1; }
    .footer-links h3 { font-size: .95rem; }
    .footer-links a { min-height: 44px; display: flex; align-items: center; }
    .mobile-action-dock {
        position: fixed; z-index: 35; inset: auto 0 0; display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
        padding: 4px max(8px, env(safe-area-inset-right, 0px)) max(4px, env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
        border: 0; border-top: 1px solid var(--cream-200); border-radius: 0;
        background: #fff; box-shadow: 0 -2px 12px rgba(18,59,42,.04); backdrop-filter: none;
    }
    .mobile-action-dock a {
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        min-width: 0; min-height: 64px; padding: 5px 4px; gap: 4px;
        border-radius: 8px; color: var(--ink-600); font-weight: 600; line-height: 1.2;
        font-size: .78rem; text-align: center; text-decoration: none;
    }
    .mobile-action-dock a span { font-size: inherit; white-space: nowrap; }
    .mobile-action-dock a .ui-icon { width: 22px; height: 22px; }
    .mobile-action-dock a.is-active { background: var(--sage-100); color: var(--forest-900); }
    .mobile-action-dock a:active { background: var(--cream-100); }
    body.nav-open .mobile-action-dock { visibility: hidden; }
    .analytics-consent { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 170px); overflow-y: auto; }
    input, select, textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

@media (max-width: 640px) {
 .daily-word, .leader-grid { grid-template-columns: minmax(0, 1fr); }
 .daily-word > *, .profile-card > *, .devotional-player__lead > div { min-width: 0; overflow-wrap: anywhere; }
 .daily-word__exhortation, .daily-word__prayer { padding: 1.15rem; }
 .devotional-player { padding: .75rem; background: var(--cream-100); box-shadow: none; }
}
@media (max-width: 420px) { .profile-card { grid-template-columns: minmax(0, 1fr); } }
