/* The illustrated links and daily calendar share the main editorial grid. */
.home-page {
  --home-gutter: clamp(18px, 2.7vw, 36px);
  --home-radius: 22px;
  --home-shadow: 0 6px 16px #60431f13;
}
.home-page :is(main > section > .container, .primary-card-grid) {
  width: min(1340px, calc(100% - 2 * var(--home-gutter)));
}
.home-page main > #hero { padding-block-end: clamp(16px, 2.4vw, 32px); }
.home-page .primary-card-grid { margin-block-end: 0; gap: clamp(16px, 1.55vw, 22px); }
.home-page .primary-card { border-radius: var(--home-radius); box-shadow: var(--home-shadow); transition-duration: 240ms; }
.home-page .primary-card-art { --wave-height: clamp(20px, 2.3vw, 34px); }
@supports (mask-image: url("")) {
  .home-page .primary-card-art { background: none; }
  .home-page .primary-card-art picture {
    mask:
      linear-gradient(#000, #000) top / 100% calc(100% - var(--wave-height) + 2px) no-repeat,
      url("/assets/primary-cards/wave-mask.svg") bottom / 100% var(--wave-height) no-repeat;
  }
  .home-page .primary-card-art::after {
    inset: auto 0 0;
    height: var(--wave-height);
    background-image: url("/assets/primary-cards/wave-line.svg");
  }
}
.home-page .today-calendar-section { padding-block: clamp(18px, 2.2vw, 30px) 24px; }
.home-page .today-calendar {
  border-radius: var(--home-radius);
  box-shadow: var(--home-shadow);
  background: #fffdf8;
}
.home-page main > .section { padding-block: clamp(38px, 5.8vw, 76px); }
.home-page main > .section + .section,
.home-page #history { border-block-start: 1px solid var(--color-line); }
.home-page main > .section > .container > .section-header { margin-block-end: clamp(24px, 3.6vw, 46px); }
.home-page .history-prose-text { max-width: 1000px; }
.home-page .history-prose-text .history-chapter {
  grid-template-columns: minmax(88px, 13%) minmax(0, 1fr);
  gap: clamp(14px, 3vw, 38px);
  align-items: baseline;
  padding-block: clamp(18px, 2.7vw, 32px);
}
.home-page .history-chapter > h3 {
  font: 700 clamp(24px, 2.35vw, 34px)/1.2 Georgia, serif;
  text-align: start;
}
.home-page .history-chapter > p {
  max-width: 75ch;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.78;
  text-align: start;
  hyphens: auto;
  text-wrap: pretty;
}
.home-page .history-prose-text :is(.history-prose-image, .history-album-pair) {
  margin-block: 0 clamp(16px, 2.1vw, 28px);
}
.home-page .history-prose-text > .history-final { margin-block-start: 14px; }
.home-page .ministry-feature {
  padding-block-end: clamp(24px, 3.5vw, 48px);
  background: var(--color-paper);
}
.home-page .ministry-panel {
  display: grid;
  grid-template-columns: minmax(126px, 156px) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 2.5vw, 32px);
  min-height: 150px;
  padding: 28px clamp(28px, 2.5vw, 32px);
  border: 1px solid var(--color-line);
  border-radius: 20px;
  background: #fffdf8;
  box-shadow: var(--home-shadow);
  color: var(--color-ink);
  text-decoration: none;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.home-page .ministry-panel img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.home-page .ministry-panel .section-label {
  margin: 0 0 2px;
  color: var(--color-gold-text);
  font-size: 12px;
  line-height: 1.35;
  text-transform: uppercase;
}
.home-page .ministry-panel h2 {
  margin: 0 0 4px;
  color: var(--color-ink);
  font: 400 clamp(28px, 2.5vw, 32px)/1.1 Georgia, serif;
}
.home-page .ministry-panel-description {
  max-width: 68ch;
  margin: 0;
  color: var(--color-muted);
  font: 400 clamp(15px, 1.22vw, 16px)/1.38 Inter, Arial, sans-serif;
}
.home-page .ministry-panel-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 9px;
  background: var(--color-ink);
  color: var(--color-surface);
  font: 600 14px/1.4 Inter, Arial, sans-serif;
  text-align: start;
}
.home-page .ministry-panel-action svg { flex: none; }
.home-page .ministry-panel:focus-visible { outline: 2px solid var(--color-gold-text); outline-offset: 4px; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-page .ministry-panel:hover { transform: scale(1.008); box-shadow: 0 10px 22px #60431f1c; }
  .home-page .primary-card:hover, .home-page .primary-card:focus-visible { transform: translateY(-3px) scale(1.018); }
  .home-page .primary-card:hover { box-shadow: 0 10px 24px #60431f27; }
}
@media (max-width: 850px) {
  .home-page .ministry-panel { grid-template-columns: 136px minmax(0, 1fr); gap: 14px 22px; }
  .home-page .ministry-panel-action { grid-column: 2; justify-self: start; }
}
@media (max-width: 560px) {
  .home-page .ministry-panel { grid-template-columns: minmax(0, 1fr); padding: 20px; }
  .home-page .ministry-panel img { width: 140px; max-width: 100%; }
  .home-page .ministry-panel-description { line-height: 1.5; }
  .home-page .ministry-panel-action { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .ministry-panel { transition: none; }
}
@media (max-width:650px) {
  .home-page .history-prose-text .history-chapter { grid-template-columns: minmax(0,1fr); gap: 8px; }
}
