.preview-notice {
  padding: 9px 14px;
  background: #f7edd6;
  color: #523a18;
  text-align: center;
  font-size: .85rem;
}
.osaki-brand a { display: flex; align-items: center; }
.osaki-brand a + a { border-left: 1px solid #d7d2c4; padding-left: 12px; }
.site-header .osaki-brand img { width: auto; height: 42px; max-width: 130px; object-fit: contain; }
.opening-hero .hero-visual img { width: 100%; height: auto; aspect-ratio: auto; }
.opening-hero h1 strong { font-size: .87em; }
.osaki-gallery img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.prayer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.prayer-links a { display: grid; gap: 5px; padding: 16px; border: 1px solid #cab88a; border-radius: 8px; color: #254b39; background: #fffdfa; text-decoration: none; }
.prayer-links a:hover { background: #f5edd8; }
.prayer-links span { font-size: .8rem; }
#testDataButton { margin: 0 0 20px; }
@media (max-width: 600px) {
  .site-header { padding-inline: 12px; gap: 8px; }
  .osaki-brand { gap: 7px; }
  .osaki-brand a + a { padding-left: 7px; }
  .site-header .osaki-brand img { height: 29px; max-width: 90px; }
  .opening-hero h1 { font-size: clamp(26px,7vw,40px); }
  .prayer-links { grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
  .event-summary { grid-template-columns: minmax(0,1fr); }
  .event-summary > div { min-width: 0; }
  .mobile-cta { max-width: calc(100% - 24px); }
}
