:root{--navy:#172d4c;--ink:#172d4c;--gold:#f4c45e;--muted:#58677b;--line:#d4dce5;--soft:#edf1f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b98017;outline-offset:5px}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}.container{width:min(1200px,88%);margin-inline:auto}.topbar{background:var(--navy);color:#e5ebf3;font-size:.875rem}.topbar .container{display:flex;justify-content:space-between;padding-block:9px;gap:20px}.topbar a{text-decoration:none}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:100px}.brand{font-weight:700;font-size:1rem;letter-spacing:.06em;text-decoration:none;line-height:1.25;display:flex;align-items:center;gap:12px}.brand small{display:block;font-size:.84rem;letter-spacing:.16em;margin-top:5px;font-weight:500}.brand-mark{display:grid;place-items:center;font-family:Georgia,serif;font-size:2.4rem;width:42px;height:52px;color:#a47416}#main-nav{display:flex;gap:26px}#main-nav a{position:relative;text-decoration:none;font-size:.9rem;font-weight:600;padding-block:38px}#main-nav a:after{content:'';position:absolute;bottom:25px;left:0;width:100%;height:2px;background:#b78522;transform:scaleX(0);transition:transform .18s}#main-nav a:hover:after,#main-nav a[aria-current]:after{transform:scaleX(1)}.menu-toggle{display:none}.home-hero,.page-hero{background:var(--navy);color:white}.home-hero{padding-top:67px}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px;color:#667388}.home-hero .eyebrow,.page-hero .eyebrow,.visit-band .eyebrow{color:var(--gold)}h1,h2,.large-quote{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.025em}h1{font-size:clamp(3.5rem,8.5vw,7.5rem);margin:0}h1 em{font-weight:400;color:var(--gold)}h2{font-size:clamp(2.3rem,4vw,3.5rem);margin:0 0 22px}h3{font-size:1.35rem;line-height:1.3;margin:0 0 12px}p{margin:0 0 20px}.lead{font-size:1.2rem;color:#d9e2ee;line-height:1.7;max-width:620px}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:30px}.hero-row .lead{margin:0}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;min-height:51px;border:1px solid transparent;border-radius:3px;padding:12px 22px;background:var(--gold);color:var(--navy);font-weight:700;font-size:.95rem;line-height:1.5;text-decoration:none;transition:background .15s,transform .15s}.button:hover{background:#ffda88;transform:translateY(-2px)}.button.secondary{background:transparent;border-color:#9caabb;color:inherit}.button.secondary:hover{background:#dce4ee;color:var(--navy)}.hero-schedule{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-top:1px solid #4a5c74;margin-top:55px;padding-block:24px;gap:20px}.hero-schedule span{display:block;color:#bdcadd;font-size:.875rem}.hero-schedule strong{font-size:1rem;font-weight:500}.hero-schedule a{text-decoration:none}.hero-schedule a span[aria-hidden]{display:inline}.section{padding-block:80px}.section-heading{display:flex;justify-content:space-between;gap:38px;align-items:end;margin-bottom:35px}.section-heading h2{margin:0}.section-heading>p{max-width:360px;color:var(--muted);margin:0}.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-card{padding:30px 24px;border-right:1px solid var(--line)}.service-card:last-child{border-right:0}.tag{font-size:.875rem;color:#657183;display:block;margin-bottom:32px}.service-card h3{font-size:1.6rem;margin-bottom:7px}.service-card p{color:var(--muted);font-size:.95rem}.service-card strong{font-weight:600;font-size:.95rem;display:block;margin-top:25px}.section-link{margin-top:30px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-band{padding-block:75px;background:var(--soft)}.about-band .split>div{max-width:470px}.large-quote{font-size:clamp(2.5rem,4.7vw,4.4rem);margin:0;border-left:3px solid #b78522;padding-left:30px}.text-link{font-weight:700;text-underline-offset:7px}.visit-band{padding-block:62px;background:var(--navy);color:white}.visit-band .split{grid-template-columns:1fr auto}.visit-band p:last-child{margin:0;color:#d5deeb}.visit-band h2{max-width:670px}.page-hero{padding-block:58px 65px}.page-hero h1{font-size:clamp(3.3rem,6.5vw,6rem)}.page-hero .lead{margin-top:25px;margin-bottom:0}.soft{background:var(--soft)}.body-large{font-size:1.3rem}.about-content{align-items:start}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.chapter{font-family:Georgia,serif;font-size:2rem;color:#8a671f;display:block;margin-bottom:25px}.three-columns p{color:var(--muted);margin:0}.notice{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:30px;background:var(--soft);margin-top:30px}.notice p{margin:0}.faq details{border-bottom:1px solid #c7d1df;padding:21px 0}.faq summary{cursor:pointer;font-size:1.1rem;font-weight:600;padding-right:10px}.faq p{margin:18px 0 0;color:var(--muted)}address{font-style:normal;font-size:1.3rem;margin:25px 0 30px}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:75px}.contact-panel{background:var(--soft);padding:35px}.contact-panel>div{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.contact-panel p{margin:0}.contact-panel h3{margin-bottom:3px}.map-link{display:flex;flex-direction:column;background:#fff;border:1px solid #c4cfdd;padding:35px;text-decoration:none;gap:5px}.map-link:hover{border-color:#a87a21}.map-link strong{font-size:1.45rem}.map-link .text-link{margin-top:20px}.map-pin{font-size:2rem;color:#8a671f}.calendar-toolbar,.calendar-options{display:flex;justify-content:space-between;gap:20px;align-items:center}.month-controls{display:flex;gap:23px;align-items:center}.month-controls h2{font-size:2.3rem;margin:0;text-transform:capitalize;min-width:250px;text-align:center}.icon-button,.small-button{background:#fff;border:1px solid var(--line);color:var(--navy);min-width:44px;min-height:44px;border-radius:3px;font-size:1.1rem}.icon-button:hover,.small-button:hover{background:var(--soft)}.small-button{padding:8px 17px;font-size:.95rem}.calendar-options{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}select{margin-left:10px;border:1px solid var(--line);border-radius:3px;padding:10px;color:var(--navy);background:#fff;max-width:100%}.view-buttons{display:flex;gap:3px;background:var(--soft);padding:4px;border-radius:4px}.view-buttons button{padding:7px 18px;background:transparent;border:0;border-radius:3px;color:var(--navy)}.view-buttons button[aria-pressed=true]{background:var(--navy);color:white}.calendar-hint{font-size:.875rem;color:var(--muted);margin-block:22px 15px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{background:var(--navy);color:white;text-align:center;padding-block:12px;font-size:.875rem}.calendar-days{border-left:1px solid var(--line)}.day{min-height:130px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-width:0}.day.empty{background:#f5f7fa}.day-number{display:grid;place-items:center;width:30px;height:30px;margin-bottom:4px;font-size:.95rem}.day.is-today .day-number{background:var(--navy);color:white;border-radius:50%}.event-chip{text-align:left;display:block;width:100%;padding:7px;border:0;border-left:3px solid #2b5c91;border-radius:3px;font-size:.8rem;background:#e6eef8;color:#20446e;line-height:1.4;margin-bottom:5px}.event-chip strong,.event-chip span{display:block}.event-chip.vigilia{background:#fff0cd;color:#654809;border-color:#ae7b15}.event-chip.ayuno{background:#e3f1ed;color:#225747;border-color:#39745d}.event-chip:hover{filter:brightness(.96)}.calendar-legend{display:flex;gap:25px;flex-wrap:wrap;margin-top:22px;font-size:.875rem}.calendar-legend span{border-left:4px solid #2b5c91;padding-left:9px}.calendar-legend .legend-vigilia{border-color:#ae7b15}.calendar-legend .legend-ayuno{border-color:#39745d}.event-row{display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;width:100%;background:white;border:1px solid var(--line);border-bottom:0;padding:22px;color:var(--navy);text-align:left}.event-row:last-child{border-bottom:1px solid var(--line)}.event-row:hover{background:var(--soft)}.event-row span{display:block}.event-row .event-day{font-family:Georgia,serif;font-size:1.7rem}.event-row .event-meta{font-size:.95rem;color:var(--muted)}dialog{border:0;border-radius:6px;padding:42px;max-width:520px;width:calc(100% - 32px);color:var(--navy);box-shadow:0 24px 100px #0003}dialog::backdrop{background:#0c1e37b8}dialog h2{font-size:2.8rem;padding-right:30px}.dialog-close{position:absolute;right:15px;top:15px}.small-note{font-size:.875rem;color:var(--muted);margin:17px 0 0}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:5px;left:5px;background:white;padding:10px;z-index:99}footer{background:#10213a;color:#dae3ef}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding-block:55px}.footer-main .brand{display:block;color:white}.footer-main p{font-size:.95rem;margin:20px 0 0}.footer-main h2{font-family:inherit;font-size:1rem;letter-spacing:0;line-height:1.6;font-weight:700;color:white;margin-bottom:18px}.footer-main nav{display:flex;flex-direction:column;gap:6px;font-size:.95rem}.footer-main a{text-decoration:none}.footer-main a:hover{text-decoration:underline}.footer-main>div:last-child>a{font-size:.875rem;display:block;margin-top:20px}.footer-bottom{border-top:1px solid #33445e;padding-block:20px;display:flex;justify-content:space-between;gap:20px;font-size:.875rem}.footer-bottom a{text-decoration:none}@media(max-width:1050px){#main-nav{gap:15px}#main-nav a{font-size:.85rem}.schedule-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.hero-row{align-items:start;flex-direction:column}.split{gap:38px}.contact-layout{gap:35px}}@media(max-width:800px){.header-inner{min-height:85px;flex-wrap:wrap;gap:0}.menu-toggle{display:flex;gap:12px;align-items:center;background:white;border:1px solid var(--line);padding:9px 13px;color:var(--navy);border-radius:3px}#main-nav{width:100%;flex-direction:column;gap:0;padding-bottom:15px}body.js #main-nav{display:none}body.js #main-nav.open{display:flex}#main-nav a{padding:12px;font-size:1rem}#main-nav a:after{bottom:4px;width:45px;left:12px}.topbar .container{justify-content:center}.topbar span{display:none}.hero-schedule{grid-template-columns:1fr 1fr}.hero-schedule>a{grid-column:1/-1}.section{padding-block:52px}.section-heading{align-items:start;flex-direction:column;gap:20px}.split,.contact-layout,.visit-band .split{grid-template-columns:1fr}.visit-band .button{justify-self:start}.three-columns{gap:30px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.calendar-section{width:94%}.day{padding:4px;min-height:108px}.event-chip{font-size:.75rem;padding:4px 3px}.event-chip span{font-size:.75rem}.month-controls h2{font-size:1.9rem;min-width:185px}.month-controls{gap:10px}}@media(max-width:520px){.container{width:88%}.home-hero{padding-top:42px}.page-hero{padding-block:42px}.hero-schedule{margin-top:37px}h1{font-size:3.8rem}.lead{font-size:1.05rem}.button{font-size:.9rem;padding:11px 17px}.schedule-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line);padding:25px}.service-card:last-child{border-bottom:0}.tag{margin-bottom:13px}.service-card strong{margin-top:15px}.three-columns{grid-template-columns:1fr}.chapter{margin-bottom:12px}.notice{flex-direction:column;align-items:start;padding:24px}.footer-main{gap:30px}.footer-bottom{flex-direction:column;gap:9px}.contact-panel{padding:26px}.calendar-toolbar{flex-wrap:wrap}.calendar-options{flex-wrap:wrap}.calendar-section{width:94%}.calendar-week{font-size:.75rem}.day{min-height:104px}.event-chip{padding:4px 2px;border-left-width:2px;font-size:.75rem;overflow-wrap:anywhere}.event-chip span{display:none}.day-number{font-size:.8rem;width:25px;height:25px}.calendar-legend{gap:14px}.event-row{grid-template-columns:55px 1fr auto;padding:17px 12px;gap:10px}.event-row .event-meta{font-size:.875rem}dialog{padding:35px 25px}.large-quote{padding-left:22px}.contact-layout .actions{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.pastor-section{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:65px;border-top:1px solid var(--line)}.pastor-monogram{display:grid;place-items:center;min-height:300px;background:var(--navy);color:var(--gold);font-family:Georgia,serif;font-size:6rem}.app-band{background:#f4c45e;padding-block:55px}.app-band .split{grid-template-columns:1fr auto}.app-band .eyebrow{color:#635025}.app-band h2{font-size:2.6rem}.app-band p:last-child{max-width:620px;margin:0}.app-band .button{background:var(--navy);color:white}.app-band .button:hover{background:#294567}#install-instructions li{margin-block:12px}@media(max-width:800px){.pastor-section,.app-band .split{grid-template-columns:1fr;gap:30px}.pastor-monogram{min-height:220px}.app-band .button{justify-self:start}}

:root{--navy:#073c59;--ink:#103b52;--gold:#e8c779;--soft:#edf3f6}.branded-hero{background:var(--navy);color:white}.church-header{display:block;width:100%;height:auto}.banner-caption{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:35px}.banner-caption h1{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.15}.banner-caption .eyebrow{color:var(--gold);margin-bottom:12px}.pastor-monogram{background:var(--navy)}@media(max-width:800px){.banner-caption{flex-direction:column;align-items:start;gap:22px}.banner-caption .actions{width:100%}}
