:root{--ink:#212121;--ink2:#2c2d2e;--grey:#646464;--red:#df3131;--cream:#f6f4f1;--w:#fff;--hf:'Montserrat',sans-serif;--bf:'Inter',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:300 17px/1.7 var(--bf);color:var(--ink);background:#fff}
img,video,iframe{max-width:100%;display:block}img{height:auto}a{color:var(--red)}
h1,h2,h3,.eyebrow{font-family:var(--hf);font-weight:800;text-transform:uppercase;letter-spacing:.18em;line-height:1.25;margin:0 0 .6em}
h1{font-size:clamp(1.6rem,4vw,3rem)}h2{font-size:clamp(1.3rem,2.6vw,2rem)}h3{font-size:1rem;letter-spacing:.14em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:780px}.center{text-align:center}
section{padding:clamp(56px,8vw,110px) 0}.band-dark{background:var(--ink);color:#eee}.band-light{background:var(--cream)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:.3s;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.site-header.scrolled,.site-header.open{background:rgba(20,20,20,.96);box-shadow:0 2px 20px rgba(0,0,0,.3)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:78px}.brand img{height:46px;width:auto}
nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0}nav a{color:#fff;text-decoration:none;font:600 .74rem var(--hf);text-transform:uppercase;letter-spacing:.16em;padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--red)}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:10px}.menu-btn span{display:block;width:26px;height:2px;background:#fff;margin:6px 0;transition:.3s}
.btn{display:inline-block;background:var(--red);color:#fff;border:2px solid var(--red);padding:14px 30px;font:600 .78rem var(--hf);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.2s}
.btn:hover{background:transparent;color:var(--red)}.btn.ghost{background:transparent;border-color:#fff}.btn.ghost:hover{background:#fff;color:var(--ink)}.btn.dark{background:var(--ink);border-color:var(--ink)}.btn.dark:hover{color:var(--ink);background:none}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;color:#fff;padding:120px 0 80px;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.45) 60%,rgba(0,0,0,.7))}
.hero-inner{position:relative;max-width:900px}.eyebrow{color:var(--red);font-size:.95rem;letter-spacing:.35em}.eyebrow.red{color:var(--red)}
.hero h1{font-size:clamp(1.7rem,4.4vw,3.3rem)}.lead{font-size:1.2rem;max-width:640px;opacity:.92}.lead.dark{color:var(--ink);margin:auto}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.times{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:36px 0}.times div{background:var(--ink2);padding:34px 16px;border-top:3px solid var(--red)}
.times span{display:block;font:600 .75rem var(--hf);letter-spacing:.25em;text-transform:uppercase;color:#bbb}.times strong{display:block;font:800 2rem var(--hf);color:#fff;margin:6px 0}.times em{font-style:normal;color:#999}
.muted{color:#aaa}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid2 img,.media video{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.portrait{aspect-ratio:4/5!important}
.photo-band,.page-hero{position:relative;color:#fff;background:#222 center/cover no-repeat}.photo-band .wrap,.page-hero .wrap{position:relative}
.page-hero{padding:190px 0 100px;text-align:center}
blockquote{font-size:1.25rem;font-style:italic;margin:0 0 30px}cite{display:block;margin-top:14px;font:600 .8rem var(--hf);letter-spacing:.25em;text-transform:uppercase;font-style:normal;color:var(--red)}
blockquote.dark{margin-top:60px;color:var(--grey)}
.cards3,.cards2{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cards2{grid-template-columns:1fr 1fr;margin-bottom:20px}
.card{background:#fff;padding:34px;border-top:3px solid var(--red);box-shadow:0 6px 30px rgba(0,0,0,.06)}.img-card{padding:0 0 26px}.img-card img{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:22px}.img-card h3,.img-card p{padding:0 26px}
.big{font-size:1.25rem;font-weight:600;word-break:break-all}
.map{width:100%;aspect-ratio:4/3;border:0}
.tbd{background:#fff3cd;color:#7a5a00;padding:2px 8px;font-style:normal;border-radius:3px;display:inline-block;font-size:.9rem}
.signup p{color:#bbb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;margin-top:24px}.form-grid .full{grid-column:1/-1}
label{font:600 .72rem var(--hf);letter-spacing:.14em;text-transform:uppercase}input,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #bbb;font:400 1rem var(--bf);background:#fff}
.check{display:flex;gap:10px;text-transform:none;letter-spacing:0;font:300 .85rem var(--bf);color:#bbb}.check input{width:auto;margin-top:3px}
.site-footer{background:#141414;color:#bbb;padding:60px 0 20px;font-size:.92rem}.site-footer a{color:#ddd}.ftr{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.ftr img{width:64px;margin-bottom:12px}
.copy{text-align:center;border-top:1px solid #2a2a2a;margin:40px 0 0;padding-top:20px;font-size:.8rem}.small{font-size:.8rem}
@media(max-width:900px){.menu-btn{display:block}nav{position:fixed;inset:78px 0 0;background:#141414;z-index:60;transform:translateX(100%);transition:.3s}
.open nav{transform:none}nav ul{flex-direction:column;padding:30px 24px;gap:6px}nav a{display:block;font-size:1rem;padding:14px 0}
.open .menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg)}.open .menu-btn span:nth-child(2){opacity:0}.open .menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.grid2,.cards3,.cards2,.ftr{grid-template-columns:1fr;gap:32px}.times{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}h1,h2{letter-spacing:.1em}.hdr{height:68px}.brand img{height:38px}nav{inset:68px 0 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
:root{--navy:#3d4257;--blue:rgba(18,52,110,.55)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.overlay.blue{background:linear-gradient(rgba(10,30,70,.35),var(--blue))}
.hero-mark{width:clamp(160px,24vw,280px);margin:0 auto 34px;filter:drop-shadow(0 6px 30px rgba(0,0,0,.3))}.center-x{justify-content:center}
.scroll-cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:2rem;text-decoration:none;animation:bob 2s infinite}@keyframes bob{50%{transform:translate(-50%,8px)}}
.mfm{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center;max-width:980px}.mfm-title{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:.2em;margin:0}.dark-l{color:var(--ink);font-weight:600;margin:0 0 .6em}
.events-block{position:relative;color:#fff;overflow:hidden;padding:80px 0}.rel{position:relative}
.ev{display:grid;grid-template-columns:1fr 1.3fr;background:rgba(200,40,40,.93)}.ev-title{background:#c62a2a;padding:56px 40px}.ev-title img{width:48px;margin-top:16px}.ev-text{padding:48px 40px;font-size:.95rem}
.ev .tbd{color:#7a5a00}.tiles{display:grid;grid-template-columns:repeat(3,1fr)}.tiles div{padding:34px 30px}.tiles div:nth-child(1){background:#b82525}.tiles div:nth-child(2){background:#cf2d2d}.tiles div:nth-child(3){background:var(--red)}
.tiles h3{font-size:1.5rem;margin:0 0 .3em}.tiles p{margin:0;font-weight:600}
.give-icon{margin:0 auto 20px}.site-footer{background:var(--navy);color:#d5d7e0}.copy{border-color:#555a70}.signup.band-dark{background:var(--ink)}
@media(max-width:900px){.mfm,.ev,.tiles{grid-template-columns:1fr}.mfm{gap:20px}.ev-title,.ev-text{padding:32px 24px}}
.flyer-band{background:radial-gradient(ellipse at 50% 30%,#2a1545 0%,#1f1033 45%,#0d0716 100%);color:#fff;padding:80px 24px;text-align:center}
.flyer-inner{max-width:900px;margin:0 auto}.flyer-band img{width:100%;height:auto;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}
.flyer-band h2{margin:44px 0 14px;font-size:clamp(1.25rem,2.6vw,1.9rem);letter-spacing:.14em}.flyer-band h2 span{color:#ff9a2e}
.flyer-band p{max-width:680px;margin:0 auto;color:#e6dcf2;font-size:1.05rem}.flyer-band .actions{margin-top:26px}
.btn.sm{padding:11px 22px;font-size:.7rem}
@media(max-width:900px){.flyer-band{padding:48px 20px}.flyer-band img{border-radius:10px}.flyer-band h2{letter-spacing:.08em;margin-top:30px}}
/* v6: Just Ask band, social icons, forms, prose */
.flyer-navy{background:radial-gradient(ellipse at 50% 30%,#123a6b 0%,#0b274a 45%,#04101f 100%)}.flyer-navy p{color:#d6e2f2}.flyer-navy h2 span{color:#fbc137}
.btn.gold{background:#fbc137;border-color:#fbc137;color:#0b274a}.btn.gold:hover{background:transparent;color:#fbc137}
ul.social{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:12px}ul.social a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font:600 .72rem var(--hf);letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.site-footer ul.social a{color:#d5d7e0}.site-footer ul.social a:hover{background:#fff;color:var(--navy)}main ul.social a{color:var(--ink)}main ul.social a:hover{background:var(--ink);color:#fff}
.ftr-h{font:600 .72rem var(--hf);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;color:#fff}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.opt{text-transform:none;letter-spacing:0;font-weight:300;opacity:.75}
.fine{font-size:.85rem;color:var(--grey);margin:4px 0 0}.signup .fine{color:#999}.signup .fine a{color:#fff}h2.mt{margin-top:40px;font-size:1rem}
input:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.beliefs{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}.beliefs li{padding-left:18px;border-left:3px solid var(--red)}
.prose h2{font-size:1.05rem;margin-top:2em}.prose h3{font-size:.85rem;margin-top:1.4em}.prose ul{padding-left:1.2em}
.img-card p a{color:var(--red)}
/* v8: sermons, events page */
.sermons-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.sermons-head h2{margin:0}.sermons-head p:last-child{max-width:420px;margin:0;color:var(--grey)}
.sermon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:40px}
.sermon{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:var(--ink);border-top:3px solid var(--red);box-shadow:0 6px 30px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s}
.sermon:hover,.sermon:focus-visible{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.12)}
.sermon .thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#111}.sermon .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.sermon:hover .thumb img{transform:scale(1.04)}
.sermon .play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(223,49,49,.92);box-shadow:0 6px 20px rgba(0,0,0,.35)}.sermon .play::after{content:"";position:absolute;left:25px;top:19px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #fff}
.sermon .meta{display:block;padding:20px 24px 0;font:600 .68rem var(--hf);letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.sermon .stitle{display:block;padding:8px 24px 0;font:800 1.05rem/1.35 var(--hf);text-transform:uppercase;letter-spacing:.06em}.sermon .by{display:block;padding:8px 24px 24px;color:var(--grey);font-size:.9rem}
.event-list{display:grid;gap:40px;max-width:1040px}
.event-card{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border-top:3px solid var(--red);box-shadow:0 6px 30px rgba(0,0,0,.06);scroll-margin-top:100px}.event-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.event-body{padding:34px 36px}.event-body h2{font-size:1.25rem;letter-spacing:.12em}.ev-when{font:600 .8rem var(--hf);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0}.ev-where{margin:4px 0 14px;color:var(--grey);font-size:.95rem}
.ev-note{background:var(--cream);border-left:3px solid var(--red);padding:10px 14px;font-size:.95rem}.event-body .actions{margin-top:20px}
.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.outline:hover{background:var(--ink);color:#fff}
.times.light div{background:var(--ink)}
@media(max-width:1100px) and (min-width:901px){nav ul{gap:18px}nav a{letter-spacing:.12em}}
@media(max-width:900px){.sermon-grid{grid-template-columns:1fr;gap:22px}.sermons-head{flex-direction:column;align-items:flex-start;gap:10px}.event-card{grid-template-columns:1fr}.event-card img{height:auto}.event-body{padding:26px 22px}}
.hero-sub{font:600 clamp(.8rem,1.6vw,1.05rem) var(--hf);letter-spacing:.22em;text-transform:uppercase;color:#fff;margin:-14px auto 30px;max-width:none;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.services{background:var(--cream);padding:90px 0}
.services h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.svc-sub{color:var(--grey);margin:0 auto 8px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:980px;margin:36px auto 40px}
.svc{background:#fff;border-top:3px solid var(--red);box-shadow:0 6px 30px rgba(0,0,0,.06);padding:34px 20px}
.svc span{display:block;font:600 .75rem var(--hf);letter-spacing:.25em;text-transform:uppercase;color:var(--red)}
.svc strong{display:block;font:800 2.1rem var(--hf);color:var(--ink);margin:10px 0 8px}
.svc em{font-style:normal;color:var(--grey);font-size:.95rem}
@media(max-width:900px){.services{padding:60px 0}.svc-grid{grid-template-columns:1fr;gap:16px;margin:28px auto 32px}.svc{padding:26px 18px}.hero-sub{letter-spacing:.18em;margin:-10px auto 24px;padding:0 12px}}
@media(min-width:901px){.hero-sub{white-space:nowrap}}
/* v11: rounded corners */
.svc,.card,.sermon,.event-card,.times div{border-top:0}
.btn{border-radius:8px}
input,textarea,select{border-radius:8px}
.card,.svc,.sermon,.event-card,.times div{border-radius:12px;overflow:hidden}
.times{gap:12px}
.sermon .thumb{border-radius:12px 12px 0 0}
.portrait,.map,.grid2>img{border-radius:12px}
.flyer-band img{border-radius:12px}
.event-card img{border-radius:0}
