/* A consistent, compact rhythm for the parish homepage. */
html{scroll-padding-top:90px}
body{line-height:1.55}
.nav-wrap{height:76px;gap:1rem}
nav{gap:1rem;font-size:.82rem}
.hero{height:auto;min-height:500px;padding:3rem 0 7rem}
.hero-copy{max-width:680px;margin:0 7vw}
.hero-copy h1{font-size:clamp(2.8rem,4.8vw,4.6rem);line-height:1.06;max-width:700px;margin-bottom:1rem}
.hero-copy>p:not(.eyebrow){font-size:1.05rem;max-width:520px}
.actions{margin-top:1.25rem}
.btn{padding:.7rem 1rem}
.today{padding:.8rem 1.4rem}
.quick a{padding:1.15rem 1.5rem}
.worship,.life,.contact,.events-section,.holy-family,.church-resources{padding:3rem 7vw}
.section-head{max-width:760px;margin-bottom:1.5rem}
.eucharist h2,.section-head h2,.sacrament-copy h2,.contact h2,.holy-family h2,.youth-intro h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.12;margin-bottom:1rem}
.eyebrow{margin:.2rem 0 .6rem;letter-spacing:.14em}
.lead,.youth-lead{font-size:1.1rem;line-height:1.55}
.eucharist{min-height:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.eucharist-image{min-height:420px;position:relative}
.eucharist-image>img{position:absolute;inset:0}
.eucharist-copy{padding:2.5rem 5vw}
.schedule{margin-top:1rem}
.schedule>div{padding:.45rem 0}
.ministry-contact{margin-top:1rem;padding:.8rem 1rem}
.schedule-card{padding:1.4rem}
.schedule-card h3{font-size:1.6rem;margin-bottom:.9rem}
.line{padding:.6rem 0}
.mission-statement{grid-template-columns:minmax(0,1.5fr) minmax(240px,.6fr)}
.mission-copy{padding:2.5rem 7vw}
.mission-statement blockquote{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.45;margin:.75rem 0}
.saint-ann-photo{min-height:380px;position:relative}
.saint-ann-photo img{position:absolute;inset:0;object-position:center 40%}
.sacraments{min-height:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.photo-panel{min-height:420px;position:relative}
.photo-panel>img{position:absolute;inset:0}
.sacrament-copy{padding:2.5rem 5vw}
.sacrament-list{margin:1rem 0 0}
.sacrament-list summary{padding:.75rem .3rem}
.ministries{margin-top:1.25rem;gap:.65rem}
.ministries summary{min-height:3.3rem;padding:.75rem 1rem}
#youth{padding:2.5rem 7vw}
#youth .youth-intro{max-width:none;position:static;display:grid;grid-template-columns:1.2fr 1fr;gap:0 3rem}
#youth .youth-intro>.eyebrow,#youth .youth-intro>h2,#youth .youth-lead{grid-column:1}
#youth .youth-facts{grid-column:2;grid-row:1/5;margin:0;align-self:center}
#youth .youth-facts p{padding:.65rem 0}
#youth .youth-facts .btn{display:inline-block;margin-top:.8rem}
#youth .youth-contact{margin:.5rem 0 0;font-size:.9rem;line-height:1.6}
.holy-family{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}
.holy-family-photos{min-height:300px}
.holy-family-copy .btn{margin-top:.75rem}
.contact{gap:3rem}
.contact-grid>*{padding:1rem}
.events-heading{margin-bottom:1.25rem}
.events-heading h2{font-size:clamp(2rem,3.2vw,3rem);margin-bottom:.3rem}
.events-grid{gap:1rem}
.event-card img{height:160px}
.event-card-copy{gap:.4rem;padding:1rem}
.event-card strong{font-size:1.5rem}
.event-card-copy>span{font-size:.95rem}
.resource-links{gap:1rem}
.resource-links a{padding:1rem;gap:.25rem}
footer{padding:1.5rem 5vw;gap:1.25rem}
@media(max-width:1100px){nav{gap:.7rem;font-size:.76rem}.nav-wrap{gap:.65rem}}
@media(max-width:900px){
  nav{top:76px;font-size:.9rem;gap:1rem}
  .eucharist,.sacraments{grid-template-columns:1fr}
  .eucharist-image,.photo-panel{min-height:0;height:260px}
  .eucharist-copy,.sacrament-copy{padding:2rem 7vw}
  .mission-statement{grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr)}
  .mission-copy{padding:2rem 7vw}
  .saint-ann-photo{min-height:340px}
  .contact{grid-template-columns:1fr;gap:1rem}
}
@media(max-width:600px){
  html{scroll-padding-top:78px}
  .nav-wrap{height:72px}
  nav{top:72px}
  .hero{height:auto;min-height:480px;padding:2rem 0 8.5rem}
  .hero-copy{margin:0 6vw;padding:0}
  .hero-copy h1{font-size:2.75rem}
  .hero-copy>p:not(.eyebrow){font-size:1rem}
  .actions{flex-direction:row;flex-wrap:wrap;gap:.6rem}
  .actions .btn{font-size:.8rem;padding:.7rem .8rem}
  .today{padding:.75rem 6vw}
  .quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick a{padding:1rem .9rem;grid-template-columns:1.4rem 1fr}
  .quick strong{font-size:.85rem;line-height:1.35}
  .quick small{font-size:.75rem;line-height:1.4;margin-top:.25rem}
  .worship,.life,.contact,.events-section,.holy-family,.church-resources,#youth{padding:2rem 6vw}
  .eucharist-copy,.sacrament-copy{padding:2rem 6vw}
  .section-head{margin-bottom:1.2rem}
  .eucharist h2,.section-head h2,.sacrament-copy h2,.contact h2,.holy-family h2,.youth-intro h2{font-size:2rem}
  .eucharist-image,.photo-panel{height:210px}
  .worship-grid{gap:.75rem}
  .schedule-card{padding:1.15rem}
  .mission-statement{grid-template-columns:minmax(0,1fr) 105px}
  .mission-copy{padding:1.75rem 1.25rem}
  .mission-statement blockquote{font-size:1.2rem}
  .saint-ann-photo{min-height:0}
  .saint-ann-photo img{object-position:center}
  .saint-ann-photo figcaption{display:none}
  .ministries{grid-template-columns:1fr}
  #youth .youth-intro{display:block}
  #youth .youth-facts{margin:1rem 0}
  .holy-family{grid-template-columns:1fr;gap:1.5rem}
  .holy-family-photos{min-height:230px}
  .event-card img{height:125px}
  .event-card-copy{padding:.8rem}
  .event-card strong{font-size:1.3rem}
  .event-card-copy>span{font-size:.88rem}
  .contact-grid{grid-template-columns:1fr}
  .resource-links{gap:.6rem}
  .resource-links a{padding:.85rem 1rem}
  footer{padding:1.5rem 6vw;gap:.6rem}
  footer p{margin:.3rem 0}
}
