/* Read each gathering vertically: schedule, description, then sermon.
   The page grows naturally instead of squeezing copy into narrow columns. */
#main #services .primary-card{background:var(--paper,#fff);border-color:var(--line,#dfdfd6);color:var(--ink,#263a32)}
html:not([data-theme]) #main #services .primary-card{background:#fff}
#main #services .service-card>p,#main #services .service-card h3{color:var(--ink,#263a32)!important}
#main #services .primary-card .card-time{color:var(--deep,#19392f)!important}
#main #services .primary-card .card-frequency,#main #services .primary-card .card-index,#main #services .primary-card .card-time span{color:var(--muted,#6a7871)!important}
#main #services .primary-card .service-icon{background:var(--pale,#f0f2e9);color:var(--green,#21473d)}
#main #services .gathering-photo{grid-area:photo;display:block;width:100%;height:100%;min-width:0;min-height:0;max-height:260px;object-fit:cover;border-radius:var(--proposal-radius,10px);align-self:center}
#main #services .gathering-photo-2{object-position:25% center}
#main #services .gathering-photo-3{object-position:75% center}
@media(min-width:761px){
  #main #services{height:auto!important;min-height:calc(100svh - var(--news-header-height,90px));padding:24px 0 80px;overflow:visible}
  #main #services>.container{max-height:none;overflow:visible}
  #main #services .section-heading-row{justify-content:flex-start;align-items:center;gap:18px;margin-bottom:12px}
  #main #services .section-heading-row .eyebrow{margin-bottom:4px;font-size:12px!important}
  #main #services .section-heading-row h2{font-size:30px;line-height:1.35;margin:0}
  #main #services .section-heading-row>p{max-width:none;margin:0;line-height:1.5!important;white-space:normal}
  #main #services .service-cards{gap:16px;align-items:stretch}
  #main #services .service-card{min-height:0;padding:22px 24px;overflow:visible;transform:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.5fr);grid-template-areas:"freq photo" "title photo" "time photo" "desc photo";column-gap:22px;row-gap:5px;align-content:start}
  /* Decorative numbering/icons duplicate the visible weekday labels. */
  #main #services .card-top{display:none}
  #main #services .card-frequency{grid-area:freq;margin:0;line-height:1.5;font-size:14px!important}
  #main #services .service-card h3{grid-area:title;font-size:22px;margin:0;line-height:1.4}
  #main #services .card-time{grid-area:time;font-size:26px;line-height:1.4;margin:0;white-space:nowrap}
  #main #services .service-card>p{grid-area:desc;align-self:start;max-width:none;margin:8px 0 0!important;font-size:18px!important;line-height:1.7!important;overflow:visible}
  #main #services .primary-card{grid-template-columns:minmax(0,1.65fr) minmax(220px,.85fr);grid-template-areas:"freq photo" "title photo" "time photo" "desc photo" "sermon photo";column-gap:32px;padding:24px 28px}
  #main #services .primary-card .gathering-photo{max-height:320px}
  #main #services .primary-card h3{font-size:26px}
  #main #services .primary-card .card-time{font-size:32px;align-self:center}
  #main #services .primary-card .next-worship{grid-area:sermon;grid-column:1;grid-template-columns:minmax(0,1fr);row-gap:3px;margin-top:12px;padding:12px 0 0;align-items:start;background:transparent;color:inherit;border:0;border-top:1px solid var(--line,#dfdfd6);border-radius:0}
  #main #services .next-worship .sermon-title{grid-column:1/-1;font-size:18px;font-weight:500;line-height:1.5;color:inherit}
  #main #services .next-worship strong,#main #services .next-worship time,#main #services .next-worship span{font-size:15px;line-height:1.5;overflow-wrap:anywhere;color:inherit}
  #main #services .service-disclaimer{font-size:14px!important;line-height:1.5!important;margin:10px 0 0}
  #main #services>.values-strip .values-row{min-height:56px}
}
@media(max-width:760px){
  #main #services .service-cards{grid-template-columns:1fr}
  #main #services .service-card,#main #services .primary-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.55fr);grid-template-areas:"top photo" "freq photo" "title photo" "time photo" "desc desc" "sermon sermon";gap:5px 12px;padding:18px;min-height:0}
  #main #services .card-top{grid-area:top;margin:0}
  #main #services .card-frequency{grid-area:freq;margin:0}
  #main #services .service-card h3{grid-area:title;margin:0}
  #main #services .card-time{grid-area:time;font-size:24px;white-space:nowrap}
  #main #services .service-card>p{grid-area:desc;margin:10px 0 0}
  #main #services .gathering-photo{max-height:180px;align-self:stretch}
  #main #services .primary-card .next-worship{grid-area:sermon;grid-column:1/-1}
  #main #services .primary-card .card-top{order:0}
  #main #services .primary-card .card-frequency{order:1}
  #main #services .primary-card h3{order:2}
  #main #services .primary-card .card-time{order:3}
  #main #services .primary-card .next-worship{order:5;background:transparent;color:inherit;border:0;border-top:1px solid var(--line,#dfdfd6);border-radius:0;padding:8px 0 0;gap:3px}
  #main #services .next-worship .sermon-title{font-size:18px;font-weight:500;line-height:1.5;color:inherit}
  #main #services .next-worship strong,#main #services .next-worship time,#main #services .next-worship span{font-size:15px;line-height:1.5;color:inherit}
  #main #services .primary-card>p{order:4}
}
@media(min-width:761px) and (max-width:1050px){
  #main #services .service-card:not(.primary-card){grid-template-columns:minmax(0,1fr) 110px;grid-template-areas:"freq photo" "title photo" "time photo" "desc desc";row-gap:3px}
  #main #services .primary-card{grid-template-columns:minmax(0,1fr) minmax(160px,.6fr)}
  #main #services .section-heading-row{flex-wrap:wrap;gap:6px 18px}
}
