/* Elm City — cinematic editorial. A single, consolidated stylesheet. */
@font-face{font-family:Manrope;src:url('fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Fraunces;src:url('fonts/fraunces.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#161d19;--paper:#f4f1e8;--lime:#e2efb9;--muted:#62675b;--line:#cccfc1;--gutter:clamp(22px,5.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.03;letter-spacing:-.055em;font-weight:750}h2{font-size:clamp(42px,5.2vw,80px)}h3{font-size:clamp(26px,2.7vw,40px)}p{max-width:57ch}h1,h2,h3,p,a,button,summary,legend,label{overflow-wrap:anywhere}img{display:block;max-width:100%;object-fit:cover}:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--lime);color:var(--ink)}.wrap{padding-inline:var(--gutter)}.section{padding-block:clamp(75px,9vw,145px)}.eyebrow{font-size:11px;line-height:1.6;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.small{font-size:13px;line-height:1.6;color:var(--muted)}.serif{font-family:Fraunces,Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.055em}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--lime);color:var(--ink)}.skip:focus{top:60px}
.demo-bar{position:sticky;top:0;z-index:30;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px var(--gutter);font-size:10px;line-height:1.5;border-bottom:1px solid #ffffff24}.demo-bar a{min-height:26px;display:flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.opening{position:relative;isolation:isolate;background:#283329;color:var(--paper);min-height:min(950px,calc(100svh - 44px));display:flex;flex-direction:column;overflow:clip}.hero-photo,.hero-film{position:absolute;inset:0;width:100%;height:100%;z-index:-3;object-fit:cover;object-position:50% 50%}.hero-film{z-index:-2;opacity:0;transition:opacity 1s}.hero-film.is-playing{opacity:1}.opening::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081510a6,transparent 85%),linear-gradient(180deg,#0815108f,transparent 35%,#081510b8)}
.header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:28px;border-bottom:1px solid #ffffff40}.wordmark{display:inline-flex;flex-direction:column;font-size:33px;line-height:.95;letter-spacing:-.07em;font-weight:800}.wordmark-caption{font-size:9px;letter-spacing:.3em;line-height:1.6;margin-top:8px}.header nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:650}.header nav a{padding-block:12px}.nav-visit{display:flex;gap:28px;border-bottom:1px solid var(--paper)}.menu-toggle{display:none;background:transparent;color:inherit;border:1px solid #ffffff80;padding:10px 14px;min-height:44px}.opening #main{flex:1;display:flex;flex-direction:column}.hero{flex:1;display:flex;flex-direction:column;justify-content:end;padding-block:clamp(70px,10vw,150px) 36px}.hero-kicker{margin-bottom:23px}.hero h1{font-size:clamp(54px,8.7vw,145px);line-height:.99;letter-spacing:-.065em;font-weight:700;max-width:15ch}.hero h1 span{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.065em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:48px}.hero-invitation{display:flex;align-items:center;gap:40px}.hero-intro{font-size:15px;line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 25px;background:var(--lime);color:var(--ink);border:1px solid var(--lime);border-radius:2px;font-size:13px;font-weight:750;line-height:1.5;min-height:56px;text-align:left;transition:background .2s,transform .2s}.button span{font-size:23px;line-height:1;flex-shrink:0}.button:hover{background:#eff7d8;transform:translateY(-2px)}.film-controls{display:flex;flex-direction:column;align-items:end;gap:9px}.film-toggle{min-height:44px;background:#14211bbf;color:#fff;border:1px solid #ffffff80;border-radius:50px;padding:10px 20px;font-size:12px}.film-credit{font-size:9px;letter-spacing:.03em}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:13px 0;background:none;border:0;border-bottom:1px solid currentColor;color:inherit;font-size:13px;font-weight:650;text-align:left}.text-link span{font-size:23px;flex-shrink:0}.text-link:hover{opacity:.75}.concept-note{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:var(--paper);padding-block:22px;font-size:11px}.concept-note a{display:flex;gap:40px;align-items:center;min-height:44px}.concept-note a span{font-size:24px}
.about{display:grid;grid-template-columns:1fr 3fr;gap:6%;align-items:start}.section-label .small{display:block;margin-top:22px}.about h2{font-size:clamp(40px,5.1vw,78px);line-height:1.1}.about h2 .serif{font-size:1.18em;display:block;margin-top:8px}.story-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:38px 0 24px;font-size:15px;color:#4a534b}
.sunday-scene{position:relative;isolation:isolate;min-height:700px;display:flex;align-items:end;background:#3e231b;color:var(--paper);margin-inline:var(--gutter)}.sunday-scene>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:center 53%}.sunday-scene::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#100e0bf0,transparent 90%)}.sunday-copy{padding:65px;width:100%}.sunday-copy h2{font-size:clamp(50px,7vw,105px);margin:24px 0 34px}.sunday-copy h2 .serif{font-size:1.15em}.sunday-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.sunday-bottom p{font-size:15px}.round-link{width:68px;height:68px;flex-shrink:0;border:1px solid #ffffffaa;border-radius:100%;display:grid;place-items:center;font-size:30px;transition:background .2s}.round-link:hover{background:#ffffff25}
.community-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:55px}.community-top h2{width:68%}.community-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.community figure{padding-top:45px}.community img{width:100%;height:690px;object-position:45% center}.community figcaption{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:20px;padding:22px 0;border-bottom:1px solid var(--line)}.ministry-list article{border-top:1px solid var(--line);padding:26px 0 32px}.ministry-list article .eyebrow{color:var(--muted);font-size:10px}.ministry-list h3{margin:16px 0;font-size:33px;line-height:1.1}.ministry-list article p:last-child{font-size:14px;max-width:42ch;color:#4a534b}
.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;background:var(--ink);color:var(--paper)}.visit h2{font-size:clamp(55px,7vw,108px);margin:28px 0}.visit h2 .serif{font-size:1.15em}.visit-heading>p:not(.eyebrow){color:#d4dacb;font-size:15px}.visit .button{margin-top:35px}.service-time{border-top:1px solid #ffffff45;border-bottom:1px solid #ffffff45;padding-block:22px}.service-time .eyebrow{color:#c5ccbb;font-size:10px}.service-time h3{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:22px 0;font-size:clamp(32px,3.5vw,53px)}.service-time h3 span{color:var(--lime)}.service-time>p:last-child{font-size:13px;color:#d0d3c6}.sunday-list{list-style:none;padding:0;margin:0}.sunday-list li{padding-top:25px}.sunday-list h3{font-size:17px;line-height:1.4;letter-spacing:-.02em;margin-bottom:8px}.sunday-list p{font-size:13px;line-height:1.75;color:#c5ccbb}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:50px}.section-top h2{margin-top:24px}.message-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.message-art{position:relative;isolation:isolate;overflow:hidden;padding:40px;background:#282f2d;color:var(--paper);display:flex;flex-direction:column;gap:44px;min-height:550px;justify-content:space-between}.message-art>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:50% 58%}.message-art::before{content:'';position:absolute;inset:0;z-index:-1;background:#13261bbb}.message-art-title{overflow-wrap:anywhere;min-width:0;font-weight:750;font-size:clamp(52px,6.5vw,102px);line-height:.95;letter-spacing:-.065em}.message-art-title span{font-family:Fraunces,Georgia,serif;font-weight:400;font-style:italic}.message-art .eyebrow{font-size:10px}.message-copy h3{font-size:clamp(38px,4.1vw,62px);margin:24px 0;line-height:1.08}.message-copy>p:not(.eyebrow){font-size:16px;max-width:37ch}.message-copy .text-link{margin-top:25px}.second-reflection{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line);margin-top:45px;padding-top:20px}.second-reflection>.eyebrow{padding-top:18px}.second-reflection details{border-bottom:0}.second-reflection summary{font-size:25px;letter-spacing:-.04em}.reflection-body p{margin-bottom:18px;font-size:15px}.reflection-question{font-family:Fraunces,Georgia,serif;font-size:25px!important;font-style:italic;line-height:1.4}
.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:9%}.questions h2{margin-top:24px;font-size:clamp(38px,4.5vw,68px)}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:78px;padding-block:20px;font-size:15px;font-weight:650;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font-size:25px;font-weight:400;flex-shrink:0}details[open] summary span{transform:rotate(45deg)}.faq details>p{font-size:14px;color:var(--muted);padding:0 30px 24px 0}
.closing{position:relative;isolation:isolate;overflow:hidden;background:var(--lime);padding-block:95px;display:flex;justify-content:space-between;align-items:center;gap:40px}.closing h2{font-size:clamp(54px,7vw,105px);margin-top:24px}.closing-actions{display:flex;flex-direction:column;gap:18px;max-width:390px}.closing .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.closing .button:hover{background:#343e2e}.footer{background:var(--ink);color:var(--paper);padding-top:65px;padding-bottom:30px}.footer-signature{font-size:clamp(70px,18vw,290px);font-weight:750;line-height:1;letter-spacing:-.075em;border-bottom:1px solid #ffffff30;padding-bottom:40px;margin-bottom:50px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:40px}.footer-top{align-items:start;padding-bottom:45px}.footer .wordmark{font-size:28px}.footer .wordmark-caption{font-size:9px;letter-spacing:.15em}.footer .small{color:#bec6b9;font-size:11px}.disabled-giving{padding:10px 0;margin-top:10px;border:0;border-bottom:1px solid #65725e;color:#c9cebf;background:none;text-align:left;font-size:12px;min-height:44px}.footer-bottom{border-top:1px solid #ffffff30;padding-top:22px;font-size:11px;color:#bec6b9}.footer-bottom p{max-width:70ch}.footer-bottom a{min-height:44px}.footer #giving .eyebrow{font-size:11px}.media-source{max-width:100ch;margin-top:15px}.media-source a{text-decoration:underline;text-underline-offset:3px}
.dialog-open{overflow:hidden}dialog{width:calc(100% - 32px);max-width:660px;max-height:calc(100dvh - 32px);padding:28px 38px 38px;border:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#10180fe8}.dialog-disclosure{font-size:10px;color:var(--muted);padding-right:36px;margin-bottom:30px}.close-dialog{position:absolute;right:12px;top:12px;min-width:44px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:28px;line-height:1}.close-dialog:focus-visible{outline-offset:2px}dialog h2{font-size:clamp(33px,5vw,50px);margin:16px 0 24px}dialog>p:not(.eyebrow){font-size:15px;margin-bottom:18px}dialog .button{margin-top:10px}fieldset{border:0;padding:0;margin:24px 0}legend{font-weight:750;font-size:14px;margin-bottom:12px}.party-options{display:flex;flex-wrap:wrap;gap:8px}.party-options label{border:1px solid var(--line);padding:12px;font-size:13px;display:flex;gap:8px;align-items:center;cursor:pointer;min-height:44px}.party-options label:has(:checked){border-color:var(--ink);background:var(--lime)}input{accent-color:#435720;flex-shrink:0;width:17px;height:17px}.preference{display:flex;gap:10px;align-items:center;font-size:14px;min-height:44px;cursor:pointer}.checklist{border-top:1px solid var(--line);padding-top:23px}.checklist h3{font-size:22px;line-height:1.3;letter-spacing:-.035em}.checklist .small{margin-top:8px}.checklist ul{padding-left:20px;font-size:14px}.checklist li{margin-bottom:12px;overflow-wrap:anywhere}
.about>*,.community-grid>*,.visit>*,.message-feature>*,.questions>*,.second-reflection>*,.hero-bottom>*,.closing>*,.hero-invitation>*{min-width:0}
@media(min-width:1700px){.wrap{padding-inline:max(var(--gutter),calc((100vw - 1550px)/2))}}
@media(max-width:1050px){.header nav{gap:20px}.header{gap:20px}.about{grid-template-columns:1fr;gap:30px}.section-label{display:flex;justify-content:space-between;gap:25px}.section-label .small{margin:0}.about h2{font-size:6.6vw}.community img{height:650px}.community-grid{gap:6%}.ministry-list h3{font-size:29px}.visit{gap:7%}.message-art{padding:28px}.questions{gap:6%}.sunday-copy{padding:45px}.sunday-scene{min-height:600px}}
@media(max-width:760px){.demo-bar{font-size:9px;gap:12px}.demo-bar>span{max-width:180px}.header{flex-wrap:wrap;padding-block:22px;gap:20px}.wordmark{font-size:28px}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:10px}.header nav{width:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);padding:10px 18px;font-size:14px}.header nav a{min-height:48px;border-bottom:1px solid #ffffff30}.header nav[data-enhanced=true]:not(.is-open){display:none}.nav-visit{justify-content:space-between}.opening{min-height:calc(100svh - 45px)}.hero{padding-top:140px;padding-bottom:28px}.hero h1{font-size:clamp(38px,9.3vw,71px);line-height:1.1}.hero-kicker{font-size:9px;max-width:30ch;margin-bottom:22px}.hero-photo,.hero-film{object-position:55% center}.hero-bottom{margin-top:32px;gap:18px;flex-wrap:wrap}.hero-invitation{gap:22px;flex-wrap:wrap}.hero-intro{font-size:14px}.film-controls{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.film-credit{font-size:9px}.film-toggle{font-size:11px;padding:9px 16px}.button{font-size:12px;padding:15px 20px;gap:22px}.concept-note{gap:18px;padding-block:14px;font-size:9px}.concept-note p{max-width:20ch}.concept-note a{gap:18px}.section-label{display:block}.section-label .small{margin-top:12px}.about{gap:30px}.about h2{font-size:clamp(32px,7.1vw,52px);line-height:1.12}.story-bottom{gap:20px;grid-template-columns:1fr;margin:28px 0 20px;font-size:14px}.sunday-scene{margin-inline:12px;min-height:570px}.sunday-copy{padding:30px 22px}.sunday-copy h2{font-size:clamp(39px,9vw,68px);margin:22px 0 32px}.sunday-copy .eyebrow{font-size:9px}.sunday-bottom p{font-size:13px}.round-link{width:54px;height:54px;font-size:26px}.community-top{display:block;margin-bottom:30px}.community-top h2{width:auto;margin-top:25px;font-size:clamp(39px,8.5vw,64px)}.community-grid{grid-template-columns:1fr;gap:32px}.community figure{padding-top:0}.community img{height:auto;aspect-ratio:1;object-position:center}.community figcaption{font-size:18px;padding-block:16px}.ministry-list article{padding-block:24px}.ministry-list h3{font-size:30px}.visit{grid-template-columns:1fr;gap:50px}.visit h2{font-size:clamp(50px,10vw,76px)}.service-time h3{font-size:37px}.section-top{align-items:start;flex-direction:column;gap:24px}.section-top h2{font-size:52px}.message-feature{grid-template-columns:1fr;gap:32px}.message-art{min-height:450px;padding:28px}.message-art-title{font-size:clamp(57px,14vw,100px)}.message-copy h3{font-size:43px;margin-block:20px}.message-copy>p:not(.eyebrow){font-size:15px}.second-reflection{grid-template-columns:1fr;gap:4px;margin-top:34px}.second-reflection>.eyebrow{font-size:10px}.second-reflection summary{font-size:24px}.questions{grid-template-columns:1fr;gap:36px}.questions h2{font-size:45px}.faq summary{font-size:14px;gap:16px}.closing{flex-direction:column;align-items:stretch;padding-block:64px;gap:32px}.closing h2{font-size:clamp(50px,10vw,80px)}.closing-actions{max-width:none;align-items:start}.footer-top,.footer-bottom{flex-direction:column;gap:30px}.footer-signature{font-size:17.5vw;padding-bottom:28px;margin-bottom:35px}.footer-bottom{gap:12px}.footer-bottom a{display:flex;align-items:center;gap:20px}.footer-top{padding-bottom:32px}dialog{padding:25px 23px 30px}dialog h2{font-size:36px}.party-options{flex-direction:column}.party-options label{width:100%}.dialog-disclosure{max-width:32ch}}
@media(max-width:360px){.hero{padding-top:110px}.hero h1{font-size:9.2vw}.demo-bar{font-size:9px}.demo-bar>span{max-width:145px}.about h2{font-size:29px}.message-art{padding:22px}.message-art-title{font-size:57px}.service-time h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
