.home .home-ephemeris {
  background: #f2eee9;
  /* Extend the background without widening the content or adding horizontal scrolling. */
  box-shadow: 0 0 0 100vmax #f2eee9;
  clip-path: inset(0 -100vmax);
  padding: 32px clamp(16px, 3vw, 48px) 48px;
  box-sizing: border-box;
}
.home-ephemeris .moon-intro { text-align: center; max-width: 880px; margin: 35px auto 40px; }
.home-ephemeris { scroll-margin-top: 100px; }
.home-ephemeris .sun-location { text-align: center; margin: 24px 0; color: #514842; }
.home-ephemeris .sun-location summary { cursor: pointer; text-decoration: underline; }
.home-ephemeris .sun-city-form { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin: 18px 0; }
.home-ephemeris .sun-city-form input { background: white; padding: 10px; border: 1px solid #b5a79a; max-width: 100%; min-width: 0; }
.home-ephemeris .sun-city-form button { background: #30283a; color: white; padding: 10px 18px; border: 0; cursor: pointer; }
.home-ephemeris .sun-city-results { list-style: none; padding: 0; }
.home-ephemeris .sun-city-results a { display: inline-block; padding: 8px; text-decoration: underline; }
.home-ephemeris .sun-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 12px; }
.home-ephemeris .sun-facts > div { padding: 25px 16px; text-align: center; background: #faf7f4; border: 1px solid #e1dcd8; border-radius: 18px; }
.home-ephemeris .sun-facts dd { font-size: clamp(23px, 3vw, 38px); }
.home-ephemeris .sun-note, .home-ephemeris .sun-credit { text-align: center; color: #756d68; font-size: 12px; line-height: 1.6; margin: 8px 0; }
.home-ephemeris .sun-credit a { text-decoration: underline; }
@media (max-width: 560px) {
  .home-ephemeris .sun-facts { grid-template-columns: 1fr; }
}
.home-ephemeris .moon-intro h3 { color: #24212b; font-family: Georgia, serif; font-size: clamp(36px, 4.4vw, 66px); font-weight: 400; line-height: 1.15; margin: 0 0 20px; }
.home-ephemeris .moon-intro em { color: #93839f; font-weight: 400; }
.home-ephemeris .moon-intro p { color: #5c5754; font-size: 17px; line-height: 1.7; margin: 0; }
.home-ephemeris .moon-card { display: grid; grid-template-columns: minmax(240px, 29%) minmax(0, 1fr); border: 1px solid #e1dcd8; border-radius: 24px; overflow: hidden; background: #faf7f4; }
.home-ephemeris .moon-visual { background: linear-gradient(145deg, #30283a, #1e1b2d); text-align: center; color: #f3eee8; padding: 35px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.home-ephemeris .moon-disc { width: min(100%, 285px); height: auto; filter: drop-shadow(0 0 18px #b7a6cc18); }
.home-ephemeris .moon-visual h4 { font: 400 clamp(26px, 2.4vw, 38px)/1.2 Georgia, serif; color: inherit; margin: 15px 0 22px; }
.home-ephemeris .moon-illumination { color: #c9bfd7; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; line-height: 1.6; margin: 0; }
.home-ephemeris .moon-details { padding: clamp(24px, 4vw, 55px); min-width: 0; }
.home-ephemeris .moon-date { color: #77706b; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; line-height: 1.6; margin: 0 0 24px; }
.home-ephemeris .moon-date span { color: #c3b3d0; margin-right: 8px; }
.home-ephemeris .moon-summary { font: 400 clamp(25px, 2.5vw, 38px)/1.45 Georgia, serif; color: #514842; margin: 0 0 32px; }
.home-ephemeris .moon-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.home-ephemeris .moon-facts > div { border: 1px solid #e5ded8; border-radius: 16px; padding: 20px; }
.home-ephemeris dt { font-size: 11px; color: #7c736e; letter-spacing: .16em; text-transform: uppercase; line-height: 1.6; margin: 0 0 10px; }
.home-ephemeris dd { font: 400 clamp(19px, 2vw, 27px)/1.4 Georgia, serif; margin: 0; color: #514842; overflow-wrap: anywhere; }
.home-ephemeris .moon-note { font-size: 12px; line-height: 1.6; color: #756d68; margin: 20px 0 0; }
.home-ephemeris .moon-unavailable { padding: 30px; text-align: center; border: 1px solid #e1dcd8; border-radius: 18px; }
@media (max-width: 760px) {
  .home-ephemeris .moon-card { grid-template-columns: 1fr; }
  .home-ephemeris .moon-disc { max-width: 210px; }
  .home-ephemeris .moon-visual { padding: 24px; }
  .home-ephemeris .moon-visual h4 { margin-top: 0; }
}
@media (max-width: 420px) {
  .home-ephemeris .moon-facts { grid-template-columns: 1fr; }
}
