:root{--green:#3a4a22;--green2:#2b3919;--sage:#c3cf9a;--mist:#eef1e0;--cream:#fbfaf4;--fg:#2c3322;--line:#dfe4cc}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:18px/1.7 Georgia,'Iowan Old Style',serif;background:var(--cream);color:var(--fg)}
a{color:var(--green)}img,embed{max-width:100%;height:auto}
header{display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center;justify-content:space-between;padding:10px 5vw;background:#fff;border-bottom:3px solid var(--sage);position:sticky;top:0;z-index:5}
.brand img{height:58px;width:auto;display:block}
nav{display:flex;flex-wrap:wrap;gap:4px 22px;font:600 13px/1 system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
nav a{color:var(--green);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}nav a:hover{border-color:var(--sage)}
main,.wrap{max-width:1000px;margin:0 auto;padding:40px 5vw}article{max-width:720px}
h1,h2,h3{font-weight:normal;color:var(--green);line-height:1.25}
article h1,main>h1{font-size:2.3em;margin:0 0 .6em;padding-bottom:.35em;border-bottom:3px solid var(--sage);display:inline-block}
h2{font-size:1.7em;margin-top:1.8em}h3{font-size:1.25em}
.hero{min-height:68vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 6vw;color:#fff;background:var(--green2) center/cover no-repeat}
.hero h1{color:#fff;font-size:clamp(2.2em,6vw,3.9em);margin:.1em 0 .25em;letter-spacing:.01em}
.hero .tag{font-style:italic;font-size:1.25em;max-width:640px;margin:0 auto 1.6em;opacity:.95}
.eyebrow{font:600 13px system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);margin:0}
.btn{display:inline-block;background:var(--sage);color:var(--green2);padding:12px 28px;border-radius:40px;text-decoration:none;font:600 14px system-ui,sans-serif;letter-spacing:.04em;margin:4px}
.btn:hover{background:#fff}.btn.ghost{background:transparent;color:#fff;border:2px solid var(--sage)}.btn.ghost:hover{background:rgba(255,255,255,.15)}
.band{background:var(--mist);text-align:center;border-bottom:1px solid var(--line)}
.leaf{height:30px;margin-bottom:6px}.leaf svg,footer .leaf svg{height:30px;width:30px;fill:var(--sage);stroke:var(--green);stroke-width:1}
.welcome{font-size:1.45em;font-style:italic;color:var(--green);max-width:760px;margin:0 auto 1.4em}
.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;text-align:left}
.svc{background:#fff;border-radius:14px;padding:22px 26px;border-top:4px solid var(--sage);box-shadow:0 2px 14px rgba(58,74,34,.10)}
.svc h3{margin:.1em 0 .2em}.svc .time{font-weight:bold;margin:0}.svc p{margin:.2em 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.card{background:#fff;border-radius:14px;padding:14px;text-decoration:none;color:inherit;display:block;box-shadow:0 2px 12px rgba(58,74,34,.10);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(58,74,34,.18)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.card h3{margin:.4em 0 .2em}.card p{font-size:.88em;margin:0;color:#555}
small{color:#7b8467;font:13px system-ui,sans-serif;letter-spacing:.04em}
article p img{max-width:48%;height:auto;margin:4px;vertical-align:top;border-radius:10px}
.pdf{width:100%;height:1210px;border:1px solid var(--line);border-radius:8px}
main.wide{max-width:1240px}article.wide{max-width:none}

footer{text-align:center;padding:36px 5vw;background:var(--mist);color:var(--green);border-top:3px solid var(--sage);font:14px/1.7 system-ui,sans-serif;margin-top:40px}
footer .leaf{margin-bottom:10px}
@media(max-width:640px){body{font-size:17px}.brand img{height:46px}article p img{max-width:100%}}

.hero h1,.hero .tag,.eyebrow{text-shadow:0 2px 16px rgba(0,0,0,.5)}

h2.center{text-align:center;margin-top:.2em}.wrap>.leaf{text-align:center}
.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wall img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;cursor:zoom-in;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 12px rgba(58,74,34,.12)}
.wall img:hover{transform:scale(1.02);box-shadow:0 8px 22px rgba(58,74,34,.22)}
#lb{border:0;padding:0;background:transparent;max-width:92vw}#lb img{display:block;max-width:92vw;max-height:88vh;border-radius:10px;cursor:zoom-out}
#lb::backdrop{background:rgba(20,28,12,.88)}
@media(max-width:640px){.wall{grid-template-columns:repeat(2,1fr);gap:8px}}

.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--w,210px),100%),1fr));gap:10px;margin-top:1.6em}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;cursor:zoom-in;transition:transform .2s}
.photos img:hover{transform:scale(1.02)}

.sec{margin:2.2em 0}.sec h2{margin-top:0}
.photos.one{display:block}.photos.one img{width:var(--w,auto);max-width:100%;max-height:380px;aspect-ratio:auto;object-fit:contain}
.photos.one[style] img{max-height:none}
.sec.right{display:flex;gap:28px;align-items:flex-start}.sec.right .sec-text{flex:1;min-width:0}
.sec.right .photos{display:block;flex:0 0 min(var(--w,260px),42%);margin-top:.4em}
.sec.right .photos img{width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;margin-bottom:10px}
@media(max-width:640px){.sec.right{display:block}.sec.right .photos{max-width:100%;margin-top:1em}}
.sec.right h2{font-size:1.45em}
article>small{display:block;margin-bottom:.5em}
body.nosticky header{position:static}
@media(max-width:640px){.pdf{height:75vh}}
.btn.outline{background:transparent;color:var(--green);border:2px solid var(--sage);padding:10px 26px}.btn.outline:hover{background:var(--mist)}
article.has-cover{max-width:980px}
.cover-col{display:flex;flex-direction:row-reverse;gap:34px;align-items:flex-start}
.cover-col>.photos{flex:0 0 min(var(--w,260px),42%);margin:.3em 0 0}
.cover-col>.photos img{width:100%;max-height:none}
.coltext{flex:1;min-width:0}
@media(max-width:700px){.cover-col{display:block}.cover-col>.photos{width:100%;margin:0 0 16px}}
article small a{color:inherit;text-decoration:underline;text-decoration-color:var(--sage)}
.postnav{display:flex;justify-content:space-between;gap:20px;margin:3em 0 0;padding-top:1.4em;border-top:1px solid var(--line);font:15px/1.4 system-ui,sans-serif;text-transform:none;letter-spacing:normal}
.postnav a{display:block;max-width:48%;text-decoration:none;color:var(--green)}.postnav a:hover{text-decoration:underline}
.postnav a span{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7b8467;margin-bottom:3px}
.postnav .next{text-align:right;margin-left:auto}
@media(max-width:560px){.postnav{flex-direction:column}.postnav a{max-width:none}.postnav .next{text-align:left;margin-left:0}}
.anglican{display:block;width:fit-content;max-width:80%;margin:0 auto 20px}.anglican img{display:block;height:110px;width:auto;max-width:100%;object-fit:contain}
.viewtoggle{display:flex;gap:8px;margin:0 0 20px}
.viewtoggle button{font:600 13px system-ui,sans-serif;letter-spacing:.05em;padding:7px 18px;border:2px solid var(--sage);background:transparent;color:var(--green);border-radius:30px;cursor:pointer}
.viewtoggle button[aria-pressed="true"]{background:var(--sage)}
.card .ph{display:none}
.grid.list{display:block}
.grid.list .card{display:flex;gap:16px;align-items:center;padding:10px 14px;margin-bottom:10px}
.grid.list .card img{width:96px;height:72px;aspect-ratio:auto;flex:none}
.grid.list .card .ph{display:flex;width:96px;height:72px;flex:none;align-items:center;justify-content:center;background:var(--mist);border-radius:9px;color:var(--green);font:700 13px system-ui,sans-serif;letter-spacing:.08em}
.grid.list .card .ph svg{width:28px;height:28px;fill:var(--sage);stroke:var(--green)}
.grid.list .card .ct{flex:1;min-width:0}.grid.list .card h3{margin:.1em 0}.grid.list .card p{display:none}
@media(max-width:560px){.grid.list .card img,.grid.list .card .ph{width:72px;height:56px}}
.card img.pv{object-position:center top;border:1px solid var(--line)}
.photos[data-orig]{display:flex;flex-wrap:wrap;align-items:flex-start}
.photos[data-orig] img{width:auto;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;flex:none}
.sec.right .photos[data-orig],.cover-col>.photos[data-orig]{display:block;flex:0 1 auto;max-width:42%}
.sec.right .photos[data-orig] img,.cover-col>.photos[data-orig] img{display:block;width:auto;max-width:100%}
@media(max-width:700px){.sec.right .photos[data-orig],.cover-col>.photos[data-orig]{max-width:100%}}
.pin{display:inline-block;margin-right:8px;padding:1px 9px;border-radius:20px;background:var(--sage);color:var(--green2);font:600 11px/1.6 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.alert{display:flex;align-items:flex-start;justify-content:center;gap:14px;padding:12px 5vw;background:#fbe7a1;color:#3d2c00;border-bottom:3px solid #d29a00;font:600 16px/1.5 system-ui,sans-serif}
.alert[hidden]{display:none}
.alert p{flex:1;margin:0;text-align:center}
.alert button{flex:none;background:transparent;border:0;color:inherit;font:400 26px/1 system-ui,sans-serif;padding:0 6px;cursor:pointer}
.hero.slideshow{position:relative;overflow:hidden}
.hero.slideshow>div:last-child{position:relative;z-index:2}
.slides,.shade{position:absolute;inset:0}
.shade{z-index:1;background:linear-gradient(rgba(34,48,22,.18),rgba(34,48,22,.5))}
.slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.8s ease-in-out;will-change:opacity,transform}
.slide.prev{opacity:1;z-index:1}
.slide.on{opacity:1;z-index:2}
.slide.zoom{transform:scale(1.08);transition:opacity 1.8s ease-in-out,transform 10s linear}
@media(prefers-reduced-motion:reduce){.slide.zoom{transform:none}}
