@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--purple:#6d3df5;--deep:#1d1037;--gold:#d7a43b;--cream:#f7f3ed;--ink:#251d31}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}.site-header{height:78px;display:flex;align-items:center;padding:0 6vw;position:absolute;z-index:10;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.site-brand{display:flex;align-items:center;gap:11px}.site-brand span{width:42px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;font-weight:800}.site-brand b{font-family:'Playfair Display',serif;font-size:17px}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:12px}.site-header nav a:hover{color:#d8c2ff}.give-btn{border:1px solid rgba(255,255,255,.7);padding:10px 17px;border-radius:3px}.menu-toggle{display:none}.hero{height:min(820px,92vh);min-height:600px;position:relative;background:var(--deep)}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s;display:flex;align-items:center;padding:8vw;color:#fff}.slide.active{opacity:1}.slide>div{max-width:740px}.pretitle,.section-kicker{font-size:10px;letter-spacing:3px;font-weight:700;color:#8154f4}.slide h1{font:700 clamp(48px,7vw,94px)/.98 'Playfair Display',serif;margin:22px 0}.slide p{font-size:17px;color:#e0dae8;max-width:580px;line-height:1.7}.hero-btn{display:inline-block;background:var(--purple);color:#fff;padding:14px 22px;margin-top:14px;font-size:12px;font-weight:700}.carousel-dots{position:absolute;z-index:4;bottom:35px;left:8vw;display:flex;gap:8px}.carousel-dots button{width:28px;height:3px;padding:0;border:0;background:#ffffff55}.carousel-dots button.active{background:#fff}.welcome{padding:110px 8vw;text-align:center}.welcome h2,.services h2,.events-section h2,.give-callout h2,.page-hero h1,.giving-page h1{font:700 clamp(38px,5vw,65px)/1.08 'Playfair Display',serif;margin:18px 0}.welcome>p{color:#756d7d}.welcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:left;margin-top:70px}.welcome-grid article{border-top:1px solid #ddd5e2;padding:20px 5px}.welcome-grid b{font-size:10px;color:var(--purple)}.welcome-grid h3{font-family:'Playfair Display',serif;font-size:23px;margin:18px 0 8px}.welcome-grid p{font-size:12px;color:#756d7d;line-height:1.7}.services{padding:100px 8vw;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.section-kicker.light{color:#c6a6ff}.services>div>p{color:#b9afc5}.service-times article{display:flex;gap:20px;align-items:center;border-bottom:1px solid #4b3a60;padding:23px 0}.service-times article>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid #72539b;color:#c7a4ff;font-size:10px}.service-times h3{font-family:'Playfair Display',serif;margin:0 0 5px}.service-times p{margin:0;color:#afa5ba;font-size:12px}.events-section{padding:110px 8vw;background:var(--cream)}.section-title{display:flex;align-items:end;justify-content:space-between}.section-title a{font-size:12px;color:var(--purple);font-weight:700}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.event-grid article{background:#fff;padding:28px;display:flex;gap:20px;min-height:150px}.event-date{border-right:1px solid #e5dfe8;padding-right:20px;text-align:center}.event-date b{display:block;font:600 37px 'Playfair Display',serif}.event-date span{font-size:10px;color:var(--purple)}.event-grid h3{font:600 20px 'Playfair Display',serif;margin:10px 0}.event-grid small,.event-grid p{font-size:10px;color:#756d7d}.give-callout{padding:120px 8vw;text-align:center;color:#fff;background:linear-gradient(rgba(88,48,168,.88),rgba(49,26,96,.94)),url('../img/worship.svg') center/cover}.give-callout span{font-size:10px;letter-spacing:3px}.give-callout p{color:#d9d1e5}.give-callout a{display:inline-block;border-bottom:1px solid #fff;padding:12px;font-size:12px;font-weight:700}.site-footer{background:#140c26;color:#aaa0b6;padding:70px 8vw 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;font-size:12px}.site-brand.light{color:#fff}.site-footer h4{color:#fff}.site-footer a{display:block;margin:9px 0}.copyright{grid-column:1/-1;border-top:1px solid #362943;padding-top:25px}.page-hero{background:var(--deep);color:#fff;min-height:460px;padding:180px 8vw 80px}.page-hero span{font-size:10px;letter-spacing:3px;color:#c5a5ff}.page-hero p{color:#ccc3d7}.prose{max-width:900px;margin:0 auto;padding:90px 30px;line-height:1.8}.prose h2{font:600 35px 'Playfair Display',serif}.giving-page{min-height:100vh;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:150px 8vw 80px}.giving-page>section p{color:#bcb2c9;line-height:1.7}.secure-note{margin-top:40px;color:#c9b8ed;font-size:12px}.giving-form{background:#fff;color:var(--ink);padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.giving-form h2{grid-column:1/-1;font:600 30px 'Playfair Display',serif;margin:0}.giving-form label{font-size:11px;font-weight:700;display:flex;flex-direction:column;gap:7px}.giving-form input,.giving-form select{border:1px solid #ded9e3;padding:11px;width:100%;font:inherit}.giving-form button{grid-column:1/-1;background:var(--purple);color:#fff;border:0;padding:15px;font-weight:700}.giving-form>small{grid-column:1/-1;text-align:center;color:#888}.payment-result{text-align:center;padding:180px 20px 120px;min-height:70vh}.payment-result h1{font:700 48px 'Playfair Display',serif}.result-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:auto;font-size:30px}.result-icon.success{background:#def7ed;color:#16815b}.result-icon.failed{background:#ffe2e2;color:#b62e2e}.public-alert{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:30;background:#fff;padding:12px 20px;box-shadow:0 5px 20px #0002;font-size:12px}
@media(max-width:800px){.site-header{position:absolute;padding:0 20px}.site-header nav{position:absolute;top:78px;left:0;right:0;background:var(--deep);padding:25px;display:none;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;background:none;border:0;color:#fff;font-size:22px}.site-brand b{font-size:14px}.hero{min-height:650px}.slide{padding:130px 25px 80px}.welcome,.events-section{padding:75px 25px}.welcome-grid,.event-grid{grid-template-columns:1fr}.services{grid-template-columns:1fr;padding:75px 25px}.section-title{display:block}.site-footer{grid-template-columns:1fr;padding:60px 25px}.copyright{grid-column:auto}.giving-page{grid-template-columns:1fr;padding:130px 20px 60px}.giving-form{grid-template-columns:1fr}.giving-form h2,.giving-form button,.giving-form>small{grid-column:auto}}

/* Event flyer cards */
.event-grid article{padding:0;display:block;overflow:hidden}.event-card-body{display:flex;gap:20px;padding:24px}.event-flyer{position:relative;display:block;width:min(100%,3.5in);aspect-ratio:7/9;margin:0 auto;background:#e9e3ed}.event-flyer img{display:block;width:100%;height:100%;object-fit:contain}.event-flyer span{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:20px;background:rgba(20,12,38,.86);color:#fff;font-size:9px;font-weight:700;opacity:0;transition:opacity .2s}.event-flyer:hover span{opacity:1}.event-grid article.has-flyer{box-shadow:0 14px 32px rgba(35,20,45,.08);transition:transform .2s,box-shadow .2s}.event-grid article.has-flyer:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(35,20,45,.13)}

/* Keep event flyers beside their details */
.event-grid article.has-flyer{display:grid;grid-template-columns:minmax(115px,42%) 1fr;align-items:stretch}.event-grid .has-flyer .event-flyer{width:100%;margin:0}.event-grid .has-flyer .event-card-body{align-items:flex-start;flex-direction:column;gap:13px;padding:20px}.event-grid .has-flyer .event-date{width:100%;display:flex;align-items:baseline;gap:6px;border:0;padding:0;text-align:left}.event-grid .has-flyer .event-date b{font-size:27px}.event-grid .has-flyer .event-flyer span{right:7px;bottom:7px;padding:5px 7px;font-size:7px}
