:root{--wine:#78172a;--wine2:#4a0d1a;--gold:#d5ad55;--cream:#f6f0e5;--ink:#221d1b;--paper:#fffdf9;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}.notice{background:var(--wine2);color:#f7e9c7;text-align:center;padding:.45rem 1rem;font-size:.78rem;letter-spacing:.06em}.notice span{margin:0 .5rem;color:var(--gold)}.nav-wrap{height:84px;display:flex;align-items:center;gap:2rem;padding:0 4vw;background:rgba(255,253,249,.98);position:sticky;top:0;z-index:20;border-bottom:1px solid #e6ddd0}.brand{display:flex;align-items:center;gap:.8rem;margin-right:auto}.brand strong{display:block;font:1.55rem/1 var(--serif);color:var(--wine)}.brand small{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.seal{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:700 .75rem var(--serif)}nav{display:flex;gap:1.5rem;font-size:.88rem;font-weight:600}nav a:hover{color:var(--wine)}.lang,.menu{border:1px solid #cbbda8;background:transparent;padding:.6rem .9rem;font:600 .78rem var(--sans);cursor:pointer}.menu{display:none}.hero{min-height:690px;height:calc(100vh - 114px);position:relative;color:white;display:flex;align-items:center}.hero>img{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,6,10,.82) 0%,rgba(28,6,10,.42) 52%,rgba(28,6,10,.12) 100%),linear-gradient(0deg,rgba(20,4,8,.5),transparent 50%)}.hero-copy{position:relative;max-width:720px;margin-left:8vw;margin-top:-3rem}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.73rem;font-weight:700;color:#f1d797}.eyebrow.burgundy{color:var(--wine)}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.05;margin:.3rem 0 1.2rem}h1{font-size:clamp(4rem,8vw,7.4rem);max-width:800px}.hero-copy>p:not(.eyebrow){font-size:1.2rem;max-width:560px}.actions{display:flex;gap:.8rem;margin-top:2rem}.btn{padding:.9rem 1.25rem;font-weight:700;font-size:.88rem}.btn.gold{background:var(--gold);color:#2b1900}.btn.glass{border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(5px)}.today{position:absolute;bottom:0;right:0;width:min(560px,48vw);background:var(--paper);color:var(--ink);padding:1.1rem 2rem;display:flex;flex-direction:column}.today span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#765f56}.today strong{font-size:.9rem;color:var(--wine)}.quick{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e3dacd}.quick a{padding:2rem;border-right:1px solid #e3dacd;display:grid;grid-template-columns:2rem 1fr}.quick span{grid-row:1/3;color:var(--gold);font-size:.75rem}.quick strong{color:var(--wine)}.quick small{color:#746861}.quick a:hover{background:var(--cream)}.eucharist{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:var(--cream)}.eucharist-image{position:relative}.eucharist-image:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.2))}.eucharist-copy{padding:8rem clamp(3rem,8vw,9rem);display:flex;flex-direction:column;justify-content:center}.eucharist h2,.section-head h2,.sacrament-copy h2,.contact h2{font-size:clamp(2.8rem,5vw,5rem)}.lead{font:1.25rem/1.7 var(--serif)}.schedule{margin-top:1.8rem}.schedule>div{display:flex;justify-content:space-between;border-top:1px solid #d7cbb9;padding:.65rem 0;font-size:.9rem}.fine{font-size:.8rem;color:#6e625d}.worship,.life,.contact{padding:7rem 7vw}.section-head{max-width:800px;margin-bottom:3rem}.worship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.schedule-card{border:1px solid #ded3c5;padding:2.2rem;background:white}.schedule-card h3{font:2rem var(--serif);color:var(--wine);margin-top:0}.schedule-card.accent{background:var(--wine);color:white}.schedule-card.accent h3{color:#f3d98f}.line{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid rgba(130,100,80,.25);font-size:.88rem}.mission-statement{background:var(--wine);color:white;text-align:center;padding:6rem 12vw}.mission-statement blockquote{font:clamp(1.8rem,3.4vw,3.2rem)/1.35 var(--serif);max-width:1200px;margin:1rem auto}.sacraments{display:grid;grid-template-columns:1fr 1fr;min-height:750px}.photo-panel{min-height:620px}.sacrament-copy{padding:7rem 8vw;background:#f3eee6}.sacrament-list{display:grid;grid-template-columns:1fr 1fr;margin:2rem 0}.sacrament-list a{display:flex;justify-content:space-between;border-top:1px solid #cdbfae;padding:1rem .3rem;font-weight:600}.sacrament-list a:hover{color:var(--wine)}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.gallery figure{height:430px;margin:0;position:relative;overflow:hidden}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.2rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.72));color:white;font-weight:700}.gallery img{transition:transform .5s}.gallery figure:hover img{transform:scale(1.03)}.ministries{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.ministries span{border:1px solid #d8ccbc;padding:.55rem .8rem;font-size:.8rem}.holy-family{background:var(--wine2);color:white;padding:6rem 9vw;display:flex;justify-content:space-between;align-items:center}.holy-family h2{font-size:4rem}.cross{font-size:5rem;color:var(--gold)}.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr}.contact-grid>*{padding:1.4rem;border-top:1px solid #cfc1ae}.contact-grid small,.contact-grid strong{display:block}.contact-grid small{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#75655e}.contact-grid strong{color:var(--wine);overflow-wrap:anywhere}footer{padding:3rem 5vw;background:#21191a;color:#d8cdc5;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.8rem}.inverse strong{color:white}.inverse{margin:0}.inverse .seal{color:var(--gold)}@media(max-width:900px){nav{display:none;position:absolute;top:84px;left:0;right:0;background:white;flex-direction:column;padding:1.5rem 5vw;border-bottom:1px solid #ddd}nav.open{display:flex}.menu{display:block}.lang{display:none}.hero{min-height:680px}.hero-copy{margin:0 6vw;padding-bottom:7rem}.today{width:100%;max-width:none}.quick{grid-template-columns:1fr 1fr}.eucharist,.sacraments,.contact{grid-template-columns:1fr}.eucharist-image,.photo-panel{height:550px}.eucharist-copy,.sacrament-copy{padding:5rem 7vw}.worship-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery .wide{grid-column:1/3}.contact{gap:1rem}footer{flex-direction:column;text-align:center}}@media(max-width:600px){.nav-wrap{height:72px;padding:0 4vw}.brand strong{font-size:1.3rem}.brand small{font-size:.6rem}.seal{width:38px;height:38px}.hero{height:calc(100svh - 102px);min-height:650px}.hero-copy{padding-bottom:10rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.actions{flex-direction:column;align-items:flex-start}.today{padding:1rem 6vw}.quick{grid-template-columns:1fr}.quick a{padding:1.25rem 6vw;border-bottom:1px solid #e3dacd}.eucharist-image,.photo-panel{height:430px}.eucharist-copy,.worship,.life,.sacrament-copy,.contact{padding:4.5rem 6vw}.mission-statement{padding:5rem 7vw}.sacrament-list{grid-template-columns:1fr}.gallery{display:block}.gallery figure{height:340px;margin-bottom:1rem}.holy-family{padding:4rem 7vw}.holy-family h2{font-size:3rem}.cross{display:none}.contact-grid{grid-template-columns:1fr}footer{padding:3rem 7vw}}

#youth{display:block;padding:3rem 7vw}#youth .youth-intro{max-width:900px}#youth .youth-contact{margin-bottom:1.5rem}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery figure img{max-height:360px;object-fit:cover}@media(max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.gallery figure{height:auto;margin:0;overflow:hidden}.gallery figure a{display:block;aspect-ratio:4/3;overflow:hidden}.gallery figure img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}.gallery figure:first-child{grid-column:auto}@media(max-width:1100px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.gallery figure{height:auto;margin:0}}
