/* An open parish front page: asymmetric editorial columns, no nested scrollers. */
:root{--mm-home-column-gap:clamp(1.5rem,2.5vw,2.5rem);--mm-home-section-gap:2rem;--mm-home-item-gap:.625rem;--mm-home-heading-gap:.5rem;--mm-home-list-gap:.75rem;--mm-home-actions-gap:.5rem}
.mm-home{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:var(--mm-home-column-gap);width:100%;max-width:var(--mm-content-width)}
.mm-home-primary,.mm-home-secondary{display:flex;flex-direction:column;gap:var(--mm-home-section-gap);min-width:0}
.mm-home-feed,.mm-home-schedule{min-width:0}
.mm-home-feed{container-type:inline-size}
.mm-home-section-header{display:flex;flex-direction:column;align-items:stretch;gap:var(--mm-home-heading-gap);margin-bottom:var(--mm-home-list-gap);width:100%}
.mm-home-vignette{display:block;width:100%;max-width:none;height:auto;object-fit:contain;object-position:center;filter:none}
.mm-home h2{margin:0;font-size:var(--mm-type-h2);font-weight:500;line-height:1.2;color:var(--mm-color-heading)}
.mm-home-links,.mm-home-services{list-style:none;margin:0;padding:0;display:grid;gap:var(--mm-home-item-gap)}
.mm-home-links li{display:grid;gap:.25rem;min-width:0}
.mm-home-links time{font-size:var(--mm-type-small);line-height:1.4;color:var(--text-secondary)}
.mm-home-links a{font-size:var(--mm-type-h4);font-weight:500;line-height:1.4;overflow-wrap:anywhere;color:var(--text)}
.mm-home-extra{min-height:0;overflow:hidden;padding:0;margin:0}
.mm-home-extra>.nm-disclosure-body{padding:var(--mm-home-item-gap) 0 0;margin:0}
.mm-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem 1rem;margin-top:var(--mm-home-actions-gap);padding-top:0}
.mm-home-actions>a,.mm-home-schedule-link{display:inline-flex;align-items:center;min-height:44px;color:var(--mm-color-link);font-size:var(--mm-type-small);text-decoration:underline;text-underline-offset:.2em}
.mm-home-more{display:none;align-items:center;justify-content:flex-start;gap:.75rem;min-height:44px;padding:.4rem .75rem;margin-left:-.75rem;border:0;border-radius:4px;font:inherit;font-weight:500;color:var(--mm-color-link);background:transparent;transition:background-color var(--hover-ease),color var(--hover-ease)}
.mm-js .mm-home-more{display:inline-flex}
.mm-home-more:hover{background:var(--mm-ui-hover)}
.mm-home-more .mm-disclosure-indicator{transform:rotate(45deg)}
.mm-home-more[aria-expanded=true] .mm-disclosure-indicator{transform:rotate(225deg)}
.mm-home-schedule{padding-top:0}
.mm-home-schedule-header{margin-bottom:1rem}
.mm-home-schedule-header>p{margin:.375rem 0 0;color:var(--text-secondary);font-size:var(--mm-type-small)}
.mm-home-service-date{display:grid;gap:.2rem;margin-bottom:.25rem;font-size:var(--mm-type-small)}
.mm-home-service-date time{font-weight:500;color:var(--mm-color-heading)}
.mm-home-service-date>span{color:var(--text-secondary);font-size:var(--mm-type-meta)}
.mm-home-service-row{display:grid;grid-template-columns:3.5em minmax(0,1fr);gap:.5rem;line-height:1.45;font-size:var(--mm-type-body)}
.mm-home-service-row>span:first-child{color:var(--text-secondary)}
.mm-home-schedule-link{margin-top:var(--mm-home-actions-gap)}
.mm-home-empty{color:var(--text-secondary);line-height:1.6}
.mm-about-engraving{margin:0 0 2.5rem;width:100%}
.mm-about-engraving img{display:block;width:100%;height:auto;filter:none}
.mm-about-engraving figcaption{margin-top:.5rem;color:var(--text-secondary);font-size:var(--mm-type-small)}
/* Date/title pairs share a first baseline when the local column has room. */
@container(min-width:24rem){
 .mm-home-links li{grid-template-columns:7.5rem minmax(0,1fr);column-gap:.5rem;align-items:baseline}
 .mm-home-links time{white-space:nowrap}
}
@media(max-width:1199px){
 :root{--mm-home-section-gap:2rem}
 .mm-home-links li{grid-template-columns:minmax(0,1fr)}
 .mm-home-links time{white-space:normal}
 .mm-home{grid-template-columns:minmax(0,1fr);gap:var(--mm-home-section-gap);padding-bottom:2rem}
 .mm-home-primary,.mm-home-secondary{display:contents}
 .mm-home-schedule{order:0}
 .mm-home-parish{order:1}
 .mm-home-church{order:2}
 .mm-home-faith{order:3}
 .mm-home-schedule h2{max-width:20em}
 .mm-home-actions>a,.mm-home-schedule-link{font-size:var(--mm-type-body)}
}
@media(prefers-reduced-motion:reduce){.mm-home-more{transition:none}}
:root[data-motion=off] .mm-home-more{transition:none}

/*
 * Homepage uses normal document scroll.
 * layout.css already unlocks the shell for non-welcome views; do not re-lock
 * body/shell with overflow:hidden — that clipped content with no scrollbar.
 */
@media(min-width:1200px){
 html.mm-js body.mm-view-home,
 html body.mm-view-home{
  height:auto;max-height:none;min-height:100dvh;overflow-x:hidden;overflow-y:visible;padding-bottom:0
 }
 html.mm-js body.mm-view-home .site-shell.nm-panel,
 html body.mm-view-home .site-shell.nm-panel{
  height:auto;max-height:none;overflow:visible;grid-template-rows:auto auto
 }
 html.mm-js body.mm-view-home .site-shell>.page,
 html.mm-js body.mm-view-home .site-shell>.page>main,
 html body.mm-view-home .site-shell>.page,
 html body.mm-view-home .site-shell>.page>main{
  height:auto;max-height:none;min-height:0;overflow:visible;flex:none
 }
 html body.mm-view-home .mm-home{
  height:auto;min-height:0;align-content:start;overflow:visible;
  --mm-home-section-gap:1.25rem;--mm-home-heading-gap:.35rem;--mm-home-list-gap:.5rem
 }
 html body.mm-view-home .mm-home-vignette{
  --mm-home-art-height:clamp(7rem,24dvh,14rem);
  display:block;width:min(100%,calc(3 * var(--mm-home-art-height)));max-width:100%;height:auto;max-height:none;
  margin-inline:auto;flex:none;object-fit:contain;object-position:center
 }
 html body.mm-view-home .mm-home-actions>a,
 html body.mm-view-home .mm-home-more,
 html body.mm-view-home .mm-home-schedule-link{min-height:1.875rem}
}

/* Section rules continue to the right, on the heading's middle axis. */
.mm-home h2{display:flex;align-items:center;gap:1rem;width:100%}
.mm-home h2::after{content:"";flex:1;min-width:1rem;border-top:1px solid var(--mm-color-rule)}
.mm-home-schedule h2{max-width:none}
