@charset "UTF-8";
:root { --blue:#1648e8; --deep:#1236a5; --ink:#121b37; --muted:#546077; --paper:#f4f6fb; --line:#d9dfed; --yellow:#edff89; --gutter:clamp(22px,4.5vw,72px); }
* { box-sizing:border-box; }
html { scroll-behavior:auto; scroll-padding-top:120px; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 17px/1.65 Arial,Helvetica,sans-serif; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:600; letter-spacing:normal; word-spacing:normal; }
h1 { line-height:1.13; }
h2 { font-size:clamp(2rem,3.4vw,3.15rem); line-height:1.2; text-wrap:balance; }
h3 { font-size:1.25rem; line-height:1.4; }
p + p { margin-top:1em; }
p { overflow-wrap:break-word; }
a { color:inherit; text-underline-offset:5px; text-decoration-thickness:1px; }
button { font:inherit; cursor:pointer; }
button,a,summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; height:auto; }
button,a,summary { outline-offset:5px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid currentColor; }
::selection { color:var(--ink); background:var(--yellow); }
[hidden] { display:none !important; }
.wrap { max-width:1500px; padding-inline:var(--gutter); margin-inline:auto; }
.section { padding-block:88px; }
.eyebrow { margin-bottom:20px; font-size:.875rem; line-height:1.5; letter-spacing:.07em; text-transform:uppercase; font-weight:600; }
.section-head { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; align-items:start; margin-bottom:45px; }
.section-head p { max-width:620px; }
.section-head > p { padding-top:5px; }
.pricing-sentence { display:block; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 23px; border:1px solid transparent; border-radius:4px; color:white; background:var(--blue); text-align:center; text-decoration:none; font-size:1rem; line-height:1.5; font-weight:600; transition:background .18s ease; }
.button:hover { background:var(--deep); }
.button.light { color:var(--ink); background:var(--yellow); }
.button.light:hover { background:#deef7b; }
.button.outline { color:inherit; background:transparent; border-color:currentColor; }
.button.outline:hover { background:#dce5ff; }
.skip { position:fixed; z-index:100; top:-100px; left:16px; padding:15px; background:white; }
.skip:focus { top:15px; }
.header { position:sticky; z-index:20; top:0; border-bottom:1px solid var(--line); background:#fff; }
.header-inner { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:12px; }
.brand-logo { display:block; flex:none; width:80px; height:80px; }
.brand-logo img { width:100%; height:100%; object-fit:contain; }
.nav { display:flex; align-items:center; gap:25px; }
.nav > a:not(.button) { font-size:.94rem; text-decoration:none; white-space:nowrap; }
.nav > a:not(.button):hover { color:var(--blue); }
.nav > a[aria-current="page"] { color:var(--blue); text-decoration:underline; text-underline-offset:7px; }
.nav .button { min-height:46px; padding:10px 18px; white-space:nowrap; }
.menu-toggle { display:none; min-height:44px; padding:8px 15px; border:1px solid var(--line); border-radius:4px; background:white; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:min(720px,calc(100svh - 105px)); max-width:1600px; margin:auto; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(20px,4.5svh,56px) 40px clamp(20px,4.5svh,56px) var(--gutter); }
.hero .eyebrow { margin-bottom:clamp(12px,2svh,20px); }
.hero h1 { font-size:clamp(2.25rem,min(4.55vw,7.4svh),4.7rem); color:var(--blue); margin-bottom:clamp(16px,2.5svh,26px); }
.hero .intro { max-width:560px; font-size:1.06rem; line-height:1.6; }
.hero .subline { margin-top:clamp(12px,2svh,18px); color:var(--muted); font-size:1rem; max-width:490px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:clamp(18px,3svh,30px); }
.hero-actions .text-link { font-size:1rem; }
.hero-image { position:relative; min-width:0; min-height:0; overflow:hidden; }
.hero-image > img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.hero-note { position:absolute; left:26px; right:26px; bottom:26px; display:flex; align-items:center; gap:28px; padding:24px; color:var(--ink); background:var(--yellow); }
.hero-note strong { flex:none; font-size:2.75rem; font-weight:500; line-height:1.2; }
.hero-note p { max-width:310px; font-size:1rem; line-height:1.6; }
.facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-block:28px; max-width:1600px; color:white; background:var(--blue); }
.fact { display:flex; align-items:center; gap:20px; border-right:1px solid #ffffff55; padding-right:25px; }
.fact:last-child { border-right:0; padding-right:0; }
.fact strong { flex:none; font-size:1.75rem; font-weight:500; line-height:1.3; }
.fact span { font-size:.94rem; line-height:1.6; }
.space { background:white; }
.space-top { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); align-items:start; gap:65px; margin-bottom:42px; }
.amenities { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.amenities span { padding:6px 12px; border:1px solid var(--line); border-radius:3px; font-size:.875rem; }
.gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.gallery button { display:block; position:relative; overflow:hidden; padding:0; border:0; border-radius:3px; background:var(--paper); }
.gallery button:focus-visible { outline-color:var(--blue); }
.gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.gallery-label { position:absolute; left:12px; bottom:12px; right:12px; width:fit-content; max-width:calc(100% - 24px); padding:6px 11px; color:white; background:#121b37ed; font-size:.875rem; line-height:1.5; text-align:left; }
.floorplan { margin-top:30px; border-block:1px solid var(--line); }
.floorplan summary { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:20px 0; cursor:pointer; list-style:none; }
.floorplan summary::after,.faq summary::after { content:'+'; flex:none; font-size:1.5rem; line-height:1; font-weight:400; }
.floorplan[open] summary::after,.faq details[open] summary::after { content:'−'; }
.floorplan img { width:100%; max-width:1100px; margin:15px auto 35px; }
summary::-webkit-details-marker { display:none; }
.pricing { background:var(--paper); }
.price-group + .price-group { margin-top:42px; }
.price-group-title { display:flex; justify-content:space-between; gap:20px; margin-bottom:18px; font-size:.94rem; }
.price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.price-card { display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--line); border-radius:4px; background:white; }
.price-card h3 { font-size:1.15rem; line-height:1.5; }
.frequency { margin-top:12px; color:var(--muted); font-size:1rem; }
.price { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin-top:23px; line-height:1.4; }
.price strong { font-size:3.1rem; font-weight:500; line-height:1.25; font-variant-numeric:tabular-nums; }
.price .unit { font-size:1rem; white-space:nowrap; }
.price-detail { flex:1; padding-top:22px; margin-top:22px; border-top:1px solid var(--line); font-size:1rem; }
.price-card.featured { background:var(--blue); color:white; border-color:var(--blue); }
.price-card.featured .frequency { color:#eef3ff; }
.price-card.featured .price-detail { border-color:#ffffff66; }
.price-card.guest { background:transparent; }
.price-card.guest .price strong { font-size:2.8rem; }
.community { background:#11213f; color:white; }
.community .eyebrow { color:var(--yellow); }
.community .section-head p { color:#dce6f4; }
.members { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px 30px; align-items:start; }
.member { min-width:0; }
.member img { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 27%; margin-bottom:20px; border-radius:3px; }
.member-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; align-items:baseline; margin-bottom:15px; }
.member-top h3 { font-size:1.35rem; }
.member-top a { font-size:.94rem; color:var(--yellow); }
.member p { font-size:1rem; line-height:1.75; color:#dce6f4; }
.more-members { margin-top:40px; }
.more-members .button { color:white; }
.more-members .button:hover { background:#2b4264; }
.network { padding-block:32px; background:white; border-top:1px solid var(--line); }
.network-label { color:var(--muted); font-size:.875rem; font-weight:600; }
.partners { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; align-items:center; margin-top:16px; }
.partners a { display:flex; align-items:center; justify-content:center; height:90px; padding:12px; }
.partners img { max-height:64px; max-width:100%; object-fit:contain; }
.faq-layout { display:grid; grid-template-columns:minmax(0,.62fr) minmax(0,1fr); gap:70px; }
.faq-lead p { margin-top:25px; max-width:300px; }
.faq details { border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:26px; padding:23px 0; font-size:1.06rem; line-height:1.6; cursor:pointer; list-style:none; }
.faq details p { padding-bottom:26px; color:var(--muted); }
.contact { background:var(--yellow); }
.contact-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:65px; }
.contact-top h2 { margin-bottom:24px; }
.contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.contact-details .label { font-size:.94rem; font-weight:600; margin-bottom:12px; }
.contact-details p { font-size:1rem; }
.contact-details a { display:inline-block; }
.contact-actions { display:flex; flex-wrap:wrap; gap:15px; margin-top:26px; }
.footer { padding-block:42px 35px; background:#101a30; color:white; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.footer .brand-logo { width:105px; height:105px; padding:5px; background:white; border-radius:50%; }
.footer-church { width:250px; height:auto; }
.footer-links { display:flex; flex-wrap:wrap; gap:15px 26px; margin-top:32px; padding-top:25px; padding-right:75px; border-top:1px solid #ffffff33; font-size:.875rem; }
.footer-social { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.footer-social a { display:inline-flex; gap:10px; align-items:center; justify-content:center; min-width:44px; min-height:48px; padding:10px 15px; border:1px solid #ffffff66; border-radius:4px; color:white; text-decoration:none; font-size:.94rem; }
.footer-social a:hover { background:#ffffff15; border-color:white; }
.footer-social img { width:24px; height:24px; object-fit:contain; }
.dialog { padding:0; width:min(1120px,94vw); max-height:92vh; border:0; background:#101a30; color:white; }
.dialog::backdrop { background:#0c1228dc; }
.dialog-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 20px; font-size:1rem; }
.dialog-header button { color:white; background:transparent; border:1px solid #ffffff88; border-radius:3px; min-height:44px; padding:8px 15px; }
.dialog img { width:100%; max-height:76vh; object-fit:contain; }
.dialog:focus { outline:none; }
@media(max-width:1150px) {
 .nav { gap:17px; }
 .nav > a:not(.button) { font-size:.875rem; }
 .hero-copy { padding-right:32px; }
 .section-head,.space-top,.contact-top { gap:40px; }
 .fact { gap:15px; padding-right:18px; }
 .fact strong { font-size:1.5rem; }
 .fact span { font-size:.875rem; }
 .price-card { padding:24px; }
 .price .unit { font-size:.94rem; }
 .price strong { font-size:2.8rem; }
 .contact-details { grid-template-columns:1fr; gap:25px; }
}
@media(max-width:980px) {
 html { scroll-padding-top:110px; }
 .header-inner { min-height:92px; padding-block:10px; }
 .brand-logo { width:70px; height:70px; }
 .menu-toggle { display:block; }
 .nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100svh - 92px); overflow-y:auto; overscroll-behavior:contain; padding:24px var(--gutter); background:white; box-shadow:0 15px 22px #121b3720; }
 .nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
 .nav > a:not(.button) { padding:8px 0; font-size:1rem; }
 .hero { grid-template-columns:1fr; min-height:0; }
 .hero-copy { padding:clamp(24px,4svh,40px) var(--gutter) 24px; }
 .hero h1 { font-size:clamp(2rem,min(6vw,6.5svh),3.6rem); }
 .hero .intro { max-width:710px; }
 .hero .subline { max-width:660px; }
 .hero-image { display:flex; flex-direction:column-reverse; }
 .hero-image > img { position:static; width:100%; height:clamp(240px,48vw,450px); object-position:center 53%; }
 .hero-note { position:static; margin:0 var(--gutter) 28px; padding:18px 22px; gap:20px; }
 .hero-note p { max-width:none; }
 .facts { gap:22px; }
 .fact { flex-direction:column; align-items:start; gap:7px; }
 .section { padding-block:68px; }
 .section-head,.space-top,.faq-layout,.contact-top { grid-template-columns:1fr; gap:28px; }
 .section-head p { max-width:720px; }
 .members { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .price-grid { gap:16px; }
 .price-card { padding:22px; }
 .price-card h3 { font-size:1.05rem; }
 .price { gap:7px; }
 .price strong { font-size:2.65rem; }
 .price .unit { font-size:.875rem; }
 .partners { gap:13px; }
 .partners a { padding:12px; height:110px; }
 .faq-lead p { max-width:none; margin-top:20px; }

 .contact-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin-top:8px; }
}
@media(max-width:700px) {
 .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gallery img { aspect-ratio:1.2; }
 .price-grid { grid-template-columns:1fr; }
 .price-card { padding:27px; }
 .price-card h3 { font-size:1.2rem; }
 .price strong,.price-card.guest .price strong { font-size:3rem; }
 .price .unit { font-size:1rem; }
 .partners { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .footer-top { flex-wrap:wrap; }
 .footer-church { width:240px; }
}
@media(max-width:480px) {
 body { font-size:1rem; }
 .section { padding-block:55px; }
 .hero-copy { padding:clamp(20px,3.5svh,30px) var(--gutter) 20px; }
 .hero h1 { font-size:clamp(2rem,min(8.75vw,5.6svh),2.6rem); line-height:1.15; margin-bottom:18px; }
 .hero .intro { font-size:1rem; line-height:1.6; }
 .hero .subline { font-size:.94rem; }
 .hero .eyebrow { font-size:.875rem; margin-bottom:12px; }
 .hero-actions { gap:14px; }
 .hero-note { gap:16px; padding:16px; }
 .hero-note strong { font-size:2.4rem; }
 .hero-note p { font-size:.94rem; }
 .facts { grid-template-columns:1fr; gap:17px; padding-block:25px; }
 .fact { flex-direction:row; align-items:center; gap:22px; padding:0; border:0; }
 .fact strong { min-width:76px; font-size:1.55rem; }
 .fact span { font-size:.94rem; }
 .section-head { margin-bottom:32px; }
 h2 { font-size:2rem; line-height:1.25; }
 .space-top { margin-bottom:30px; }
 .gallery { gap:12px; }
 .gallery button:first-child { grid-column:1/-1; }
 .gallery button:first-child img { aspect-ratio:1.5; }
 .gallery button:last-child { grid-column:1/-1; }
 .gallery button:last-child img { aspect-ratio:1.5; }
 .gallery-label { font-size:.8rem; left:8px; bottom:8px; right:8px; max-width:calc(100% - 16px); padding:5px 8px; }
 .price-group-title { font-size:.875rem; }
 .members { grid-template-columns:1fr; gap:38px; }
 .member { padding-bottom:28px; border-bottom:1px solid #ffffff33; }
 .member img { aspect-ratio:4/3; }
 .member p { font-size:1rem; }
 .member-top { gap:10px; }
 .partners { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .partners a { height:115px; padding:15px; }
 .partners a:last-child { grid-column:1/-1; }
 .partners img { max-width:160px; }
 .faq summary { font-size:1rem; gap:20px; }
 .faq details p { font-size:1rem; line-height:1.75; }
 .contact-details { grid-template-columns:1fr; gap:26px; }
 .footer-top { justify-content:flex-start; gap:30px; }
 .footer .brand-logo { width:100px; height:100px; }
 .footer-top > a:last-child { width:100%; }
 .footer-links { flex-direction:column; align-items:start; gap:16px; padding-right:50px; }
 .dialog-header { padding:12px; font-size:.875rem; gap:14px; }
 .dialog-header button { padding:7px 10px; font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }

.community-life { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:50px; margin-top:56px; padding-top:48px; border-top:1px solid #ffffff33; }
.community-life > img { width:100%; aspect-ratio:1.5; object-fit:cover; border-radius:3px; }
.community-life h3 { margin-bottom:20px; font-size:1.7rem; line-height:1.3; }
.community-life p { max-width:640px; color:#dce6f4; font-size:1rem; }
.community-life .text-link { display:inline-block; margin-top:22px; color:var(--yellow); font-size:1rem; }
@media(max-width:980px) { .community-life { gap:30px; } }
@media(max-width:700px) { .community-life { grid-template-columns:1fr; gap:28px; margin-top:40px; padding-top:35px; } .community-life > img { max-height:320px; } }
@media(max-width:480px) { .partners a { height:85px; padding:10px; } .partners img { max-width:100%; } }

.document-page { background:white; min-height:70vh; }
.document-cover { color:var(--ink); background:#eaf0ff; padding-top:28px; border-bottom:1px solid #cdd8f5; }
.document-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:.875rem; }
.document-breadcrumb a { text-decoration:none; }
.document-breadcrumb a:hover { text-decoration:underline; }
.document-cover-top { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-top:48px; }
.document-cover .eyebrow { color:var(--blue); margin:0; }
.document-position { color:var(--blue); font-size:.94rem; font-variant-numeric:tabular-nums; }
.document-heading { max-width:1050px; margin:22px 0 48px; }
.document-heading h1 { color:var(--blue); font-size:clamp(2.5rem,4.9vw,4.5rem); line-height:1.12; font-weight:600; letter-spacing:-.02em; overflow-wrap:normal; hyphens:auto; }
.document-heading h1 strong,.document-heading h1 b { font-weight:600; }
.document-subtitle { display:block; color:var(--ink); font-size:1.15rem; line-height:1.65; font-weight:400; letter-spacing:normal; margin-top:24px; max-width:650px; }
.document-tabs { display:flex; flex-wrap:wrap; gap:6px 30px; }
.document-tabs a { display:block; padding:16px 0 20px; border-bottom:4px solid transparent; text-decoration:none; font-size:1rem; color:var(--muted); }
.document-tabs a:hover { color:var(--blue); }
.document-tabs a[aria-current="page"] { border-color:var(--blue); color:var(--blue); font-weight:600; }
.document-layout { display:grid; grid-template-columns:250px minmax(0,760px); gap:clamp(40px,6vw,100px); justify-content:space-between; align-items:start; padding-block:64px 100px; }
.document-aside { position:sticky; top:135px; min-width:0; }
.document-toc { margin:0; }
.document-toc summary { padding:0 0 18px; font-size:.875rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; list-style:none; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; }
.document-toc summary::after { content:'+'; font-size:1rem; }
.document-toc[open] summary::after { content:'−'; }
.document-toc nav { display:grid; gap:4px; margin:18px 0 22px; max-height:calc(100vh - 300px); overflow:auto; scrollbar-width:thin; padding-right:14px; }
.document-toc a { font-size:.875rem; line-height:1.5; color:var(--muted); text-decoration:none; padding:8px 0 8px 14px; border-left:2px solid var(--line); overflow-wrap:anywhere; }
.document-toc a:hover,.document-toc a:focus-visible { color:var(--blue); border-color:var(--blue); background:var(--paper); }
.document-top { display:inline-block; padding-block:8px; font-size:.875rem; color:var(--blue); }
.document-content { min-width:0; font-size:1.0625rem; line-height:1.85; overflow-wrap:anywhere; color:#344159; }
.document-section { padding:36px 0 12px; border-top:1px solid var(--line); }
.document-section + .document-section { margin-top:22px; }
.document-section:first-child { border:0; padding-top:0; }
.document-content h2 { margin:0 0 24px; font-size:clamp(1.5rem,2.05vw,1.85rem); line-height:1.4; color:var(--ink); text-wrap:initial; }
.document-content h3 { margin:28px 0 12px; font-size:1.13rem; line-height:1.5; color:var(--ink); }
.document-content p { margin:0 0 22px; }
.document-content ul,.document-content ol { padding-left:24px; margin:18px 0 26px; }
.document-content li { padding-left:5px; margin:10px 0; }
.document-content li p { margin:0; }
.document-content a { color:var(--blue); }
.document-content .document-download { display:inline-block; max-width:100%; }
.document-content br { display:block; content:""; margin-top:10px; }
.footer-links a[aria-current="page"] { color:var(--yellow); }
@media(max-width:980px) { .document-layout { grid-template-columns:210px minmax(0,1fr); gap:35px; padding-top:48px; } .document-aside { top:112px; } .document-heading h1 { font-size:clamp(2.2rem,5vw,3.5rem); } }
@media(max-width:700px) { .document-cover { padding-top:22px; } .document-cover-top { margin-top:32px; } .document-heading { margin:20px 0 30px; } .document-heading h1 { font-size:clamp(1.4rem,6.3vw,2.5rem); line-height:1.2; } .document-subtitle { font-size:1rem; margin-top:16px; } .document-tabs { gap:0 20px; } .document-tabs a { font-size:.94rem; padding-block:12px; border-width:3px; } .document-layout { grid-template-columns:1fr; gap:32px; padding-block:32px 64px; } .document-aside { position:static; background:var(--paper); padding:20px; border-radius:5px; } .document-toc nav { max-height:200px; margin-bottom:8px; } .document-toc a { padding-block:7px; } .document-top { display:none; } .document-content { font-size:1rem; line-height:1.85; } .document-section { padding-top:28px; } }

/* The blessing page takes its colours from the original physical object. */
.blessing-page { --blue:#234d3d; --deep:#183b2c; --ink:#183b2c; --muted:#4b6257; --paper:#f6f7f3; --line:#d3ded5; --yellow:#d6c9f5; background:var(--paper); color:var(--ink); }
.blessing-page h1,.blessing-page h2 { letter-spacing:-.025em; }
.blessing-header { background:var(--paper); border-color:#dbe1d8; }
.blessing-brand { margin-right:auto; font-size:1rem; font-weight:600; }
.blessing-header .header-inner { gap:22px; }
.blessing-header .nav { gap:28px; }
.blessing-page .brand-logo { width:68px; height:68px; }
.blessing-hero { padding-block:52px 72px; background:#d6c9f5; }
.blessing-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:65px; align-items:center; }
.blessing-intro { padding-block:25px; }
.blessing-intro h1 { font-size:clamp(3rem,5.55vw,5.65rem); line-height:1.08; margin-bottom:32px; }
.blessing-intro h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.blessing-intro > p:not(.eyebrow) { max-width:570px; font-size:1.125rem; line-height:1.8; }
.blessing-intro .button { margin-top:30px; padding-inline:28px; }
.blessing-hero-photo { position:relative; width:100%; }
.blessing-hero-photo > img { width:100%; height:570px; object-fit:cover; object-position:center top; border-radius:200px 200px 8px 8px; }
.blessing-hero-photo figcaption { font-size:.875rem; text-align:center; margin-top:16px; }
.blessing-message { padding-block:55px; background:#234d3d; color:white; }
.blessing-message-grid { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:75px; align-items:center; }
.blessing-message h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(2.5rem,4.3vw,4rem); color:#d6c9f5; }
.blessing-message p { font-size:1.0625rem; line-height:1.85; }
.blessing-how { padding-block:100px; }
.blessing-how-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:95px; align-items:center; }
.blessing-how-photo img { width:100%; max-height:700px; aspect-ratio:4/5; object-fit:cover; border-radius:7px; }
.blessing-how-lead { margin-top:25px; max-width:570px; }
.blessing-steps { list-style:none; margin:32px 0 0; padding:0; }
.blessing-steps li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:22px; padding:24px 0; border-top:1px solid #bdcec1; }
.step-number { font-size:1.15rem; font-variant-numeric:tabular-nums; color:#50705f; padding-top:4px; }
.blessing-steps h3 { font-size:1.35rem; margin-bottom:7px; }
.blessing-steps p { font-size:1rem; line-height:1.8; }
.blessing-meaning { padding-block:85px; background:#e5eadf; }
.blessing-meaning-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:85px; }
.blessing-meaning h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(3rem,5vw,5rem); font-weight:400; }
.blessing-reading > p { font-size:1.2rem; line-height:1.85; }
.blessing-reading details { border-block:1px solid #abbcaf; margin-top:32px; }
.blessing-reading summary { display:flex; justify-content:space-between; gap:24px; padding-block:20px; list-style:none; cursor:pointer; font-size:1rem; font-weight:600; }
.blessing-reading summary::after { content:'+'; font-size:1.3rem; line-height:1.3; }
.blessing-reading details[open] summary::after { content:'−'; }
.blessing-reading details > div { padding:3px 0 25px; }
.blessing-reading details p { font-size:1rem; line-height:1.85; }
.blessing-gallery-section { padding-block:90px; }
.blessing-gallery-heading { display:flex; justify-content:space-between; align-items:baseline; gap:30px; margin-bottom:35px; }
.blessing-gallery-heading h2 { font-size:clamp(2rem,3.2vw,3rem); }
.blessing-gallery-heading p { font-size:.94rem; }
.blessing-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.blessing-gallery button { position:relative; padding:0; border:0; background:#d6c9f5; border-radius:5px; overflow:hidden; }
.blessing-gallery img { width:100%; aspect-ratio:3/4; object-fit:cover; }
.blessing-gallery button > span { position:absolute; bottom:12px; left:12px; background:#f6f7f3; color:var(--ink); padding:5px 9px; border-radius:3px; font-size:.875rem; opacity:0; transition:opacity .15s; }
.blessing-gallery button:hover > span,.blessing-gallery button:focus-visible > span { opacity:1; }
.blessing-more { padding-block:82px; background:#234d3d; color:white; }
.blessing-more-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; }
.blessing-more .eyebrow { color:#d6c9f5; }
.blessing-more h2 { font-size:clamp(2.8rem,4.5vw,4.5rem); line-height:1.15; }
.blessing-more .button { margin-top:30px; }
.blessing-light { background:#d6c9f5; color:#183b2c; }
.blessing-light:hover { background:#c4b1ee; }
.blessing-credits p { font-size:1rem; line-height:1.9; max-width:520px; }
.blessing-footer { background:#f6f7f3; padding-block:30px; }
.blessing-footer > div { display:flex; flex-wrap:wrap; gap:20px 30px; align-items:center; }
.blessing-footer p { margin-right:auto; font-size:.94rem; }
.blessing-footer a:not(.brand-logo) { font-size:.875rem; }
@media(max-width:1100px) { .blessing-hero-grid { gap:40px; } .blessing-intro h1 { font-size:clamp(2.8rem,5.5vw,4rem); } .blessing-hero-photo > img { height:530px; } .blessing-how-grid { gap:55px; } .blessing-message-grid,.blessing-meaning-grid { gap:45px; } }
@media(max-width:980px) { .blessing-hero { padding-block:38px 50px; } .blessing-header .nav.is-open { gap:8px; } .blessing-hero-grid { gap:30px; } .blessing-intro h1 { font-size:clamp(2.3rem,4.7vw,3.4rem); } .blessing-hero-photo > img { height:490px; } .blessing-intro > p:not(.eyebrow) { font-size:1rem; } .blessing-how,.blessing-gallery-section { padding-block:65px; } .blessing-how-grid { gap:35px; } .blessing-how h2 { font-size:2.4rem; } .blessing-message-grid { grid-template-columns:1fr 1.4fr; gap:35px; } .blessing-more-grid { gap:40px; } }
@media(max-width:700px) { .blessing-brand { font-size:.875rem; } .blessing-hero-grid,.blessing-how-grid,.blessing-message-grid,.blessing-meaning-grid,.blessing-more-grid { grid-template-columns:1fr; gap:35px; } .blessing-hero-grid { gap:38px; } .blessing-intro { padding:5px 0 0; } .blessing-intro h1 { font-size:clamp(2.45rem,9.7vw,4rem); margin-bottom:26px; } .blessing-hero-photo { max-width:440px; justify-self:center; } .blessing-hero-photo > img { height:auto; aspect-ratio:4/5; } .blessing-message { padding-block:42px; } .blessing-message-grid { gap:20px; } .blessing-message h2 { font-size:2.65rem; } .blessing-message p { font-size:1rem; } .blessing-how { padding-block:55px; } .blessing-how-photo { order:2; } .blessing-how-photo img { max-height:410px; aspect-ratio:1.1; object-position:center 65%; } .blessing-how h2 { font-size:2rem; } .blessing-steps li { gap:12px; grid-template-columns:32px minmax(0,1fr); } .blessing-steps h3 { font-size:1.2rem; } .blessing-meaning { padding-block:50px; } .blessing-meaning-grid { gap:24px; } .blessing-meaning h2 { font-size:3rem; } .blessing-reading > p { font-size:1.0625rem; } .blessing-gallery-heading { display:block; } .blessing-gallery-heading p { margin-top:14px; } .blessing-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .blessing-more { padding-block:55px; } .blessing-more h2 { font-size:2.7rem; } .blessing-footer .brand-logo { width:56px; height:56px; } .blessing-footer > div { gap:16px 20px; } }

@media(max-width:380px) { .blessing-header .header-inner { gap:10px; } .blessing-header .brand-logo { width:54px; height:54px; } }

/* Inspiration: timeless glimpses of community life. */
.inspiration-page { background:white; }
.inspiration-cover { color:white; background:var(--blue); }
.inspiration-cover-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:60px; align-items:center; padding-block:40px; }
.inspiration-intro { padding-block:10px; }
.inspiration-intro .eyebrow { color:var(--yellow); margin-bottom:18px; }
.inspiration-intro h1 { font-size:clamp(2.5rem,min(4.4vw,7.2svh),4.25rem); line-height:1.12; margin-bottom:24px; }
.inspiration-intro > p:not(.eyebrow) { max-width:570px; font-size:1.0625rem; line-height:1.65; }
.inspiration-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:26px; font-size:1rem; }
.inspiration-photo { position:relative; align-self:stretch; min-height:330px; }
.inspiration-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.inspiration-photo figcaption { position:absolute; left:18px; bottom:18px; right:18px; width:fit-content; max-width:calc(100% - 36px); padding:8px 12px; color:var(--ink); background:var(--yellow); font-size:.875rem; line-height:1.5; }
.inspiration-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:60px; align-items:end; margin-bottom:40px; }
.inspiration-heading .eyebrow { margin-bottom:12px; color:var(--blue); }
.inspiration-heading > p { max-width:440px; color:var(--muted); font-size:1rem; }
.inspiration-heading h2 { font-size:clamp(2rem,3.1vw,2.9rem); }
.inspiration-formats { background:var(--paper); }
.inspiration-format-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
.inspiration-format-grid article { border-top:1px solid #bdc9df; padding-top:22px; }
.inspiration-format-grid h3 { margin-bottom:15px; font-size:1.4rem; }
.inspiration-format-grid p { font-size:1rem; line-height:1.75; }
.inspiration-contribute { background:var(--yellow); padding-block:64px; }
.inspiration-contribute-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.inspiration-contribute h2 { font-size:clamp(2rem,3.1vw,2.9rem); }
.inspiration-contribute .eyebrow { margin-bottom:15px; }
.inspiration-contribute p { max-width:530px; }
.inspiration-contribute .button { margin-top:24px; }
@media(max-width:1150px) {
 .inspiration-cover-grid { gap:35px; }
}
@media(max-width:980px) {
 .inspiration-cover-grid { padding-block:32px; gap:28px; }
 .inspiration-intro h1 { font-size:clamp(2rem,4.8vw,3.2rem); }
 .inspiration-photo { min-height:360px; }
 .inspiration-heading { grid-template-columns:1fr; gap:20px; margin-bottom:32px; }
 .inspiration-heading > p { max-width:650px; }
 .inspiration-format-grid { gap:24px; }
 .inspiration-contribute-grid { gap:35px; }
}
@media(max-width:700px) {
 .inspiration-cover-grid { grid-template-columns:1fr; gap:28px; }
 .inspiration-intro h1 { font-size:clamp(2rem,7.5vw,3.3rem); }
 .inspiration-intro > p:not(.eyebrow) { font-size:1rem; }
 .inspiration-photo { min-height:0; }
 .inspiration-photo img { position:static; height:auto; aspect-ratio:1.8; }
 .inspiration-format-grid { grid-template-columns:1fr; gap:30px; }
 .inspiration-contribute { padding-block:50px; }
 .inspiration-contribute-grid { grid-template-columns:1fr; gap:25px; }
}

.inspiration-experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.inspiration-experience { min-width:0; padding:30px; border-top:3px solid var(--blue); background:var(--paper); }
.inspiration-experience-label { font-size:.875rem; color:var(--blue); margin-bottom:15px; }
.inspiration-experience h3 { font-size:1.5rem; line-height:1.3; margin-bottom:16px; overflow-wrap:break-word; }
.inspiration-experience > p:last-child { font-size:1rem; line-height:1.7; }
.inspiration-experience:first-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 45px; padding:34px; background:#eaf0ff; }
.inspiration-experience:first-child h3 { font-size:clamp(1.7rem,2.6vw,2.5rem); margin-bottom:0; }
.inspiration-experience:first-child > p:last-child { grid-column:2; grid-row:1/3; align-self:center; }
@media(max-width:980px) { .inspiration-experience { padding:23px; } .inspiration-experience-grid { gap:18px; } .inspiration-experience:first-child { padding:28px; gap:0 30px; } }
@media(max-width:700px) { .inspiration-experience-grid { grid-template-columns:1fr; gap:20px; } .inspiration-experience:first-child { display:block; padding:25px; } .inspiration-experience:first-child h3 { margin-bottom:16px; } }

/* WordPress integration */
body.admin-bar .header { top:32px; }
html:has(body.admin-bar) { scroll-padding-top:152px; }
@media(max-width:782px){body.admin-bar .header{top:46px;}}
@media(max-width:600px){body.admin-bar .header{top:0;}}
.wp-page-content { max-width:1000px; margin:auto; padding:70px var(--gutter); min-height:55vh; }
.wp-page-content h1 { font-size:clamp(2rem,5vw,3.5rem); margin-bottom:32px; }
.wp-page-content h2,.wp-page-content h3 { margin:1.4em 0 .5em; }
.wp-page-content article+article { margin-top:40px; padding-top:30px; border-top:1px solid var(--line); }
.wp-page-content input,.wp-page-content textarea { max-width:100%; font:inherit; }
.wp-page-content .alignwide { max-width:1200px; }
.wp-page-content .alignfull { max-width:100%; }
