/* Final spacing and responsive pass. Text stays authored in index.html. */
html{scroll-padding-top:105px}
.header{position:sticky;top:0;z-index:100;height:80px;background:#fafbfceF;backdrop-filter:blur(12px)}
.header{transition:transform .3s ease}.header.header-hidden{transform:translateY(-105%)}.menu-toggle{min-width:44px;width:44px;justify-content:center}.menu-close{padding:0;min-width:44px;justify-content:center}
@media(prefers-reduced-motion:reduce){.header{transition:none}}
.section{padding-block:clamp(64px,7vw,112px)}
.section-label{margin-bottom:36px}
p{font-size:15px;line-height:1.85}
.section p{max-width:65ch}
.hero{min-height:710px;padding-top:34px;column-gap:40px}
.hero h1{font-size:clamp(48px,5.65vw,88px)}
.hero-intro{font-size:14px;max-width:350px}
.hero-continuation{padding-block:44px;gap:40px}
.hero-continuation p{font-size:14px;max-width:48ch}
.hero-bottom{font-size:11px;letter-spacing:0}
.about-grid{align-items:start;gap:7%;grid-template-columns:.8fr 1.2fr}
.about-copy{padding-top:0}
.about-photo{aspect-ratio:3/4;position:sticky;top:110px}
.about-copy>p:first-of-type{font-size:18px;line-height:1.75;color:var(--ink);margin-bottom:24px}
.about-copy details{margin-top:32px}
summary{min-height:64px;font-size:14px}
.biography{padding-top:8px}.biography p{font-size:14px}
.vision h2{max-width:1000px;font-size:clamp(42px,5.7vw,84px)}
.vision-body{gap:7%;margin-top:40px}
.vision-body>div:last-child p:last-child{font-family:Prata,Georgia,serif;font-size:26px;line-height:1.5;color:var(--ink);margin-top:28px}
.section-heading{gap:7%;margin-bottom:44px}
.project-feature{margin-top:40px}
.project-caption{padding:34px;width:78%;margin-top:-75px}
.project-caption p{font-size:14px}
.project-pair{gap:6%;margin-top:65px}
.project-pair .offset{margin-left:0;margin-top:90px}
.project-pair .photo-slot.landscape{aspect-ratio:1.35}
.project-pair article>p,.project-pair article>h3,.project-title{padding-inline:0}
.project-pair .offset>.link{margin-left:0}
.project-pair article>p{max-width:none}
.project-pair .offset>h3.region-title{font-size:11px;letter-spacing:.1em}
.project-klen{padding:40px;margin-top:60px;gap:7%}
.project-klen .photo-klen{max-height:580px}
.travel .section-heading{align-items:start}
.travel-gallery{margin-right:0;gap:22px;padding-bottom:16px;scroll-snap-type:x proximity}
.travel-gallery{scrollbar-width:none;-ms-overflow-style:none}.travel-gallery::-webkit-scrollbar{display:none;width:0;height:0}
.travel-gallery{cursor:grab;user-select:none;touch-action:pan-x pan-y pinch-zoom}.travel-gallery img{-webkit-user-drag:none;user-select:none}.travel-gallery.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}.hero-bottom>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:720px){.gallery-controls button{width:44px;height:44px}.menu-socials a{min-height:44px;font-size:12px}}
.travel-gallery>div{flex-basis:39%;aspect-ratio:3/4}
.travel-gallery>.travel-group{aspect-ratio:3/4}
.travel-gallery>.travel-garden:nth-child(2){margin-top:45px}
.gallery-caption{align-items:center;line-height:1.7}
.gallery-controls{display:flex;gap:10px}
.gallery-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;background:none;color:white;font-size:22px;transition:background .2s,opacity .2s}
.gallery-controls button:hover{background:#ffffff18}.gallery-controls button:disabled{opacity:.3;cursor:default}
.life-intro{max-width:650px;margin:28px 0 44px}
.life-grid{gap:28px}
.life-grid article,.life-grid article+article{padding-inline:0;border:0}
.life-grid article:nth-child(2){padding-top:50px}
.life-grid article:nth-child(3){padding-top:100px}
.life-grid h3{font-size:28px;letter-spacing:-.035em}
.life-grid p{font-size:14px}
.life-copy{display:contents}
.faith{padding-block:65px;gap:7%;grid-template-columns:.95fr 1.05fr}
.faith h2{font-size:clamp(34px,3.6vw,55px)}
.faith-photo{max-height:680px}
.faith-copy p{max-width:48ch}
.charity-grid{align-items:start}
.charity-photo{margin-top:0;aspect-ratio:4/5}
.charity-grid p{max-width:52ch;margin-top:24px}
.media-feature-copy{padding:40px}
.media-feature h3{font-size:clamp(25px,2.3vw,35px)}
.media-row{padding-block:28px}
.contacts{padding-bottom:36px}
.social-links a{font-size:14px}
.menu nav a[aria-current="location"]{color:#fff;padding-left:10px;background:#ffffff08}
.menu nav a[aria-current="location"]:before{color:#fff}
.menu nav a[aria-current="location"]:after{opacity:1;transform:none}
.menu nav a:focus-visible{outline-offset:0}
.menu{scrollbar-width:thin;scrollbar-color:#77869e #18253a}
.reveal{transform:translateY(24px);transition-duration:.7s}
@media(min-width:1700px){.hero-photo{height:690px}.hero{min-height:815px}}
@media(max-width:1050px){
 .hero{column-gap:24px;min-height:640px}.hero-photo{height:510px;padding-right:20px}
 .hero h1{font-size:clamp(44px,5.8vw,65px);margin-right:-45px}
 .hero-continuation{grid-template-columns:1fr;gap:20px}.hero-continuation p{max-width:80ch}
 .about-grid{grid-template-columns:.75fr 1.25fr;gap:6%}
 .faith{padding-inline:var(--gutter)}.faith h2{font-size:clamp(30px,3.8vw,40px)}
}
@media(min-width:721px) and (max-width:960px){
 .life-grid{grid-template-columns:1fr;gap:38px}
 .life-grid article:nth-child(n){display:grid;grid-template-columns:.85fr 1.15fr;gap:0 30px;padding:0}
 .life-grid .photo-slot{grid-column:1;grid-row:1/span 7;aspect-ratio:3/4}
 .life-grid h3{margin-top:0}.life-grid article>h3,.life-grid article>p{grid-column:2}
 .life-copy{display:block;grid-column:2}.life-grid .photo-slot{grid-row:1}.life-copy p{margin-top:18px;margin-bottom:0}
 .project-pair{grid-template-columns:1fr;gap:48px}.project-pair .offset{margin-top:0}
 .project-pair .photo-slot.landscape{aspect-ratio:1.7}
 .project-klen{padding:28px}
 .media-feature{grid-template-columns:1fr 1fr}.media-feature-copy{padding:28px}.media-feature h3{font-size:25px}
 .faith{gap:36px;grid-template-columns:1fr}.faith-photo{width:min(100%,480px);max-height:none;justify-self:center}.faith-copy{max-width:600px;justify-self:center}.faith h2{font-size:44px}
}
@media(max-width:720px){
 html{scroll-padding-top:88px}.header{height:72px}
 .section{padding-block:60px}.section-label{margin-bottom:28px}
 p{font-size:15px;line-height:1.85}
 .hero{min-height:0;padding-top:0;padding-bottom:114px}
 .hero-copy{padding-block:32px}.hero h1{font-size:clamp(41px,10.5vw,72px);margin:0;line-height:1.12}
 .hero-photo{height:auto;padding-right:0;aspect-ratio:4/5}
 .hero-bottom{font-size:10px;bottom:20px}
 .hero-continuation{padding-block:32px}.hero-continuation p{font-size:14px}
 .about-photo{position:relative;top:auto;aspect-ratio:4/5;max-height:none}
 .about-grid{grid-template-columns:1fr;gap:32px}.about-copy>p:first-of-type{font-size:17px}
 .vision h2{font-size:clamp(36px,9.5vw,52px)}
 .vision-body{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:28px}
 .vision-body>div:last-child p:last-child{font-size:23px}
 .project-caption{padding:26px;width:calc(100% - 16px);left:16px;margin-left:0;margin-top:-32px}
 .project-feature{margin-top:30px}.project-pair{margin-top:42px;gap:42px}
 .project-pair .offset{margin:0}.project-pair .photo-slot.landscape{aspect-ratio:1.3}
 .project-klen{padding:24px;gap:26px;margin-top:38px}
 .travel-gallery>div{flex-basis:86%}
 .travel-gallery>.travel-garden:nth-child(2){margin-top:25px}
 .gallery-caption{gap:16px;font-size:11px}.gallery-caption>span{max-width:64%}
 .gallery-controls{flex-shrink:0}.gallery-controls button{width:42px;height:42px}
 .life-grid{grid-template-columns:1fr;gap:40px}.life-grid article:nth-child(n){padding:0}
 .life-grid .photo-slot.tall{aspect-ratio:4/5}
 .life-grid p{font-size:15px}.life-grid h3{margin-top:24px}
 .faith{grid-template-columns:1fr;padding-block:32px 55px;gap:32px}
 .faith h2{font-size:clamp(30px,7.7vw,44px)}
 .faith-photo{max-height:none}
 .charity-photo{aspect-ratio:4/5}.charity-grid{gap:32px}
 .media-feature-copy{padding:28px}.media-feature h3{font-size:26px}
 .contacts{padding-bottom:30px}.contacts h2{font-size:48px}
 .menu{padding:24px}.menu nav a{font-size:24px}
 .menu-socials{gap:8px 18px}
}
@media(prefers-reduced-motion:reduce){.reveal,.hero-copy h1,.hero-intro,.hero-photo{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.photo-slot img,.media-feature img,.media-row-photo img{transition:none!important}}
