.church { --ink:#273c45; --paper:#f8f7f0; --action:#273c45; --action-ink:#fff; --line:#b9c7ca; }.church h1,.church h2 { font-family:Georgia,serif; font-weight:400; }
.northline-header { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:22px 40px; border-bottom:1px solid var(--line); }.northline-header .business-logo img { width:280px; }.northline-header nav { display:flex; gap:32px; }.northline-header a { display:inline-flex; align-items:center; min-height:44px; gap:14px; text-decoration:none; font-size:13px; }.northline-next { border-bottom:1px solid var(--ink); }
.northline-hero { padding:42px 40px 58px; max-width:1500px; margin:auto; }.northline-welcome { display:grid; grid-template-columns:1.5fr 1fr; gap:20px 60px; align-items:end; }.northline-welcome>.eyebrow { grid-column:1/-1; }.northline-hero h1 { font-size:clamp(3.4rem,6.4vw,6rem); line-height:1.02; letter-spacing:-.05em; }.northline-hero h1 em { font-weight:400; color:#536d78; }.northline-welcome>p:last-child { max-width:420px; font-size:15px; padding-bottom:7px; }
.northline-mosaic { display:grid; grid-template-columns:1.75fr 1fr; gap:22px; margin-top:34px; }.northline-mosaic .hero-image { height:390px; overflow:hidden; border-radius:3px; }.northline-mosaic .hero-image img { object-position:center 55%; }.northline-invitation { background:#c7dce4; padding:30px; display:flex; flex-direction:column; justify-content:center; align-items:start; gap:17px; }.northline-cross { font:40px/.7 Georgia,serif; }.northline-invitation h2 { font-size:33px; letter-spacing:-.04em; }.northline-invitation p { font-size:14px; }.northline-invitation .button { font-size:12px; padding-inline:17px; }
.northline-paths>div:first-child { display:flex; align-items:start; justify-content:space-between; gap:30px; margin-bottom:45px; }.northline-paths>div+div { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }.northline-paths article { border-top:1px solid var(--line); padding-top:22px; }.northline-index { font:italic 25px Georgia,serif; color:#536d78; }.northline-paths h3 { font-size:22px; margin:23px 0 16px; }.northline-paths p { font-size:14px; }.northline-paths .text-link { margin-top:16px; }
.northline-community { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; background:#e6edef; align-items:center; }.northline-community picture { height:540px; overflow:hidden; border-radius:180px 180px 0 0; }.northline-community h2 { margin-top:23px; }.northline-community ol { padding-left:24px; margin:28px 0 0; }.northline-community li { padding:20px 0 20px 12px; border-top:1px solid var(--line); }.northline-community li p { font-size:14px; margin-top:12px; }.northline-area { display:grid; grid-template-columns:1fr 1fr; gap:80px; }.northline-area>div>h2 { margin:20px 0; }.northline-area p { font-size:14px; }.church .estimate { background:#273c45; color:#f8f7f0; }.church .estimate .button { background:#c7dce4; color:#273c45; }
@media(max-width:1000px) { .northline-header { padding-inline:24px; }.northline-header nav { gap:20px; }.northline-next { display:none!important; }.northline-hero { padding-inline:24px; }.northline-welcome { gap:20px 32px; }.northline-mosaic { grid-template-columns:1.5fr 1fr; }.northline-invitation { padding:24px; } }
@media(max-width:760px) { .northline-header { flex-wrap:wrap; justify-content:center; gap:10px; padding:16px 24px; }.northline-header .business-logo img { width:235px; }.northline-header nav { width:100%; justify-content:space-between; }.northline-hero { padding-top:28px; }.northline-welcome { grid-template-columns:1fr; }.northline-hero h1 { font-size:clamp(3rem,11vw,4.8rem); }.northline-mosaic { grid-template-columns:1fr; gap:18px; margin-top:24px; }.northline-mosaic .hero-image { height:280px; }.northline-invitation { gap:14px; padding:28px; }.northline-cross { display:none; }.northline-invitation h2 { font-size:30px; }.northline-paths>div:first-child { display:block; margin-bottom:30px; }.northline-paths>div:first-child h2 { margin-top:20px; }.northline-paths>div+div,.northline-community,.northline-area { grid-template-columns:1fr; gap:32px; }.northline-community picture { height:330px; } }
@media(max-width:760px) { .northline-invitation { grid-row:1; padding:0; background:transparent; }.northline-invitation>h2,.northline-invitation>p { display:none; }.northline-mosaic .hero-image { grid-row:2; } }
