:root{--green:#526b80;--ink:#30485c;--cream:#f6f4ec;--muted:#647582;--gold:#b39962;--line:#d6dfe6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b39962;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}em{font-weight:400;color:#688298}h1{font-size:clamp(48px,5.25vw,80px);letter-spacing:-3px}h2{font-size:clamp(38px,4vw,57px);letter-spacing:-1.8px}h3{font-size:27px;letter-spacing:-.6px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:2.1px;margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 23px;background:var(--green);color:white;font-size:14px;border:1px solid var(--green);border-radius:3px;font-weight:600;transition:background .2s}.button:hover{background:#435d73}.button span{font-size:19px}.button.small{padding:9px 18px}.text-link{display:inline-flex;align-items:center;gap:21px;font-size:14px;font-weight:600;background:none;border:0;padding:0;text-align:left}.text-link:hover,a:hover{text-decoration:underline;text-underline-offset:5px}.button:hover{text-decoration:none}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:0}header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe5ea;background:var(--cream);position:sticky;top:0;z-index:20}.brand{display:flex;gap:13px;align-items:center;font:32px Georgia,serif;line-height:1.15}.brand:hover{text-decoration:none}.brand svg{width:36px;height:57px;stroke:var(--green);stroke-width:1.4;fill:none}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:1.2px;margin-top:7px}nav{display:flex;align-items:center;gap:29px;font-size:14px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{padding:90px 9% 62px 10%;align-self:center}.hero-copy>p:not(.eyebrow){max-width:425px;margin:27px 0 31px;color:var(--muted);font-size:17px}.hero-image{position:relative;overflow:hidden;margin:25px 25px 25px 0;border-radius:4px 100px 4px 4px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:52% center}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#2b435c90)}.image-caption{position:absolute;bottom:27px;left:30px;right:15px;color:white;font-size:14px;z-index:1}.hero-note{font-size:14px;color:var(--muted);margin-top:50px;display:flex;align-items:center;gap:10px}.dot{display:inline-block;background:#91a6b8;width:6px;height:6px;border-radius:50%}.sunday-bar{background:var(--green);color:white;display:grid;grid-template-columns:1.5fr 1fr 1.2fr .8fr;gap:24px;padding:29px 5% 22px;align-items:center}.sunday-bar .eyebrow{display:block;color:#cedce7;font-size:14px;letter-spacing:1.7px;margin-bottom:5px}.sunday-bar strong{display:block;font:20px Georgia,serif}.sunday-bar span:not(.eyebrow){font-size:14px;color:#dee6ed}.sunday-bar>a{font-size:14px;justify-self:end}.sunday-bar>p{grid-column:2/5;font-size:14px;color:#dee6ed;margin-top:-17px}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:43px}.section-heading>p{max-width:400px;color:var(--muted);font-size:15px}.ministry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ministry-card{border:1px solid var(--line);border-radius:4px;background:#faf9f5;text-align:left;padding:24px 25px;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}.ministry-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #526b800c}.card-number{font-size:14px;letter-spacing:1.7px;color:var(--muted)}.card-icon{font:36px Georgia,serif;margin:28px 0 22px;color:#819aaf}.ministry-card h3{font-size:26px;min-height:58px}.ministry-card p{font-size:14px;color:var(--muted);margin:20px 0 28px;flex:1}.card-link{font-size:14px;font-weight:600;display:flex;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:18px}.card-link b{font-size:18px;font-weight:400}.finder{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:35px;border-top:1px solid var(--line);padding-top:31px}.finder .eyebrow{font-size:14px;margin-bottom:10px}.finder h3{font-size:25px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e9eef2;max-width:none}.visit-photo{position:relative;min-height:620px}.visit-photo img{width:100%;height:100%;object-fit:cover;border-radius:100px 4px 4px 4px;position:absolute;object-position:50%}.photo-tag{position:absolute;bottom:30px;left:30px;background:var(--cream);padding:13px 23px;font:20px Georgia,serif;border-radius:2px}.visit-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:24px}.visit-details{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;margin:29px 0}.visit-details span{font-size:14px;letter-spacing:1.8px;font-weight:bold}.visit-details p{font-size:14px;margin-top:7px}.faq{margin-top:27px}details{border-bottom:1px solid #cbd7e0;padding:13px 0}summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';font-size:20px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding:14px 0 4px}details a{font-size:14px;text-decoration:underline}.service-band{padding:76px 6%;display:grid;grid-template-columns:1fr 1fr;gap:8%;background:var(--green);color:#f9f7f0}.service-band h2{font-size:49px}.service-band em{color:#ccdae5}.service-band .eyebrow{color:#ccdae5}.service-band>div>p:not(.eyebrow){font-size:15px;color:#e0e7ee;margin-bottom:26px}.partners{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:25px}.partners span{border:1px solid #8ba2b6;padding:5px 11px;font-size:14px;border-radius:20px}.light{color:white}.connect{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:100px;padding-bottom:100px}.connect-copy>p:not(.eyebrow):not(.office){color:var(--muted);max-width:370px;margin:25px 0 35px;font-size:15px}.contact-line{display:block;font-size:14px;margin-bottom:20px}.contact-line span{display:block;font-size:14px;color:var(--muted);letter-spacing:1px;margin-bottom:3px}.office{font-size:14px;color:var(--muted);margin-top:30px}form{background:#fff;padding:32px;border:1px solid #dfe5ea;border-radius:5px}form h3{font-size:28px}.form-intro{font-size:14px;color:var(--muted);margin:14px 0 23px}label{display:block;font-size:14px;font-weight:600;margin:15px 0 7px}label span{font-weight:400;color:var(--muted)}input,select,textarea{border:1px solid #d6dfe6;border-radius:3px;background:#fbfcfd;width:100%;padding:10px 11px;font-size:14px;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #8aa4b9;outline-offset:1px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:14px;line-height:1.6;color:var(--muted);margin:13px 0 18px}.form-result{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:14px}.form-result p{margin:9px 0}.form-result textarea{height:140px;margin-bottom:10px}[hidden]{display:none!important}.about{text-align:center;background:#e9eef2;max-width:none;padding-top:69px;padding-bottom:65px}.about>p:not(.eyebrow){max-width:645px;margin:25px auto;color:var(--muted);font-size:14px}.about-links{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;font-size:14px;margin-top:30px}footer{background:#3d5367;color:#ecf0f4;padding:55px 6% 22px;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:30px;font-size:14px}.footer-brand{font:36px Georgia,serif}footer p{font-size:14px;margin:9px 0;color:#d0dbe4}footer>div:nth-child(3) a{display:block;margin-bottom:7px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #8297a8;padding-top:22px;margin-top:20px;font-size:14px;color:#cfdbe5}dialog{border:0;border-radius:8px;padding:45px;max-width:650px;width:calc(100% - 30px);color:var(--ink);background:var(--cream);max-height:90vh}dialog::backdrop{background:#243b50ac;backdrop-filter:blur(3px)}dialog h2{font-size:41px}dialog>p:not(.eyebrow){margin:23px 0;color:var(--muted)}dialog h3{font-size:22px;margin:23px 0 8px}dialog ul{padding-left:20px;font-size:14px;color:var(--muted)}dialog .button{margin-top:24px}.dialog-close{position:absolute;right:17px;top:10px;background:none;border:0;color:var(--ink);font-size:30px}#dialog-content a{font-size:14px;text-decoration:underline} @media(min-width:1500px){.hero-copy{padding-left:12%}.hero{min-height:740px}}@media(max-width:1050px){nav{gap:17px}.brand{font-size:27px}.brand small{font-size:14px}.hero-copy{padding:65px 8%}h1{font-size:57px}.ministry-grid{grid-template-columns:repeat(2,1fr)}.ministry-card h3{min-height:0}.visit{gap:5%}.visit-photo{min-height:650px}.service-band h2{font-size:42px}.connect{gap:5%}}@media(max-width:760px){html{scroll-padding-top:85px}header{height:82px;padding:0 6%}.brand{font-size:26px}.brand svg{height:45px;width:28px}.brand small{font-size:14px}.menu{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:3px;background:none;padding:7px 12px;font-size:14px;color:var(--ink)}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:20px 6%;box-shadow:0 10px 20px #526b801a;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{padding:8px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:56px 6% 38px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:390px}h1{font-size:57px;letter-spacing:-2px}.hero-image{height:360px;margin:0 6% 30px;border-radius:3px 75px 3px 3px}.hero-note{margin-top:29px;font-size:14px}.actions{gap:18px}.sunday-bar{grid-template-columns:1fr 1fr;padding:27px 6%;gap:20px}.sunday-bar>div:first-child{grid-column:1/-1}.sunday-bar>a{justify-self:start}.sunday-bar>p{grid-column:1/-1;margin-top:0}.sunday-bar strong{font-size:19px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px;font-size:14px}.eyebrow{font-size:14px;margin-bottom:18px}h2{font-size:43px}.ministry-grid{gap:13px}.ministry-card{padding:20px 16px}.ministry-card h3{font-size:24px}.ministry-card p{font-size:14px;margin:15px 0 22px}.card-number{font-size:14px}.card-icon{margin:20px 0 15px}.card-link{font-size:14px;gap:10px}.finder{display:block}.finder h3{font-size:24px}.finder>a{margin-top:20px}.visit{display:flex;flex-direction:column;gap:35px}.visit-photo{min-height:360px}.photo-tag{bottom:22px;left:20px;font-size:17px}.service-band{display:block;padding:60px 6%}.service-band>div+div{margin-top:30px}.service-band h2{font-size:41px}.connect{display:block}.connect form{margin-top:36px;padding:24px}.contact-line{font-size:14px}.about-links{gap:17px;flex-direction:column}.about{padding:55px 6%}footer{grid-template-columns:1fr 1fr;padding:42px 6% 22px}footer>div:first-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;gap:15px}dialog{padding:35px 25px}dialog h2{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Official church logo, sized to preserve all lettering and steeple detail. */
header{height:142px}.church-logo{display:block;width:310px;max-width:100%;height:auto}.brand{flex-shrink:0}.footer-brand{display:inline-block}.footer-brand .church-logo{width:330px;filter:brightness(0) invert(1)}html{scroll-padding-top:145px}.brand:hover,.footer-brand:hover{text-decoration:none}
@media(max-width:1100px) and (min-width:761px){nav{gap:15px;font-size:14px}.church-logo{width:275px}.button.small{padding:8px 12px}}
@media(max-width:760px){header{height:118px;gap:15px}.church-logo{width:clamp(190px,59vw,280px)}nav{top:118px}html{scroll-padding-top:121px}.menu{flex-shrink:0}.footer-brand .church-logo{width:290px}}

/* Photography supplied by the church. */
.ministry-photo{display:block;width:calc(100% + 50px);max-width:none;height:185px;object-fit:cover;margin:-24px -25px 25px;border-radius:3px 3px 0 0}.ministry-card{overflow:hidden}.ministry-card h3{margin-top:20px}.ministry-card[data-ministry="learn"] .ministry-photo{object-position:50% 35%}.ministry-card[data-ministry="fellowship"] .ministry-photo{object-position:50% 28%}.service-photo{margin:30px 0 0}.service-photo img{width:100%;height:245px;object-fit:cover;object-position:center 55%;border-radius:4px}.service-photo figcaption{font-size:14px;color:#dee6ed;margin-top:9px}.service-band>div:nth-child(2){align-self:center}.connect-photo{margin:32px 0 0;max-width:390px}.connect-photo img{display:block;width:100%;height:230px;object-fit:cover;object-position:50% 60%;border-radius:4px}.connect-photo figcaption{font-size:14px;color:var(--muted);margin-top:10px}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;text-align:left;align-items:center}.about-photo{width:100%;height:370px;object-fit:cover;border-radius:4px 4px 4px 70px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:25px}.about-links{justify-content:flex-start;gap:17px 27px}.dialog-photo{width:100%;height:190px;object-fit:cover;border-radius:4px;margin-bottom:4px}
@media(max-width:1050px){.ministry-photo{height:210px}}
@media(max-width:760px){.ministry-photo{width:calc(100% + 32px);height:150px;margin:-20px -16px 20px}.ministry-card h3{margin-top:15px}.service-photo img{height:215px}.connect-photo{max-width:100%}.connect-photo img{height:240px}.about{display:flex;flex-direction:column;gap:30px;align-items:stretch;text-align:left}.about-photo{height:280px}.about-links{flex-direction:column}.dialog-photo{height:170px}}
/* Pastor review: primary message, dedicated pages, and persistent church notices. */
header{height:112px}.church-logo{width:300px}.footer-brand .church-logo{width:320px}html{scroll-padding-top:115px}.hero h1{font-size:clamp(38px,4.2vw,64px);letter-spacing:-1.8px}.hero-copy{padding-top:70px;padding-bottom:55px}.hero-note{margin-top:35px}.hero .eyebrow{font-size:14px;letter-spacing:1.5px}.ministry-card:hover{text-decoration:none}.ministry-card h3{min-height:58px}.ministry-card .card-number{font-size:14px;letter-spacing:1.1px}.announcement-strip{padding:19px 6%;display:flex;justify-content:space-between;gap:30px;align-items:center;background:#e9eef2;border-bottom:1px solid #d6dfe6}.announcement-strip .eyebrow{font-size:14px;margin-bottom:6px}.notice h3{font-family:Arial,sans-serif;font-size:15px;font-weight:600;letter-spacing:0;line-height:1.4}.notice p{font-size:14px;color:var(--muted);margin:4px 0 7px}.notice .text-link{font-size:14px}.announcement-strip .notice+.notice{border-top:1px solid #ccd7df;margin-top:10px;padding-top:10px}.announcement-strip>a{white-space:nowrap}.updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.update-card{padding:28px;background:#faf9f5;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column}.update-card:hover{text-decoration:none;box-shadow:0 10px 24px #526b8010}.update-card .eyebrow{font-size:14px;margin-bottom:18px}.update-card p{font-size:14px;color:var(--muted);margin:18px 0 25px;flex:1}.page-heading{padding-bottom:35px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(40px,5vw,68px);letter-spacing:-2px}.page-heading>p:last-child{font-size:17px;max-width:700px;margin-top:25px;color:var(--muted)}.breadcrumb{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:35px}.ministry-page{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;padding-top:50px}.ministry-page-content>section{padding-bottom:27px;margin-bottom:27px;border-bottom:1px solid var(--line)}.ministry-page-content h2{font-size:30px;letter-spacing:-.6px}.ministry-page-content p{margin-top:15px;font-size:15px;color:var(--muted)}.ministry-page-photo{width:100%;height:280px;object-fit:cover;border-radius:4px}.info-panel{background:#e9eef2;padding:26px;border-radius:4px;margin-bottom:22px}.ministry-page aside .info-panel{margin-top:25px;margin-bottom:0}.info-panel h3{font-size:25px}.info-panel p{font-size:14px;margin:15px 0 20px;color:var(--muted);overflow-wrap:anywhere}.page-cta{background:#e9eef2;border-radius:4px;padding:30px;margin-top:35px}.page-cta .button{margin-top:23px}.news-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;padding-top:50px}.news-layout h2{font-size:32px;letter-spacing:-.7px}.news-announcements .notice{margin-top:25px;padding:25px;border:1px solid var(--line);border-radius:4px;background:#fcfcf8}.news-title{margin-top:45px}.empty-news{margin-top:20px;font-size:14px;color:var(--muted)}.news-article{border-bottom:1px solid var(--line);padding:30px 0}.news-article time{font-size:14px;color:var(--muted)}.news-article h3{margin:12px 0 15px}.news-article p{font-size:14px;color:var(--muted);margin-bottom:20px}.newsletter-section{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;padding-top:50px}.newsletter-section form h2{font-size:31px}.newsletter-section fieldset{border:1px solid var(--line);padding:18px;margin:22px 0}.newsletter-section legend{font-size:14px;padding:0 6px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:14px;font-weight:400;margin:8px 0 14px}.checkbox-label input{width:17px;min-width:17px;accent-color:#526b80;margin:2px 0 0}.newsletter-section #newsletter-service-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:20px}#newsletter-message{height:150px;margin:15px 0}.calendar-section{padding-top:45px}.schedule-note{padding:22px 27px;background:#e9eef2;border:1px solid var(--line);border-radius:4px;margin-bottom:35px}.schedule-note p{font-size:14px;color:var(--muted);margin-top:6px}.schedule-note>a{margin-top:10px}.calendar-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:25px}.calendar-toolbar h2{font-size:29px;flex:1;letter-spacing:-.5px}.calendar-toolbar button{border:1px solid var(--line);background:white;border-radius:4px;padding:7px 17px;color:var(--ink);font-size:14px}.calendar-scroll{overflow-x:auto}.calendar-table{table-layout:fixed;width:100%;border-collapse:collapse;background:#fafbf9}.calendar-table th{font-size:14px;text-align:left;padding:10px;border-bottom:1px solid var(--line);background:#e9eef2}.calendar-table td{border:1px solid var(--line);height:100px;padding:0;vertical-align:top}.calendar-empty{background:#eef0eb}.calendar-day{padding:12px;min-height:100px;height:100%;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);display:flex;flex-direction:column;gap:10px}.day-number{font-size:16px}.calendar-day[aria-current="date"] .day-number{background:#526b80;color:white;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;margin-top:-4px;margin-left:-4px}.calendar-day[aria-pressed="true"]{background:#dce7ef;box-shadow:inset 0 0 0 2px #526b80}.calendar-event-count{font-size:14px;color:#526b80;background:#e2e9ef;border-radius:12px;padding:1px 8px;display:inline-block}.day-schedule{margin-top:40px}.day-schedule>h2{font-size:29px;margin-bottom:22px}.day-schedule>p{color:var(--muted);font-size:14px}.event-row{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.event-row h3{font-size:25px;margin:6px 0}.event-row p{font-size:14px;color:var(--muted)}.event-time{font-weight:600}.event-label{font-size:14px;border:1px solid #cbd7df;display:inline-block;border-radius:15px;padding:2px 10px;margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.google-calendar{display:block;width:100%;height:750px;border:1px solid var(--line);border-radius:4px;background:white}.calendar-intro{font-size:14px;color:var(--muted);margin-bottom:25px}
@media(max-width:960px){header{height:100px;padding:0 6%;gap:20px}.church-logo{width:270px}.menu{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:3px;background:none;padding:7px 12px;font-size:14px;color:var(--ink);flex-shrink:0}nav{display:none;position:absolute;top:100px;left:0;right:0;background:var(--cream);padding:20px 6%;box-shadow:0 10px 20px #526b801a;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{padding:8px}html{scroll-padding-top:103px}}
@media(max-width:760px){header{height:92px;gap:15px}.church-logo{width:clamp(190px,59vw,260px)}nav{top:92px}html{scroll-padding-top:95px}.hero h1{font-size:clamp(32px,8.4vw,45px);letter-spacing:-1.2px}.hero-copy{padding:45px 6% 35px}.hero .eyebrow{font-size:14px;letter-spacing:1px}.announcement-strip{align-items:flex-start;gap:15px;padding:17px 6%;flex-direction:column}.announcement-strip>a{font-size:14px}.announcement-strip .notice p{font-size:14px}.ministry-card h3{min-height:0}.updates-grid{grid-template-columns:1fr}.update-card{padding:25px}.church-updates .section-heading>p{margin-top:20px}.page-heading{padding-bottom:35px}.page-heading h1{font-size:40px;letter-spacing:-1px}.page-heading>p:last-child{font-size:15px}.ministry-page,.news-layout,.newsletter-section{display:flex;flex-direction:column;gap:35px;padding-top:35px}.ministry-page-photo{height:240px}.newsletter-section #newsletter-service-links{flex-direction:column}.calendar-toolbar{gap:8px;flex-wrap:wrap}.calendar-toolbar h2{font-size:23px}.calendar-toolbar button{padding:7px 11px}.calendar-table td,.calendar-day{min-height:78px;height:78px}.calendar-day{padding:8px 5px;gap:9px}.day-number{font-size:14px}.calendar-event-count{font-size:14px;padding:1px 4px}.calendar-table th{padding:7px 4px;font-size:14px}.day-schedule>h2{font-size:25px}.event-row{display:block}.event-row>button{margin-top:15px}.google-calendar{height:650px}.newsletter-section form{padding:25px}.ministry-page-content h2{font-size:28px}}
.calendar-live-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.calendar-live-heading>p{font-size:14px;color:var(--muted)}.calendar-help{font-size:14px;color:var(--muted);margin-top:20px}.calendar-help a{text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.calendar-live-heading{align-items:flex-start;flex-direction:column;gap:12px}}
.this-week{padding-top:65px;padding-bottom:65px;border-bottom:1px solid var(--line)}.this-week .section-heading{align-items:center;margin-bottom:25px}.this-week h2{font-size:clamp(33px,3.8vw,53px)}.this-week .eyebrow{margin-bottom:13px}.week-date{font-size:14px;color:var(--muted);margin-top:16px}.weekly-calendar-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:5px;background:white;overscroll-behavior-x:contain}.weekly-calendar-scroll:focus-visible{outline:3px solid #819aaf;outline-offset:3px}.weekly-calendar-frame{display:block;border:0;width:100%;min-width:650px;height:520px}.weekly-calendar-help{font-size:14px;color:var(--muted);margin-top:17px}.weekly-calendar-help a{text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.this-week{padding-top:45px;padding-bottom:45px}.this-week .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.this-week .section-heading .button{font-size:14px}.this-week h2{font-size:35px}.weekly-calendar-frame{height:500px}.week-date{font-size:14px}}
.event-carousel{position:relative}.weekly-events-status{padding:25px;background:#e9eef2;border:1px solid var(--line);border-radius:5px;font-size:14px;color:var(--muted);margin-bottom:20px}.event-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9badbb transparent;overscroll-behavior-x:contain}.event-track{display:flex;gap:18px;padding:4px 0 14px}.event-tile-item{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;min-width:0}.event-tile{height:100%;min-height:265px;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-top:4px solid #526b80;background:#fafbf9;border-radius:5px;transition:background .2s}.event-tile:hover{background:#e9eef2;text-decoration:none}.event-tile-date{font-size:14px;font-weight:600;color:#526b80;margin-bottom:22px}.event-tile h3{font-size:28px;line-height:1.2;margin-bottom:20px;overflow-wrap:anywhere}.event-tile-time{font-size:14px;color:var(--ink)}.event-tile-location{font-size:14px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.event-tile-link{display:block;margin-top:auto;padding-top:27px;font-size:14px;font-weight:600}.event-carousel-controls{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:15px}.carousel-arrow,.carousel-pause{border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:14px;padding:9px 14px}.carousel-arrow{font-size:18px;line-height:1;width:42px;height:38px;padding:0}.carousel-pause{height:38px}.carousel-arrow:hover,.carousel-pause:hover{background:#e9eef2}@media(max-width:1000px){.event-tile-item{flex-basis:calc((100% - 18px)/2)}}@media(max-width:600px){.event-tile-item{flex-basis:90%}.event-tile{padding:25px;min-height:260px}.event-tile h3{font-size:27px}.event-carousel-controls{justify-content:flex-start}.carousel-pause{font-size:14px}}
.footer-resources{grid-column:1/-1;display:flex;gap:12px 25px;flex-wrap:wrap;border-top:1px solid #8297a8;padding-top:24px}.footer-resources a{font-size:14px}.content-page{padding-top:45px}.content-page>section{max-width:900px;margin-bottom:35px}.content-page h2{font-size:30px;letter-spacing:-.6px;margin-bottom:17px}.content-page p{font-size:15px;color:var(--muted);line-height:1.8}.lead-copy{max-width:780px;margin-bottom:35px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.resource-card{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:4px;background:#fafbf9}.resource-card:hover{background:#e9eef2;text-decoration:none}.resource-card h2{font-size:27px}.resource-card span{font-size:14px;margin-top:auto;padding-top:20px}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:50px}.staff-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fafbf9}.staff-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;display:block}.staff-card h2{font-size:25px;margin:23px 22px 12px}.staff-card p{font-size:14px;margin:0 22px 24px}.table-scroll{overflow-x:auto}.info-table{border-collapse:collapse;width:100%;font-size:14px;margin:20px 0 35px}.info-table th,.info-table td{border-bottom:1px solid var(--line);padding:12px 15px;text-align:left;vertical-align:top}.info-table th{font-weight:600;width:43%}.small-note{font-size:14px!important;margin-bottom:25px}.directions-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:6%;margin-bottom:35px}.directions-layout section{margin-bottom:30px}.content-photo{width:100%;height:500px;object-fit:cover;border-radius:5px}.wide-content-photo{width:100%;height:380px;object-fit:cover;display:block;border-radius:5px;margin-bottom:40px}.history-timeline{max-width:850px;margin-bottom:45px}.history-timeline section{border-left:2px solid #9badbb;padding:0 0 30px 28px}.church-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.church-gallery figure{margin:0}.church-gallery img{display:block;width:100%;height:300px;object-fit:cover;border-radius:4px}.church-gallery figcaption{font-size:14px;color:var(--muted);margin-top:10px}.worship-player{width:100%;aspect-ratio:16/9;border:0;border-radius:4px;background:#e9eef2;display:block;margin:25px 0 40px}.worship-recordings{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:40px 0}.worship-recordings h2{font-size:24px}.calendar-description{white-space:pre-line;margin-top:15px!important;max-width:850px;overflow-wrap:anywhere}@media(max-width:900px){.resource-grid,.staff-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.resource-grid,.staff-grid,.directions-layout,.church-gallery,.worship-recordings{display:grid;grid-template-columns:1fr}.staff-card img{height:auto;aspect-ratio:4/5;object-fit:cover;background:#e9eef2}.content-page h2{font-size:28px}.content-photo{height:300px;margin-bottom:25px}.wide-content-photo{height:260px}.church-gallery img{height:260px}.info-table th,.info-table td{font-size:14px;padding:10px 7px}.worship-recordings{gap:20px}.footer-resources{gap:13px 20px}}
.content-page>.giving-form-section{max-width:none}.giving-frame{width:100%;min-height:1250px;border:1px solid var(--line);border-radius:5px;background:white;margin-top:25px}@media(max-width:600px){.giving-frame{min-height:1450px}}

/* Compact portrait photographs on the clergy, vestry, and staff page. */
.staff-card img{width:180px;max-width:calc(100% - 40px);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;margin:24px auto 0;border-radius:3px}

/* Readable navigation, body copy, and supporting text across all pages. */
body{font-size:18px;line-height:1.7}header{min-height:112px;height:auto;padding-top:12px;padding-bottom:12px;gap:28px}nav{font-size:17px;gap:24px}nav>a:not(.button){min-height:44px;display:flex;align-items:center}.button,.text-link{font-size:16px}.button{min-height:48px}.eyebrow,.hero .eyebrow,.card-number,.ministry-card .card-number,.announcement-strip .eyebrow,.finder .eyebrow,.update-card .eyebrow{font-size:14px;letter-spacing:1.2px}
.hero-copy>p:not(.eyebrow),.section-heading>p,.visit-copy>p:not(.eyebrow),.connect-copy>p:not(.eyebrow):not(.office),.about-copy>p:not(.eyebrow),.ministry-page-content p,.content-page p,.info-panel p,.news-article p,.update-card p,.ministry-card p{font-size:17px;line-height:1.7}.card-link,.about-links,.hero-note,.visit-details p,.faq summary,.faq details p,.faq details a,.contact-line,.office,.contact-line span,.form-intro,label,.form-note,.form-result,.notice p,.notice .text-link,.announcement-strip>a,.small-note,.resource-card span,.staff-card p,.church-gallery figcaption{font-size:16px}.visit-details span{font-size:14px}input,select,textarea{font-size:17px}form .form-note{font-size:15px}.contact-line{overflow-wrap:anywhere}.small-note{font-size:15px!important}footer{font-size:16px}footer p,.footer-resources a,.footer-bottom{font-size:15px}.info-table{font-size:16px}.connect-photo figcaption{font-size:15px}.faq summary{min-height:38px;align-items:center}
.mission-statement{margin-top:28px;padding-left:20px;border-left:3px solid #9badbb;max-width:490px}.mission-statement .mission-label{font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:8px;color:var(--muted)}.mission-statement .mission-text{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2vw,28px);line-height:1.4;color:var(--ink)}.hero-copy .mission-statement+p{margin-top:24px}.news-newsletter-grid{grid-template-columns:repeat(2,1fr)}
.gateway-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.gateway-feature>img{width:100%;height:340px;object-fit:cover;object-position:center;border-radius:4px 70px 4px 4px}.gateway-feature>div>p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--muted);margin:24px 0 28px}
@media(max-width:1250px){header .church-logo{width:270px}nav{gap:18px;font-size:16px}}
@media(max-width:1100px){header{min-height:100px;gap:20px;padding-top:10px;padding-bottom:10px}.menu{display:flex;align-items:center;gap:10px;flex-shrink:0;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px;font-size:17px;min-height:44px;padding:6px 14px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 6%;flex-direction:column;align-items:stretch;background:var(--cream);box-shadow:0 10px 20px #526b801a;font-size:18px;gap:8px}nav.open{display:flex}nav>a:not(.button){padding:8px 0;min-height:48px}nav .button{justify-content:center}html{scroll-padding-top:110px}}
@media(max-width:760px){header{min-height:96px;gap:15px}.church-logo,header .church-logo{width:clamp(190px,59vw,260px)}.hero-copy{padding-top:38px;padding-bottom:38px}.hero .eyebrow{font-size:13px;letter-spacing:1px}.hero-copy>p:not(.eyebrow){font-size:17px}.mission-statement{margin-top:22px}.mission-statement .mission-text{font-size:24px}.mission-statement .mission-label{font-size:14px}.ministry-grid{grid-template-columns:1fr}.ministry-card{padding:24px}.ministry-photo{width:calc(100% + 48px);margin:-24px -24px 24px;height:220px}.ministry-card h3{font-size:29px;min-height:0}.ministry-card p{font-size:17px}.card-link{font-size:16px}.visit-details{grid-template-columns:1fr;gap:18px}.field-row{grid-template-columns:1fr;gap:0}.section-heading>p{font-size:17px}.gateway-feature{grid-template-columns:1fr;gap:30px}.gateway-feature>img{height:280px}.gateway-feature>div>p:not(.eyebrow){font-size:17px}.news-newsletter-grid{grid-template-columns:1fr}.about-links{font-size:16px}.info-table th,.info-table td{font-size:15px}.announcement-strip .notice p{font-size:16px}.announcement-strip>a{font-size:16px}.this-week .section-heading .button{font-size:16px}.carousel-pause{font-size:15px}.footer-resources a{font-size:15px}}
@media(max-width:400px){header{padding-left:5%;padding-right:5%;gap:12px}header .brand{min-width:0;flex-shrink:1}header .church-logo{width:clamp(160px,54vw,210px)}}
/* A common photographic introduction for every interior page. */
.subpage-banner{padding-top:40px;padding-bottom:0}.subpage-banner-image{display:block;width:100%;height:380px;object-fit:cover;border-radius:5px}.subpage-banner+.content-page,.subpage-banner+.ministry-page,.subpage-banner+.calendar-section,.subpage-banner+.news-layout,.subpage-banner+.newsletter-section{padding-top:40px}.directions-text-only{display:block;max-width:900px}.ministry-page aside .info-panel:first-child{margin-top:0}
/* Keep the church mission directly beneath the logo in the sticky header. */
.header-identity{flex:0 1 330px;min-width:0}.header-identity .brand{display:block}.header-identity .church-logo{width:300px;max-width:100%}.header-mission{max-width:330px;margin-top:8px;font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.4;color:var(--ink)}.header-mission em{color:inherit;font-style:italic}header{min-height:166px;padding-top:12px;padding-bottom:12px}html{scroll-padding-top:178px}
@media(max-width:1250px){.header-identity{flex-basis:300px}.header-identity .church-logo{width:270px}.header-mission{font-size:16px}}
@media(max-width:1100px){header{min-height:148px}.header-identity{flex-basis:300px}html{scroll-padding-top:160px}}
@media(max-width:760px){.subpage-banner{padding-top:28px}.subpage-banner-image{height:250px}.subpage-banner+.content-page,.subpage-banner+.ministry-page,.subpage-banner+.calendar-section,.subpage-banner+.news-layout,.subpage-banner+.newsletter-section{padding-top:30px}header{min-height:132px;padding-top:10px;padding-bottom:10px}.header-identity{flex:0 1 275px}.header-identity .church-logo{width:245px}.header-mission{font-size:15px;line-height:1.35;margin-top:7px;max-width:275px}html{scroll-padding-top:150px}}
@media(max-width:400px){.header-identity{flex:1 1 auto;max-width:230px}.header-identity .church-logo{width:100%;max-width:210px}.header-mission{font-size:14px;line-height:1.35}.subpage-banner-image{height:220px}}

/* Preserve the full front-gate design in the Gateway Walk feature. */
.gateway-feature>img{height:500px;object-fit:contain;border-radius:4px}
@media(max-width:760px){.gateway-feature>img{height:420px;max-height:115vw}}

/* Fixed PNG artwork avoids platform-specific arrow and emoji rendering. */
a .link-arrow-icon,button .link-arrow-icon{display:inline-block;width:20px;height:20px;min-width:20px;object-fit:contain;vertical-align:middle;margin-left:4px}
.button .link-arrow-icon{filter:brightness(0) invert(1);margin-left:0}
.carousel-arrow .link-arrow-icon,.calendar-toolbar .link-arrow-icon{margin-left:0}

.gallery-open{display:block;width:100%;padding:0;border:0;border-radius:5px;background:transparent;cursor:zoom-in;overflow:hidden}
.gallery-open:hover img{filter:brightness(.94)}
.photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:96dvh;border:0;border-radius:8px;padding:0;background:#182934;color:#fff;box-shadow:0 20px 80px #0008}
.photo-viewer::backdrop{background:#101c27e8}
.photo-viewer-panel{padding:18px 22px}
.photo-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;font-size:16px}
.photo-viewer button{background:#f6f4ec;color:#30485c;border:0;border-radius:4px;padding:10px 14px;min-width:44px;min-height:44px}
.photo-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:140px}
#photo-full{display:block;width:100%;height: min(70dvh,740px);object-fit:contain}
#photo-previous,#photo-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1;opacity:.95}
#photo-previous{left:0}#photo-next{right:0}
#photo-caption{font-size:17px;line-height:1.5;margin:16px 0 2px;text-align:center}
body.photo-viewer-open{overflow:hidden}
@media(max-width:600px){.photo-viewer-panel{padding:12px}.photo-viewer{width:96vw}#photo-full{height:65dvh}.photo-viewer-stage button{padding:8px}#photo-caption{font-size:16px}}
/* Center the mission within the logo's width at every screen size. */
.header-mission{width:300px;max-width:100%;text-align:center}
@media(max-width:1250px){.header-mission{width:270px}}
@media(max-width:760px){.header-mission{width:245px}}
@media(max-width:400px){.header-mission{width:210px}}

/* Keep the stained-glass subject intact within the learning-page banner. */
.faith-learning-banner .subpage-banner-image{height:auto;aspect-ratio:2/1;object-position:50% 30%}
@media(max-width:760px){.faith-learning-banner .subpage-banner-image{aspect-ratio:3/2}}

/* Bring ministries closer to the welcome and keep its introduction together. */
.hero{min-height:560px}
.hero-copy{padding-top:50px;padding-bottom:45px}
#ministries{padding-top:32px}
#ministries .section-heading{display:block;margin-bottom:32px}
#ministries .section-heading>p{max-width:1050px;margin-top:22px}
@media(max-width:760px){.hero{min-height:0}.hero-copy{padding-top:38px;padding-bottom:30px}.hero-image{margin-bottom:8px}#ministries{padding-top:26px}#ministries .section-heading>p{margin-top:18px}}

.history-events{list-style:none;margin:25px 0 0;padding:0}.history-events li{margin:0 0 25px}.history-events h3{font-size:23px;line-height:1.3;margin-bottom:9px}.history-timeline>section{padding-bottom:35px}.history-timeline>section>h2{line-height:1.25}

.footer-socials{display:flex;align-items:center;gap:12px;margin-top:20px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;border:1px solid #8ba2b6;border-radius:50%;transition:background .2s}.footer-socials a:hover{background:#ffffff1a;text-decoration:none}.footer-socials img{display:block;width:26px;height:26px;object-fit:contain}.footer-socials a:focus-visible{outline:3px solid #fff;outline-offset:4px}
