.ministry-contact{margin-top:1.7rem;padding:1rem 1.2rem;border-left:3px solid var(--gold);background:rgba(255,255,255,.55)}
.ministry-contact p{margin:.25rem 0;font-size:.88rem}
.ministry-contact a,.sacrament-detail a{color:var(--wine);font-weight:700}
.adorer-contact summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;color:var(--wine);list-style:none}
.adorer-contact summary::-webkit-details-marker{display:none}
.adorer-contact summary span{font-size:1.35rem;line-height:1;transition:transform .2s ease}
.adorer-contact[open] summary span{transform:rotate(45deg)}
.adorer-contact>div{padding-top:.35rem}
.sacrament-list{display:block}
.sacrament-list details{border-top:1px solid #cdbfae}
.sacrament-list details:last-child{border-bottom:1px solid #cdbfae}
.sacrament-list summary{display:flex;justify-content:space-between;align-items:center;padding:1rem .3rem;cursor:pointer;font-weight:700;color:var(--wine);list-style:none}
.sacrament-list summary::-webkit-details-marker{display:none}
.sacrament-list summary b{font-size:1.25rem;font-weight:400;transition:transform .2s}
.sacrament-list details[open] summary b{transform:rotate(45deg)}
.sacrament-detail{padding:0 .3rem 1.3rem;color:#514741;font-size:.9rem}
.sacrament-detail p{margin:.35rem 0 .8rem}
.sacrament-detail a{display:inline-block;margin-top:.2rem}
@media(max-width:900px){.nav-wrap .lang{display:block}.nav-wrap{gap:.65rem}.lang,.menu{padding:.55rem .7rem}}
@media(max-width:600px){.nav-wrap{gap:.35rem}.brand{gap:.45rem}.lang,.menu{padding:.48rem .55rem;font-size:.72rem}}
.holy-family{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:clamp(2rem,6vw,7rem);padding:6rem 7vw;overflow:hidden}
.holy-family-copy{align-self:center}
.holy-family-copy .btn{display:inline-block;margin-top:1.4rem}
.holy-family-photos{position:relative;min-height:560px}
.holy-family-photos figure{margin:0;overflow:hidden}
.mission-photo-main{position:absolute;inset:0 0 0 12%;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.mission-photo-main img{object-position:center 42%}
.mission-photo-inset{position:absolute;left:0;bottom:-1rem;width:34%;height:48%;border:8px solid var(--wine2);box-shadow:0 18px 35px rgba(0,0,0,.3)}
@media(max-width:900px){.holy-family{grid-template-columns:1fr;padding:5rem 7vw}.holy-family-photos{min-height:520px}.mission-photo-main{inset:0 0 0 10%}}
@media(max-width:600px){.holy-family{padding:4rem 6vw}.holy-family-photos{min-height:410px}.mission-photo-main{inset:0}.mission-photo-inset{width:38%;height:43%;border-width:5px;bottom:-.5rem}}
.mission-statement{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);padding:0;text-align:left;overflow:hidden}
.mission-copy{align-self:center;padding:6rem 7vw}
.mission-statement blockquote{max-width:900px;margin:1rem 0}
.saint-ann-photo{position:relative;min-height:680px;margin:0;background:#4c151b;overflow:hidden}
.saint-ann-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.saint-ann-photo figcaption{position:absolute;right:1.25rem;bottom:1.25rem;left:1.25rem;padding:.8rem 1rem;background:rgba(45,10,15,.82);color:#fff;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;backdrop-filter:blur(6px)}
@media(max-width:900px){.mission-statement{grid-template-columns:1fr}.mission-copy{padding:5rem 7vw}.saint-ann-photo{min-height:620px}.saint-ann-photo img{object-position:center 36%}}
@media(max-width:600px){.mission-copy{padding:4rem 6vw}.saint-ann-photo{min-height:520px}.saint-ann-photo figcaption{right:.75rem;bottom:.75rem;left:.75rem}}
.hero-copy h1{font-size:clamp(3.2rem,6.2vw,6rem);max-width:900px}
.brand-logo{width:54px;height:54px;object-fit:contain;flex:0 0 auto}
.inverse .brand-logo{width:60px;height:60px}
@media(max-width:600px){.brand-logo{width:44px;height:44px}.inverse .brand-logo{width:54px;height:54px}}
.youth-ministry{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr);gap:clamp(2rem,5vw,6rem);padding:7rem 7vw;background:#15172a;color:#fff}
.youth-intro{align-self:start;position:sticky;top:120px}
.youth-intro h2{font-size:clamp(3rem,5vw,5.4rem);margin-bottom:1.4rem}
.youth-lead{font:1.25rem/1.65 var(--serif);max-width:620px}
.youth-facts{margin:2rem 0;border-top:1px solid rgba(255,255,255,.25)}
.youth-facts p{display:grid;gap:.15rem;padding:1rem 0;margin:0;border-bottom:1px solid rgba(255,255,255,.25)}
.youth-facts span{color:#f1d797;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}
.youth-contact{line-height:1.8}.youth-contact a{color:#f1d797;font-weight:700}
.youth-feature{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.youth-feature img,.youth-flyers img{width:100%;height:100%;object-fit:cover}
.youth-feature span{position:absolute;right:0;bottom:0;left:0;padding:3.5rem 1.3rem 1.2rem;background:linear-gradient(transparent,rgba(10,10,24,.92));font-weight:700}
.youth-flyers{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.youth-flyers a{display:block;aspect-ratio:4/5;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}
.youth-flyers a:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(0,0,0,.3)}
@media(max-width:900px){.youth-ministry{grid-template-columns:1fr;padding:5rem 7vw}.youth-intro{position:static}.youth-feature{max-width:650px}.youth-flyers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.youth-ministry{padding:4rem 6vw}.youth-flyers{gap:.65rem}.youth-intro h2{font-size:3rem}}
