@font-face{font-family:Georgia;src:local(Georgia);font-display:swap}
:root{--green:#123b38;--deep:#0c2927;--gold:#cf9851;--text:#202e2c;--muted:#57635f;--line:#d9dfda;--paper:#f7f7f2;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--paper);font-synthesis:none;line-height:1.6;font-size:18px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.24em}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.38;cursor:default}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #b66b15;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.15;font-weight:400}button{min-height:48px;border:1px solid var(--line);background:white;color:var(--green);border-radius:7px;padding:.45rem .8rem}[hidden]{display:none!important}.skip{position:fixed;left:1rem;top:-100px;z-index:20;background:white;padding:1rem}.skip:focus{top:1rem}.site-header{max-width:1320px;margin:auto;padding:1.1rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:96px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}.brand-name{font-family:Georgia,serif;font-size:1.55rem}.brand-place{font-size:.65rem;letter-spacing:.17em;margin-top:.5rem}.languages{display:flex;gap:.25rem;flex-wrap:wrap}.languages a{padding:.6rem .65rem;font-size:.85rem;text-decoration:none;min-height:44px;display:flex;align-items:center;border-radius:5px}.languages a[aria-current]{color:white;background:var(--green)}
.hero{background:var(--green);color:white;display:grid;grid-template-columns:1.12fr 1fr;gap:3rem;align-items:center;padding:3.5rem max(2.5rem,calc((100vw - 1230px)/2));overflow:hidden}.eyebrow{font-size:.72rem;letter-spacing:.13em;font-weight:700;margin-bottom:1.3rem}.hero .eyebrow{color:#e3b479}.hero h1{font-size:clamp(2.8rem,4.8vw,4.5rem);max-width:650px;margin-bottom:1.4rem;letter-spacing:-.025em}.intro{font-size:1.08rem;line-height:1.7;max-width:630px;color:#e2eae6;margin-bottom:1.7rem}.hero-actions{display:flex;align-items:center;gap:1.7rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:58px;padding:.8rem 1.4rem;text-decoration:none;border-radius:5px;font-weight:700}.primary{background:#f5ead3;color:#123b38}.primary:hover{background:white}.download-link{font-size:.95rem;display:inline-flex;gap:.65rem;align-items:center;min-height:48px}.free{color:#c6d7cd;font-size:.8rem;margin:1.1rem 0 0}.book-display{padding:0;max-width:560px;width:100%;justify-self:center}.book-art{aspect-ratio:1.05;mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 92%,transparent)}.book-display img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent)}.book-caption{display:block;text-align:right;font-size:.63rem;letter-spacing:.13em;color:#b7cbc3;margin-top:1.6rem}.section{max-width:1230px;margin:auto;padding:4rem 2.5rem}.section .eyebrow{color:#746343}.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem}.about-grid h2{font-size:2.3rem;margin-bottom:1.2rem}.about-grid p{color:var(--muted);line-height:1.8}.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem}.topics article{border-top:1px solid #aebbb1;padding-top:1.2rem;display:flex;flex-direction:column;align-items:flex-start}.topic-no{color:#7e642e;font-size:.8rem;font-weight:700;margin-bottom:1.2rem}.topics h3{font-size:1.55rem;margin-bottom:1rem}.topics p{font-size:.95rem;color:var(--muted)}.topics a{font-size:.85rem;margin-top:auto;min-height:48px;display:flex;align-items:center;gap:.75rem;font-weight:700;color:var(--green)}.support{border-top:1px solid var(--line);padding-top:2rem;padding-bottom:2rem}.support>p{font-size:.9rem;color:var(--muted)}.supporters{display:flex;align-items:center;gap:4rem;flex-wrap:wrap;padding:.5rem 0}.supporters img{display:block;object-fit:contain;background:transparent;max-width:100%;height:auto}.supporters .municipality-logo{width:280px}.supporters .community-logo{width:190px}.footer{background:var(--deep);color:#d8e7df;display:flex;justify-content:space-between;gap:1rem;padding:1.5rem max(2.5rem,calc((100vw - 1140px)/2));font-size:.8rem}.footer a{min-height:44px;display:flex;align-items:center}.footer>span{display:flex;align-items:center}
#reader{max-width:1100px;margin:0 auto;padding:0 1rem 6rem}.reading .site-header{border-bottom:1px solid var(--line)}.reader-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;font-size:.88rem}.reader-heading a{min-height:44px;display:flex;align-items:center}.reader-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.chapter-select{display:flex;flex-direction:column;font-size:.8rem;gap:.2rem;flex:1;max-width:500px}.chapter-select select{width:100%;min-height:48px;padding:.4rem .6rem;background:white;border:1px solid var(--line);border-radius:7px;font-size:.92rem;color:var(--text)}.zoom-controls{display:flex;gap:.35rem;flex-wrap:wrap}.zoom-controls button{font-size:.82rem}.zoom-controls #zoom-in,.zoom-controls #zoom-out{font-size:1.2rem;min-width:48px}.zoom-controls #large{background:var(--green);color:white}.reader-preferences{margin-top:.8rem;font-size:.85rem}.reader-preferences label{display:flex;gap:.6rem;align-items:center;min-height:44px}.reader-preferences input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}.reader-hint{font-size:.8rem;color:var(--muted);margin:.2rem 0 .5rem}.page-status{font-size:.8rem;margin:.5rem 0;color:var(--muted);min-height:1.5rem}.error{padding:1rem;background:#ffebdf;color:#6b2215;border:1px solid #dbb5a0}.error p{margin:0 0 .6rem}#canvas-viewport{width:100%;overflow:auto;background:#dee2dd;min-height:160px;border:1px solid #d1d9d0;touch-action:pan-x pan-y;overscroll-behavior-x:contain}#canvas-wrap{position:relative;background:white;margin:0 auto;line-height:0;width:100%;min-height:150px}#pdf-canvas{display:block;max-width:none}.textLayer{position:absolute;inset:0;text-align:initial;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size))}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.textLayer>span,.textLayer .markedContent span{z-index:1;--scale-x:1;--rotate:0deg;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer ::selection{background:#408bc266;color:transparent}.page-navigation{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1100px,100%);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));background:#f7f7f2f5;border-top:1px solid var(--line);box-shadow:0 -4px 16px #123b3810}.page-navigation>button{background:var(--green);color:white;min-width:145px}.page-jump{display:flex;flex-direction:column;align-items:center;line-height:1.2;gap:.15rem;font-size:.7rem}.page-jump>span:last-child{display:flex;align-items:center;gap:.25rem}.page-jump input{border:1px solid #bac8bc;border-radius:4px;background:white;text-align:center;color:var(--green);width:3.6rem;min-height:44px;font-size:1rem;appearance:textfield}.page-jump input::-webkit-inner-spin-button{display:none}#total{font-size:.8rem}.noscript{padding:1rem;background:white}
@media(min-width:800px){.reading .site-header{max-width:1100px;padding-left:1rem;padding-right:1rem}.reading .brand-place{display:none}.reading .site-header{min-height:80px}}
@media(max-width:760px){:root{font-size:18px}.site-header{padding:1rem;align-items:flex-start;flex-wrap:wrap;gap:.75rem}.brand-name{font-size:1.4rem}.brand-place{font-size:.6rem}.languages{gap:0;margin-left:auto}.languages a{font-size:.78rem;padding:.45rem .5rem}.hero{grid-template-columns:1fr;padding:2rem 1.2rem 2.4rem;gap:2.5rem}.hero h1{font-size:2.8rem;max-width:560px}.hero .eyebrow{font-size:.65rem}.intro{font-size:1rem;line-height:1.65}.hero-actions{gap:1rem}.button{padding:.8rem 1.1rem;gap:1.7rem}.download-link{font-size:.88rem}.free{font-size:.72rem}.book-display{max-width:380px;padding:0}.book-caption{font-size:.6rem}.section{padding:2.7rem 1.2rem}.about-grid{grid-template-columns:1fr;gap:.1rem}.about-grid h2{font-size:2rem}.topics{grid-template-columns:1fr;gap:1.8rem;margin-top:1.5rem}.topics article{display:grid;grid-template-columns:2rem 1fr;column-gap:.7rem}.topics article .topic-no{grid-column:1;grid-row:1;padding-top:.15rem}.topics article h3,.topics article p,.topics article a{grid-column:2}.topics article h3{font-size:1.5rem}.topics article p{margin-bottom:.3rem}.supporters{gap:2.2rem;flex-direction:column;align-items:flex-start}.supporters .municipality-logo{width:260px}.supporters .community-logo{width:190px}.footer{padding:1rem 1.2rem;flex-direction:column;gap:0}.reading .brand-place{display:none}.reading .brand-name{font-size:1.2rem}.reading .site-header{padding:.55rem .75rem;align-items:center;gap:.3rem;min-height:65px}.reading .languages a{font-size:.7rem;padding:.4rem}.reader-heading{padding:.35rem 0;font-size:.83rem}.reader-controls{gap:.65rem}.chapter-select{min-width:100%;max-width:none}.zoom-controls{width:100%;justify-content:space-between;gap:.25rem}.zoom-controls button{padding:.4rem .5rem;font-size:.8rem}.zoom-controls #zoom-in,.zoom-controls #zoom-out{min-width:44px}#reader{padding:0 .6rem 7rem}.reader-preferences,.reader-hint{font-size:.8rem}.reader-preferences{margin-top:.4rem}.page-navigation{padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));gap:.3rem}.page-navigation>button{min-width:0;flex:1;padding:.55rem .4rem;font-size:.85rem}.page-jump{min-width:104px}.reader-hint{line-height:1.5}.page-navigation .page-jump{max-width:130px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s}}

/* Chapter photography and support for the printed edition. */
.hero-support{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;margin-top:1rem;color:#f0c28a;font-size:.93rem;font-weight:700}
.topics{gap:1.6rem}.topics article{display:flex;padding:0;border-top:0;background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;align-items:stretch}.topics .topic-image{display:block;min-height:0;margin:0;padding:0}.topic-image img{display:block;width:100%;height:auto;aspect-ratio:1.52;object-fit:cover}.topics .topic-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:1.3rem}.topic-body .topic-no{display:block;margin-bottom:.65rem}.topics .topic-body a{margin-top:auto}.topics h3{font-size:1.5rem}.topics article:hover{border-color:#9fac9c}.topics .topic-image:focus-visible{outline-offset:-4px}
.book-support{background:var(--green);color:white;scroll-margin-top:1rem}.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.book-support .eyebrow{color:#e3b479}.donation h2{font-size:2.6rem;max-width:520px}.donation>p{color:#e2eae6;line-height:1.8}.donation-contact{margin-top:2rem;border-top:1px solid #56726b;padding-top:1.5rem}.donation-contact p{font-size:.96rem;color:#e2eae6}.donation-contact .button{font-size:.88rem;gap:1rem}.contact{background:#fff;color:var(--text);border-radius:8px;padding:1.8rem;scroll-margin-top:1rem}.contact h2{font-size:1.9rem;margin-bottom:.8rem}.contact>p{font-size:.94rem;color:var(--muted)}.contact form{display:grid;gap:.85rem;margin-top:1.3rem}.contact form>label{display:grid;gap:.3rem;font-size:.86rem;font-weight:700}.contact input,.contact select,.contact textarea{width:100%;min-width:0;border:1px solid #aebdb5;border-radius:5px;padding:.65rem;font-size:1rem;font-weight:400;background:white;color:var(--text)}.contact textarea{resize:vertical;min-height:140px}.contact form>button{background:var(--green);color:white;justify-self:start;display:flex;gap:1rem;align-items:center;min-height:52px;padding:.6rem 1.1rem;font-size:.93rem}.contact #contact-status{font-size:.86rem;line-height:1.6;margin:0}.contact #contact-status:empty{display:none}.contact #contact-status[data-state=error]{color:#8d251a}.contact #contact-status[data-state=success]{color:#24562d}.direct-contact{display:grid;gap:.5rem;margin:1rem 0;overflow-wrap:anywhere}.bank-details{margin-top:1.5rem;padding:1.5rem;background:#ffffff0d;border:1px solid #68827b;border-radius:8px}.bank-details h3{font-size:1.5rem}.bank-details dt{font-size:.8rem;color:#c6d7cd;margin-top:.8rem}.bank-details dd{margin:0;font-size:1rem;overflow-wrap:anywhere;user-select:all}.bank-details dl{margin:0}
@media(max-width:760px){.hero-support{font-size:.88rem;margin-top:.6rem}.topics{gap:1.5rem}.topics article{display:flex}.topics article .topic-no{padding:0}.topics article h3{font-size:1.55rem}.topics .topic-body{padding:1.2rem}.support-layout{grid-template-columns:1fr;gap:2rem;padding:2.8rem 1.2rem}.donation h2{font-size:2.1rem}.contact{padding:1.2rem}.contact h2{font-size:1.8rem}.donation-contact .button{font-size:.85rem;padding:.75rem 1rem}.contact form>button{width:100%;justify-content:space-between}.reader-hint{font-size:.8rem}}

/* The supplied emblem accompanies the existing wordmark. */
.brand{flex-direction:row;align-items:center;gap:.75rem}
.brand-mark{display:block;width:54px;height:auto;flex-shrink:0}
.brand-wordmark{display:flex;flex-direction:column}
.about-intro{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:3.5rem}
.about-mark{display:block;width:100%;height:auto;max-width:260px;justify-self:center}
.about-intro .about-grid{grid-template-columns:1fr;gap:0}
.about-intro .about-grid p{max-width:730px;margin-bottom:0}
.reading .brand-mark{width:36px}
@media(max-width:760px){
 .brand{gap:.6rem}
 .brand-mark{width:46px}
 .about-intro{grid-template-columns:1fr;gap:1.8rem}
 .about-mark{width:200px;max-width:100%}
 .reading .brand{gap:.45rem}
 .reading .brand-mark{width:32px}
}

/* The chapel restoration is the second main purpose of the site. */
.hero-actions{gap:.8rem}
.hero-support.button{margin:0;min-height:58px;border:1px solid #cfb388;padding:.8rem 1.1rem;font-size:.9rem;color:#f5ead3;text-align:center;justify-content:center}
.hero-support.button:hover{background:#ffffff14}
.hero-book-links{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1.3rem;margin-top:1rem}
.hero-book-links .free{margin:0}.hero-book-links .download-link{font-size:.82rem}
.chapel-support{background:var(--green);color:white;scroll-margin-top:1rem}
.chapel-support .eyebrow{color:#e3b479}
.chapel-support h2{font-size:clamp(2.2rem,4vw,3.4rem);max-width:950px;margin-bottom:2.2rem}
.chapel-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:start}
.chapel-photo{margin:0}.chapel-photo img{display:block;width:100%;height:auto;border-radius:5px}
.chapel-photo figcaption{color:#c6d7cd;font-size:.78rem;line-height:1.6;margin-top:.7rem}
.donation>p{font-size:1rem;line-height:1.75;color:#e2eae6}
.donation .support-ask{color:white;font-weight:700}
.bank-details{background:#f5ead3;color:var(--green);padding:1.7rem;margin-top:1.7rem;border:0;border-radius:7px}
.bank-details h3{font-size:1.8rem;margin-bottom:.8rem}
.bank-intro{font-size:.9rem;line-height:1.6;color:#425b51}
.bank-details dt{font-size:.82rem;color:#425b51;margin-top:.9rem}
.bank-details dd{font-size:.97rem;color:var(--green)}
.bank-details .bank-iban{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1rem,2vw,1.25rem);font-weight:700;line-height:1.65;overflow-wrap:normal}
.copy-account{width:100%;min-height:56px;background:var(--green);color:white;border:0;margin-top:1.4rem;font-weight:700;font-size:.94rem;padding:.7rem 1rem}
.copy-account:hover{background:var(--deep)}
.copy-status{font-size:.85rem;margin:.75rem 0 0;color:var(--green)}.copy-status:empty{display:none}
.bank-thanks{font-size:.86rem;margin:1rem 0 0;color:#425b51}
.donation-question{display:inline-flex;align-items:center;min-height:48px;margin-top:.4rem;font-size:.85rem;color:var(--green)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contact-copy h2{font-size:2.3rem}.contact-copy p{color:var(--muted)}
.contact-section{scroll-margin-top:1rem}.contact-section .contact{border:1px solid var(--line)}.contact-section form{margin-top:0}
@media(max-width:760px){
 .hero-support.button{font-size:.88rem}
 .hero-book-links{gap:.3rem .9rem}
 .chapel-support .section{padding:2.8rem 1.2rem}
 .chapel-support h2{font-size:2.2rem;margin-bottom:1.5rem}
 .chapel-layout{grid-template-columns:minmax(0,1fr);gap:2rem}
 .chapel-layout .donation{grid-row:1}
 .chapel-photo{max-width:380px;justify-self:center}
 .bank-details{padding:1.2rem;margin-top:1.4rem}
 .bank-details h3{font-size:1.65rem}
 .contact-layout{grid-template-columns:minmax(0,1fr);gap:1rem}
 .contact-copy h2{font-size:2rem;margin-bottom:.8rem}
}
