:root {
  --ink: #23323b;
  --muted: #5b6b74;
  --blue: #3d5a6c;
  --paper: #faf7f0;
  --line: #e4ddcd;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
}
main { max-width: 860px; margin: 0 auto; padding: 24px 20px 8px; }
.hero { margin: 0; }
.hero img {
  display: block; width: 100%; height: auto;
  border-radius: 6px;
}
header { text-align: center; margin: 28px 0 8px; }
h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); margin: 0; color: var(--blue); font-weight: normal; letter-spacing: .01em; }
.tagline { margin: 8px 0 0; font-size: 1.15rem; color: var(--muted); font-style: italic; }
h2 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .12em; color: var(--blue); margin: 0 0 8px; font-weight: normal; }
.worship {
  text-align: center; margin: 28px auto; padding: 18px 12px;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.worship .time { font-size: 2rem; margin: 0; }
.info { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.info p { margin: 0 0 8px; }
a { color: var(--blue); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--ink); }
.soon { text-align: center; color: var(--muted); margin: 36px 0 8px; }
footer { text-align: center; color: var(--muted); font-size: .9rem; padding: 12px 20px 32px; }
footer p { margin: 0; }
@media (max-width: 600px) {
  .info { grid-template-columns: 1fr; gap: 18px; text-align: center; }
}
