.nav-group{position:relative;display:flex;align-items:center}
.home .subpage-content{display:none}
.standalone-page{min-height:65vh;background:var(--paper)}
.standalone-page .subpage-content{display:grid}
.standalone-page .life.subpage-content{display:block}
.nav-parent{border:0;background:none;padding:0;color:inherit;font:600 .82rem var(--sans);cursor:pointer}
.nav-parent:after{content:" ▾";color:var(--gold)}
.submenu{position:absolute;top:calc(100% + 1rem);left:-1rem;display:none;width:245px;padding:.55rem;background:#fff;border:1px solid #e0d5c8;box-shadow:0 14px 32px rgba(40,24,21,.15)}
.submenu a{display:block;padding:.65rem .7rem;font-size:.82rem;line-height:1.3}
.submenu a:hover,.submenu a:focus-visible{background:var(--cream);color:var(--wine)}
.nav-group:hover .submenu,.nav-group:focus-within .submenu,.nav-group.open .submenu{display:block}
.participation-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:start;padding:3.5rem 7vw}
.prayer-section{background:#f6f0e5}
.registration-section{background:#fff}
.participation-copy{max-width:650px}
.participation-copy h2{font:clamp(2.1rem,3.4vw,3.3rem)/1.1 var(--serif);color:var(--wine);margin:.3rem 0 1rem}
.form-note{font-size:.88rem;color:#665b55;border-left:3px solid var(--gold);padding-left:1rem}
.parish-form{display:grid;gap:1rem;padding:1.5rem;background:#fff;border:1px solid #ddcfc0}
.registration-section .parish-form{background:var(--cream)}
.parish-form label{display:grid;gap:.35rem;font-size:.85rem;font-weight:700;color:var(--wine)}
.parish-form input,.parish-form textarea,.parish-form select{width:100%;border:1px solid #c9b9aa;background:#fff;padding:.75rem;font:1rem/1.4 var(--sans);color:var(--ink);border-radius:0}
.parish-form textarea{resize:vertical}
.parish-form input:focus,.parish-form textarea:focus,.parish-form select:focus{outline:2px solid var(--gold);outline-offset:2px}
.parish-form .btn{justify-self:start;border:0;cursor:pointer}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.subsection-title{font:1.8rem var(--serif);color:var(--wine);margin:2rem 0 .8rem}
.interest-panel{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(320px,1.25fr);gap:2rem;align-items:start;margin-top:2rem;padding:2rem;background:var(--wine2);color:#fff}
.interest-panel h3{font:2rem/1.15 var(--serif);color:#f1d797;margin:0 0 .75rem}
.compact-form{padding:1.2rem}
@media(max-width:1100px){.submenu{top:calc(100% + .8rem)}}
@media(max-width:900px){
  .nav-group{display:block}
  .nav-parent{width:100%;text-align:left;font-size:.9rem}
  .submenu{position:static;width:auto;margin:.45rem 0 0 .8rem;padding:.25rem .5rem;border-left:2px solid var(--gold);border-top:0;border-right:0;border-bottom:0;box-shadow:none}
  .submenu a{padding:.5rem}
  .nav-group:hover .submenu{display:none}
  .nav-group.open .submenu,.nav-group:focus-within .submenu{display:block}
}
@media(max-width:700px){
  .participation-section,.interest-panel{grid-template-columns:1fr;gap:1.25rem;padding:2rem 6vw}
  .interest-panel{margin-top:1.5rem}
  .form-pair{grid-template-columns:1fr}
  .parish-form{padding:1.1rem}
}
.form-status{margin:.8rem 0 0;font-weight:600}
.form-status:empty{display:none}
.form-status[data-state="success"]{color:#2f5d3a}
.form-status[data-state="error"]{color:#8b1e2d}
.parish-form button:disabled{cursor:wait;opacity:.7}
.form-confirmation{width:min(92vw,480px);padding:2rem;border:0;border-radius:1rem;text-align:center;color:var(--ink);background:#fff;box-shadow:0 24px 70px rgba(35,20,16,.28)}
.form-confirmation::backdrop{background:rgba(31,20,18,.58);backdrop-filter:blur(3px)}
.form-confirmation .confirmation-mark{display:grid;place-items:center;width:3.25rem;height:3.25rem;margin:0 auto 1rem;border-radius:50%;color:#fff;background:#2f5d3a;font-size:1.8rem;font-weight:700}
.form-confirmation h2{margin:0 0 .65rem;font-size:clamp(1.55rem,4vw,2.1rem)}
.form-confirmation p{margin:0 auto 1.35rem;max-width:34rem;line-height:1.6}
.form-confirmation .btn{min-width:7rem}

.ministry-home .section-head{margin-bottom:1.2rem}.ministry-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.ministry-home-grid a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px;padding:1rem;border:1px solid #ded3c5;background:var(--cream);color:var(--wine);font-weight:600}.ministry-home-grid a:hover,.ministry-home-grid a:focus-visible{background:#eee2d0;border-color:var(--wine)}.ministry-home-grid b{color:#9a7532}.ministry-home+.parish-photos{padding-top:0}@media(max-width:900px){.ministry-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ministry-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.prayer-group-heading{grid-column:1/-1;margin:1rem 0 .2rem;color:var(--wine);font-family:var(--serif);font-size:1.5rem}@media(max-width:900px){.ministry-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Bridge the pointer gap and keep the expanded mobile menu in view. */
@media(min-width:901px){.submenu:before{content:"";position:absolute;left:0;right:0;top:-1rem;height:1rem}}
@media(max-width:900px){nav.open{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}}
