:root{--navy:#071b35;--blue:#103d72;--red:#9e1b32;--gold:#d6aa55;--cream:#f4f0e6;--paper:#fcfaf5;--ink:#0b1a2c;--line:rgba(7,27,53,.16);--sans:"DM Sans",sans-serif;--serif:"Libre Caslon Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:1000;transform:translateY(-150%);background:#fff;padding:.7rem 1rem}.skip-link:focus{transform:none}.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}
.site-header{height:88px;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;line-height:1.05}.brand-emblem{width:68px;height:68px;object-fit:contain;mix-blend-mode:multiply;filter:saturate(.96) contrast(1.03)}.brand strong{font-family:var(--serif);font-size:1.08rem;font-weight:400}.brand small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;margin-top:.3rem;color:#5b6571}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav a{text-decoration:none;font-size:.86rem;font-weight:600}.site-nav a:not(.nav-contact):hover{text-decoration:underline;text-underline-offset:.35rem}.nav-contact{border:1px solid var(--navy);padding:.65rem 1rem}.nav-contact:hover{background:var(--navy);color:#fff}.menu-toggle{display:none;background:none;border:0;padding:.6rem}.menu-toggle i{display:block;width:24px;height:2px;background:var(--navy);margin:5px}
.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:55% 45%;background:var(--navy)}.hero-photo{background:linear-gradient(90deg,rgba(7,27,53,.05),rgba(7,27,53,.28)),url("parish-sanctuary.jpg") center/cover no-repeat;min-height:560px}.hero-panel{color:#fff;padding:clamp(3.5rem,7vw,8rem) clamp(1.6rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center;position:relative}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.73rem;font-weight:700}.eyebrow{color:#e8c985}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.98;margin:.8rem 0 1.7rem}.hero h1{font-size:clamp(3.2rem,6vw,6.4rem);letter-spacing:-.035em}.hero h1 em{color:#e5c270;font-style:italic}.hero-copy{max-width:35rem;font-size:clamp(1.05rem,1.5vw,1.28rem);color:#d4dce6;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:1.6rem}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:.92rem 1.35rem;font-weight:700;font-size:.9rem;transition:.2s ease}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#bd2541}.text-link{color:#fff;text-decoration:none;font-weight:600}.text-link:hover{text-decoration:underline;text-underline-offset:.35rem}.council-note{position:absolute;right:clamp(1.6rem,4vw,4rem);bottom:1.6rem;color:#9aacbf;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.council-note strong{color:#fff}
.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem)}.section-kicker{display:flex;gap:.8rem;align-items:center;color:#606b76}.section-kicker span{color:var(--red)}.section-kicker.light{color:#bfc9d4}.section-kicker.light span{color:#e8c985}.intro{display:grid;grid-template-columns:.6fr 1.25fr .85fr;gap:clamp(2rem,5vw,6rem);align-items:start}.intro h2,.community h2{font-size:clamp(3rem,5vw,5.5rem)}.intro-copy .lead{font-size:1.3rem;line-height:1.55;margin-top:0}.intro-copy>p:last-child{color:#58636e;max-width:41rem}.parish-card{margin:0;background:var(--cream);border-top:4px solid var(--red)}.parish-card img{width:100%;height:240px;object-fit:cover;object-position:center 42%;background:#dce7ef}.parish-card div{padding:1.6rem}.parish-card p{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#747b82}.parish-card address{font-style:normal;font-family:var(--serif);font-size:1.3rem;line-height:1.35}.parish-card a{display:inline-block;margin-top:1rem;font-size:.83rem;font-weight:700}
.principles{background:var(--navy);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem)}.section-heading h2{font-size:clamp(3.5rem,6vw,6.5rem)}.principle-list article{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;padding:1.8rem 0;border-top:1px solid rgba(255,255,255,.18)}.principle-list article>span{color:var(--gold);font-size:.75rem;font-weight:700}.principle-list h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0 0 .3rem}.principle-list p{margin:0;color:#bfc9d4;max-width:38rem}
.community{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,7vw,8rem);align-items:center}.community-photo{margin:0;position:relative}.community-photo:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}.community-photo img{aspect-ratio:4/3;object-fit:cover}.community-copy blockquote{font-family:var(--serif);font-size:clamp(2.3rem,4vw,4.6rem);line-height:1.05;margin:1.5rem 0 2rem}.community-copy>p{color:#5a6571;max-width:34rem}
.join{background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}.join h2{font-size:clamp(3.8rem,7vw,7.5rem);margin-bottom:0}.join-copy{max-width:34rem;justify-self:end}.join-copy p{font-size:1.18rem;color:#f1dce0}.button-light{background:#fff;color:var(--red);margin-top:1rem}.button-light:hover{background:var(--cream)}
.contact{display:grid;grid-template-columns:.65fr 1.1fr .75fr;gap:clamp(2rem,6vw,7rem);align-items:start}.contact h2{font-size:clamp(3.2rem,5vw,5.5rem);margin:.25rem 0}.contact-label{margin:0;color:#6b737c;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700}.contact-email{font-size:clamp(1rem,1.6vw,1.25rem);text-underline-offset:.25rem}.contact-details strong{font-family:var(--serif);font-size:1.3rem;font-weight:400}.contact-details a{display:block;margin-top:.8rem;font-weight:700;font-size:.9rem}
footer{background:#041226;color:#a9b5c3;padding:1.5rem clamp(1.25rem,6vw,7rem);display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.11em}footer p{margin:0}
@media(max-width:900px){.site-header{height:74px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:1rem 1.25rem 1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav a{padding:.45rem}.nav-contact{text-align:center}.hero{grid-template-columns:1fr;min-height:auto}.hero-photo{min-height:48vh;order:2}.hero-panel{min-height:520px;order:1}.intro,.principles,.community,.join,.contact{grid-template-columns:1fr}.intro{gap:2.5rem}.principles{gap:2rem}.community-photo{max-width:700px}.join-copy{justify-self:start}.contact{gap:2.5rem}.contact-main{padding-bottom:2rem;border-bottom:1px solid var(--line)}}
@media(max-width:560px){.brand-emblem{width:52px;height:52px}.brand{gap:.45rem}.brand strong{font-size:.96rem}.brand small{font-size:.58rem}.hero-panel{min-height:500px}.hero h1{font-size:3.5rem}.hero-actions{align-items:flex-start;flex-direction:column}.council-note{position:static;margin-top:3rem}.section{padding-top:4.5rem;padding-bottom:4.5rem}.community-photo:after{display:none}.join h2{font-size:3.6rem}.contact-email{word-break:break-word}footer{flex-direction:column}.parish-card{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
