/* Original Wellington composition, written after its photo-first direction record. */
:root{--ink:#382a27;--brown:#693d32;--rose:#8a4940;--peach:#f5d7c9;--paper:#ffffff;--soft:#faf4ef;--line:#d9c9c0;--muted:#655750;--gutter:clamp(1.25rem,4.5vw,4rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;overflow-wrap:break-word}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid #9c3408;outline-offset:5px}
main:focus{outline:0}
img{display:block;width:100%;height:auto}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2{font-weight:700;letter-spacing:-.055em;line-height:1.06;overflow-wrap:anywhere}
h3{font-size:1.1rem;letter-spacing:-.025em;line-height:1.3}
p+p{margin-top:1rem}
.wrap{width:min(1280px,calc(100% - var(--gutter)*2));margin-inline:auto}
.skip{position:fixed;z-index:10;top:-9rem;left:1rem;background:white;color:var(--ink);padding:.8rem 1rem;font-weight:700}
.skip:focus{top:1rem}
.preview-line{font-size:.75rem;line-height:1.5;text-align:center;background:#f2eeeb;padding:.5rem 1.25rem;color:#55453e}
.preview-line a{margin-left:.45rem}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem 3rem;padding-block:1.6rem}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.15;min-width:0}
.brand strong{font-size:1.7rem;letter-spacing:-.06em}
.brand span{font-size:.84rem;margin-top:.18rem}
nav{display:flex;flex-wrap:wrap;gap:.2rem 1.75rem;font-weight:700;font-size:.85rem}
nav a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none;max-width:100%;min-width:0}
nav a:hover{text-decoration:underline}
.welcome{background:var(--peach)}
.welcome-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.55fr);grid-template-areas:'invitation portrait' 'sunday portrait';gap:2rem clamp(2rem,5vw,4.5rem);padding-block:clamp(2.6rem,5vw,5rem);align-items:center}
.invitation{grid-area:invitation;align-self:end;min-width:0}
.place{font-size:.85rem;margin-bottom:1.35rem;color:var(--brown)}
h1{font-size:clamp(2.7rem,4.4vw,4.15rem);color:var(--ink)}
.welcome-copy{font-size:1.05rem;line-height:1.55;margin-top:1.6rem;max-width:29ch}
.sunday-start{grid-area:sunday;align-self:start;min-width:0}
.morning-times{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;padding-top:1.3rem;border-top:1px solid #ba8a75;margin-bottom:1.5rem}
.morning-times dt{font-size:.76rem;line-height:1.4;margin-bottom:.35rem}
.morning-times dd{font-size:1.9rem;font-weight:700;line-height:1.2;letter-spacing:-.05em;display:flex;flex-wrap:wrap;gap:.15rem .3rem;align-items:baseline;min-width:0}
.morning-times dd span{font-size:.7rem;font-weight:400;letter-spacing:0}
.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;max-width:100%;min-width:0;min-height:48px;background:var(--brown);color:white;font-size:.85rem;font-weight:700;line-height:1.45;text-decoration:none;padding:.8rem 1.1rem;flex-wrap:wrap;overflow-wrap:anywhere}
.primary:hover{background:#4c2a24;text-decoration:underline}
.early-address{font-size:.82rem;line-height:1.6;margin-top:1rem;color:#59423a}
.portrait{grid-area:portrait;align-self:center;min-width:0;width:100%;max-width:850px}
.portrait img{border-radius:4px}
figcaption{font-size:.68rem;line-height:1.5;padding-top:.7rem;color:#60453a;display:flex;justify-content:space-between;gap:.4rem 1.5rem;flex-wrap:wrap}
figcaption a{display:inline-block;max-width:100%}
.faith{padding-block:5rem 3.5rem;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:2rem clamp(2rem,7vw,7rem)}
.section-note{font-size:.8rem;color:var(--rose);margin-bottom:1rem}
.faith h2,.visit h2{font-size:clamp(2rem,3.15vw,2.8rem)}
.faith-heading>p:not(.section-note){font-size:.98rem;max-width:37ch;margin-top:1.5rem}
.plain-link{display:inline-flex;gap:.7rem;align-items:center;min-height:44px;font-size:.85rem;font-weight:700;color:var(--brown);max-width:100%;min-width:0;flex-wrap:wrap}
.faith-heading>.plain-link{margin-top:.65rem}
.directions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.2rem 2.5rem;align-self:start;padding-top:.1rem}
.directions>div{min-width:0}
.directions dt{font-size:1.35rem;font-weight:700;letter-spacing:-.035em;color:var(--brown);line-height:1.2;display:flex;align-items:baseline;gap:.65rem;margin-bottom:.7rem}
.directions dt span{font-size:1.2rem;font-weight:400}
.directions dd{font-size:.93rem;line-height:1.6}
.grace-note{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr) auto;gap:1rem 2rem;align-items:start;border-top:1px solid var(--line);margin-top:1.8rem;padding-top:1.6rem}
.grace-note h3{font-size:1.25rem;color:var(--brown)}
.grace-note p{font-size:.93rem}
.grace-note .plain-link{line-height:1.4;align-self:center}
.visit{border-top:1px solid var(--line);padding-block:3.5rem 3rem;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.visit-copy>p:not(.section-note){max-width:47ch;font-size:.98rem;margin-top:1.5rem}
.children-note{margin-top:2.3rem;padding-left:1.25rem;border-left:4px solid var(--peach);max-width:48ch}
.children-note p{font-size:.95rem;margin-top:.6rem}
.visit-copy .midweek{font-size:.9rem;max-width:48ch}
.midweek strong{display:block}
.visit-copy>.plain-link{margin-top:.6rem}
.contact{background:var(--soft);padding:clamp(1.5rem,3.2vw,3rem);border-top:5px solid #c57d63;min-width:0}
.contact h2{font-size:clamp(1.85rem,2.6vw,2.4rem);margin-bottom:1.6rem}
address{font-style:normal;font-size:.93rem;line-height:1.7;margin-bottom:1.3rem}
address strong{font-size:.95rem}
.office{border-top:1px solid var(--line);padding-top:1.65rem;margin-top:1.9rem}
.office h3{font-size:1rem}
.office p{font-size:.9rem;margin-top:.65rem}
.phone{display:block;width:fit-content;max-width:100%;font-size:1.25rem;font-weight:700;color:var(--brown);margin-top:1.2rem;min-height:36px}
.email{display:block;font-size:.85rem;color:var(--brown);overflow-wrap:anywhere;min-height:36px;line-height:1.7}
.official-link{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.7rem 2rem;font-size:.76rem;color:var(--muted);padding-block:0 2.5rem}
.preview-footer{background:#f1eeeb;border-top:1px solid var(--line);padding-block:2.3rem 2.8rem;color:#5c514c;font-size:.76rem;line-height:1.7}
.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem)}
.preview-footer h2{font-size:.85rem;line-height:1.5;letter-spacing:0;color:var(--ink);margin-bottom:.6rem}
.preview-footer a{display:inline-block;margin-top:.9rem}
@media(max-width:1100px){.welcome-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);column-gap:2rem}h1{font-size:clamp(2.7rem,4.5vw,3.65rem)}.grace-note{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grace-note .plain-link{grid-column:2}.directions{gap:1.8rem 1.5rem}.faith{column-gap:3rem}}
@media(max-width:979px){:root{--gutter:1.25rem}.welcome-grid{grid-template-columns:1fr 1fr;grid-template-areas:'invitation sunday' 'portrait portrait';gap:2rem;padding-block:2.7rem}.invitation{align-self:start}h1{font-size:clamp(2.7rem,5.5vw,3.8rem)}.welcome-copy{max-width:37ch}.sunday-start{padding-top:0}.portrait{width:min(850px,100%);margin-inline:auto}.morning-times{padding-top:0;border-top:0}.faith{grid-template-columns:1fr;gap:2rem;padding-top:3.4rem}.faith-heading>p:not(.section-note){max-width:60ch}.directions{gap:2rem 3rem}.grace-note{margin-top:.5rem}.visit{gap:2rem}}
@media(max-width:600px){.masthead{align-items:flex-start;flex-direction:column;gap:.9rem;padding-block:1.2rem}nav{gap:0 1.35rem;font-size:.8rem}nav a{min-height:40px}.welcome-grid{display:flex;flex-direction:column;align-items:stretch;gap:1.6rem;padding-block:2rem 1.8rem}.place{font-size:.78rem;margin-bottom:1rem}h1{font-size:clamp(2.65rem,11.5vw,3.8rem)}.welcome-copy{font-size:1rem;margin-top:1.15rem;max-width:38ch}.morning-times{border-top:1px solid #ba8a75;padding-top:1rem;margin-bottom:1rem;gap:1rem}.morning-times dd{font-size:1.8rem}.early-address{margin-top:.8rem}.portrait{margin-top:.15rem}figcaption{font-size:.68rem}.faith{padding-block:2.8rem 2.5rem}.faith h2,.visit h2{font-size:2.15rem}.faith-heading>p:not(.section-note){margin-top:1.15rem}.directions{gap:1.8rem 1.25rem}.directions dt{font-size:1.2rem;gap:.4rem;flex-wrap:wrap}.directions dd{font-size:.88rem}.grace-note{display:block;margin-top:.3rem;padding-top:1.5rem}.grace-note p{margin-top:.7rem}.grace-note .plain-link{margin-top:.3rem}.visit{display:block;padding-block:2.5rem 2rem}.children-note{margin-top:1.7rem}.contact{margin-top:2rem;padding:1.5rem}.contact h2{font-size:1.95rem}.official-link{display:block;font-size:.73rem;padding-bottom:2rem}.official-link a{display:inline-block;margin-top:.6rem}.footer-grid{display:block}.footer-grid>div+div{margin-top:1.8rem}.preview-footer{padding-block:2rem 2.5rem}}
@media(max-width:360px){.directions{grid-template-columns:1fr}.directions dt{margin-bottom:.4rem}.directions dd{max-width:34ch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
