.home-hero { --home-hero-image: url('../images/home-blue-sky-hero.jpg'); position: relative; overflow: hidden; padding: 68px 0; color: #17354a; background: #d8edfa; }
.home-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #f0f8ffed 0%, #f0f8ffd6 35%, #f0f8ff40 72%, #f0f8ff0a 100%), var(--home-hero-image) center / cover; }
.home-hero > .container { position: relative; }
.home-hero .site-eyebrow { color: #47687a; margin-bottom: 18px; }
.home-hero h1 { font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.08; font-weight: 500; letter-spacing: -.04em; max-width: 790px; margin: 0 0 26px; }
.home-scripture { max-width: 555px; margin: 0; }
.home-scripture p { color: #233f50; font-family: Georgia, serif; font-size: 1.15rem; line-height: 1.7; margin: 0 0 12px; }
.home-scripture cite { color: #476074; font-size: .8rem; font-style: normal; }
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.home-hero .site-button-light { color: #17354a; border-color: #55788c; background: #ffffff80; }
.home-hero .site-button-light:hover { color: #17354a; background: #ffffffc4; }
.home-section { padding: 64px 0; }
.meeting-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.meeting-card { display: flex; flex-direction: column; align-items: start; padding: 28px; border: 1px solid #dfe4d8; border-radius: 12px; background: #fff; }
.meeting-card h3 { color: #4c624d; font-size: .82rem; font-weight: 600; margin: 0 0 14px; }
.meeting-card .meeting-time { color: var(--site-ink); font-size: 2.25rem; font-weight: 500; letter-spacing: -.04em; line-height: 1.2; margin: 0 0 18px; }
.meeting-time span { font-size: .85rem; letter-spacing: .02em; font-weight: 600; margin-left: 4px; }
.meeting-card p, .meeting-card address { color: var(--site-muted); font-size: .92rem; font-style: normal; line-height: 1.7; margin-bottom: 20px; }
.meeting-card > a { margin-top: auto; }
.memory-feature { display: grid; grid-template-columns: 1fr 1.5fr; gap: 36px; align-items: center; margin-top: 48px; padding: 30px; background: #edf0e5; border-radius: 12px; }
.memory-intro h2 { color: var(--site-ink); font-size: clamp(1.6rem, 3vw, 2rem); letter-spacing: -.03em; line-height: 1.2; margin: 0 0 14px; }
.memory-intro > p:not(.site-eyebrow) { font-size: .9rem; color: var(--site-muted); max-width: 300px; margin: 0 0 22px; }
.memory-scripture { margin: 0 0 24px; padding-left: 16px; border-left: 3px solid var(--site-gold); }
.memory-scripture p { font-family: Georgia, serif; font-size: 1.05rem; line-height: 1.6; color: #3f5143; margin: 0 0 8px; }
.memory-scripture cite { font-size: .78rem; font-style: normal; color: #80652c; }
.memory-image { min-width: 0; overflow: hidden; border: 1px solid #dce2d1; border-radius: 8px; background: #fff; }
.memory-image img { display: block; width: 100%; height: auto; }
#verse-fallback { padding: 28px; text-align: center; }
#memory-verse-text { font-family: Georgia, serif; font-size: 1.3rem; line-height: 1.65; margin: 0 0 12px; color: #354b39; }
#memory-verse-reference { color: var(--site-muted); }
.home-page .media-section { border-top: 1px solid #e3e5dc; }
.home-resources { background: #eff1e9; }
.resource-link-featured { background: var(--site-green); border-color: var(--site-green); color: #fff; }
.resource-link-featured p { color: #d1dcd2; }
.resource-link-featured span { color: var(--site-gold); }
.resource-link-featured:hover { background: #2c4334; color: #fff; }
.digest-heading { font-size: clamp(1.9rem, 4vw, 2.5rem); letter-spacing: -.035em; text-align: center; margin: 0 0 12px; }
.digest-section .card { border: 1px solid #dfe4d8; border-radius: 12px; overflow: hidden; box-shadow: none; }
.digest-section .card-body { padding: 24px; }
.digest-section .card-img-top { aspect-ratio: 16 / 9; object-fit: cover; }
.home-page .modal-content { border: 1px solid #dfe4d8; border-radius: 12px; color: var(--site-ink); }
.home-page .modal-header { background: #f0f3e9; border-color: #dfe4d8; }
/* Existing sermon digest, styled to match the shared palette. */
.digest-speaker { font-weight: 700; font-size: 0.9rem; color: #222; }
.digest-title { font-size: 0.85rem; color: #555; font-style: italic; margin-bottom: 8px; }
.digest-summary { font-size: 0.875rem; color: #333; line-height: 1.6; margin-bottom: 4px; }
.digest-more { margin-top: 10px; }
.digest-section-head { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #687363; margin: 12px 0 5px; }
.digest-highlights { padding-left: 1.1rem; margin: 0; }
.digest-highlights li { font-size: 0.83rem; color: #444; margin-bottom: 5px; line-height: 1.45; }
.digest-quote { border-left: 3px solid #e5ca82; padding: 5px 10px; margin: 6px 0; font-style: italic; font-size: 0.83rem; color: #555; background: #f8f7f0; border-radius: 0 4px 4px 0; }
.digest-scriptures { padding: 0; margin: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px; }
.verse-btn { font-size: 0.75rem; color: #355d3e; background: #edf2e7; padding: 2px 7px; border-radius: 10px; border: none; cursor: pointer; display: inline-block; }
.verse-btn:hover { background: #dce8d2; }
.digest-toggle-btn { background: none; border: none; padding: 6px 0 0; font-size: 0.78rem; color: #687363; cursor: pointer; display: block; width: 100%; text-align: left; }
.digest-toggle-btn:hover { color: #666; }
.home-page .digest-section .site-button { font-size: .8rem; padding: 8px 12px; }
@media (max-width: 991px) {
  .memory-feature { grid-template-columns: 1fr 1.2fr; gap: 24px; padding: 24px; }
}
@media (max-width: 767px) {
  .home-hero { padding: 44px 0; }
  .home-hero::before { background-image: linear-gradient(90deg, #f0f8ffeb 0%, #f0f8ffb8 100%), var(--home-hero-image); background-position: center, right center; }
  .home-hero h1 { font-size: clamp(2rem, 6vw, 3rem); }
  .home-scripture p { font-size: 1.05rem; }
  .home-section { padding: 44px 0; }
  .meeting-grid, .memory-feature { grid-template-columns: 1fr; }
  .meeting-card { padding: 24px; }
  .memory-feature { margin-top: 30px; padding: 24px; }
  .memory-intro h2 br { display: none; }
  .memory-intro > p:not(.site-eyebrow) { max-width: none; }
}
@media (max-width: 380px) {
  .home-actions { flex-direction: column; align-items: stretch; }
  .home-title-break { display: none; }
  .memory-feature { padding: 20px; }
}
