.sacrament-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#eaf5fb 0%,#f8fbfd 48%,#eef7fb 100%)}
.sacrament-hero .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.sacrament-hero .hero-photo{position:relative;min-height:340px;border-radius:30px;overflow:hidden;box-shadow:0 24px 65px rgba(5,40,75,.18);border:1px solid rgba(7,86,141,.12)}
.sacrament-hero .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.sacrament-hero .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,40,75,.55))}
.sacrament-hero .hero-photo-caption{position:absolute;left:22px;right:22px;bottom:18px;z-index:2;color:white;display:flex;justify-content:space-between;gap:18px;align-items:end}
.sacrament-hero .hero-photo-caption strong{font-family:Georgia,serif;font-size:21px}.sacrament-hero .hero-photo-caption span{font-size:12px;opacity:.86;text-align:right}
.sacrament-intro{max-width:760px;margin-bottom:32px;color:var(--muted);font-size:16px}
.sacrament-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sacrament-card{position:relative;border-radius:24px;background:#fff;border:1px solid #dfeaf2;overflow:hidden;box-shadow:0 16px 42px rgba(5,40,75,.08);transition:transform .2s ease,box-shadow .2s ease}
.sacrament-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(5,40,75,.14)}
.sacrament-card-media{height:196px;overflow:hidden;background:#eaf4fa}.sacrament-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.sacrament-card:hover .sacrament-card-media img{transform:scale(1.035)}
.sacrament-card-body{padding:25px 25px 27px}.sacrament-card-body h3{font-family:Georgia,serif;color:var(--blue-900);font-size:27px;line-height:1.08;margin:0 0 9px}.sacrament-card-body p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.65}.sacrament-card .badge{display:inline-flex;margin-bottom:13px;padding:6px 10px;border-radius:999px;background:var(--blue-50);color:var(--blue-800);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.baptism-feature{background:linear-gradient(145deg,#073b68,#0c6da8);color:white;position:relative;overflow:hidden}.baptism-feature:before{content:"";position:absolute;right:-90px;top:-100px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.07)}
.baptism-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:stretch}.baptism-photo{border-radius:26px;overflow:hidden;min-height:430px;position:relative;background:#0a5f94}.baptism-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.baptism-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,40,75,.05),rgba(5,40,75,.6))}.baptism-photo .caption{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff;font-family:Georgia,serif;font-size:24px;line-height:1.15;max-width:300px}
.baptism-copy{padding:18px 0 8px}.baptism-copy .section-kicker{color:#bfe2f5}.baptism-copy h2{color:#fff}.baptism-copy>p{color:#dbeef8;font-size:16px;max-width:700px}.baptism-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.baptism-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:800}.baptism-details{margin-top:34px;display:grid;grid-template-columns:1.3fr .7fr;gap:24px}.baptism-panel{border-radius:24px;background:#fff;color:var(--ink);padding:28px;border:1px solid rgba(255,255,255,.25);box-shadow:0 18px 45px rgba(4,31,58,.16)}.baptism-panel h3{font-family:Georgia,serif;color:var(--blue-900);font-size:26px;margin:0 0 16px}.requirements{display:grid;gap:12px;margin:0;padding:0;list-style:none}.requirements li{position:relative;padding-left:30px;color:#536b7d}.requirements li:before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e5f3fb;color:#07568d;font-weight:900;font-size:12px}.baptism-side{display:grid;gap:18px}.mini-info{padding:22px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.17)}.mini-info .label{display:block;color:#bfe2f5;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:850;margin-bottom:7px}.mini-info strong{display:block;font-family:Georgia,serif;font-size:23px;line-height:1.18}.mini-info p{margin:7px 0 0;color:#dbeef8;font-size:13px}
.sacrament-banner{position:relative;min-height:330px;border-radius:30px;overflow:hidden;display:flex;align-items:end;background:#073b68}.sacrament-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sacrament-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,40,75,.9),rgba(5,40,75,.38))}.sacrament-banner-copy{position:relative;z-index:2;padding:38px;color:#fff;max-width:680px}.sacrament-banner-copy h2{color:#fff}.sacrament-banner-copy p{color:#e6f3fa;margin-bottom:0}
.orientation-box{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:30px;border-radius:24px;background:linear-gradient(145deg,#f1f8fc,#fff);border:1px solid #dceaf3;box-shadow:0 14px 38px rgba(5,40,75,.07)}.orientation-box h3{font-family:Georgia,serif;color:var(--blue-900);font-size:28px;margin:0 0 6px}.orientation-box p{margin:0;color:var(--muted)}
@media(max-width:960px){.sacrament-grid{grid-template-columns:repeat(2,1fr)}.sacrament-hero .hero-grid,.baptism-head,.baptism-details{grid-template-columns:1fr}.sacrament-hero .hero-photo{min-height:290px}.baptism-photo{min-height:330px}.baptism-side{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.sacrament-grid{grid-template-columns:1fr}.sacrament-card-media{height:180px}.baptism-side{grid-template-columns:1fr}.orientation-box{grid-template-columns:1fr}.sacrament-banner-copy{padding:27px}.sacrament-hero .hero-photo{min-height:240px}.baptism-photo{min-height:260px}}
