:root{color-scheme:light;--ink:#111;--muted:#686868;--line:#cdcdcd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:6px}p,h1,h2,figure{margin:0}.site-shell{padding:24px 40px 0;max-width:1800px;margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:12px;line-height:1.4}.masthead a{font-weight:bold;letter-spacing:-.06em;min-height:32px;display:flex;align-items:center}.masthead span{letter-spacing:-.035em}main{padding-top:42px}.portrait{width:25%;aspect-ratio:8/11;margin-left:59%;overflow:hidden;background:#444}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 0%;transform:scale(1.10);transform-origin:50% 0%}h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,13.85vw,240px);font-weight:700;letter-spacing:-.082em;line-height:.86;white-space:nowrap;margin:30px 0 27px -0.065em}footer{border-top:1px solid var(--ink);display:flex;align-items:flex-start;justify-content:space-between;padding:14px 0 22px;gap:30px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14px;line-height:1.3}footer nav{display:flex;gap:35px}footer a,footer button{display:inline-flex;align-items:center;gap:10px;min-height:36px}.index{font-size:11px;color:var(--muted)}footer a:hover,footer button:hover{text-decoration:none}.social-links{margin-left:auto;display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(570px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;border-left:1px solid var(--ink);padding:28px 38px;background:#fff;color:var(--ink);overflow:auto}dialog::backdrop{background:#ffffffc9}.info-header{display:flex;align-items:center;justify-content:space-between;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:12px}.dialog-close{min-height:40px;font-size:14px;text-decoration:none}.info-copy{margin-top:clamp(80px,18vh,180px)}dialog h2{font-size:clamp(40px,4.3vw,64px);line-height:.95;letter-spacing:-.07em;font-weight:700;margin-bottom:42px}dialog p{font-size:18px;line-height:1.6;max-width:36ch;margin-bottom:27px}dialog .info-copy>a{display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14px;text-decoration:none;padding:10px 0;margin-top:20px}
@media(min-width:1500px){main{padding-top:70px}.portrait{width:24%;max-height:517px}h1{font-size:min(13.85vw,240px);margin-top:36px;margin-bottom:35px}}
@media(max-width:1000px){.site-shell{padding:22px 28px 0}main{padding-top:60px}.portrait{width:32%;margin-left:55%}h1{font-size:13.4vw;margin-top:36px}footer nav{gap:20px}footer{gap:20px}footer a,footer button{gap:7px}}
@media(max-width:700px){.site-shell{padding:18px 20px 0}.masthead{font-size:11px}main{padding-top:65px}.portrait{width:48%;margin-left:39%;aspect-ratio:15/22}h1{font-size:13.1vw;letter-spacing:-.085em;margin-top:50px;margin-bottom:22px}footer{padding-top:13px;display:block}footer nav{display:grid;grid-template-columns:1fr 1.25fr;gap:8px 20px}footer a,footer button{min-height:42px;font-size:14px}.index{font-size:11px}.social-links{margin-top:24px;margin-left:0}dialog{padding:20px 25px}.info-copy{margin-top:80px}dialog h2{font-size:48px}dialog p{font-size:17px}}
@media(max-width:360px){.site-shell{padding-left:16px;padding-right:16px}.masthead{font-size:10px}h1{font-size:13vw}footer nav{column-gap:12px}footer a,footer button{font-size:13px}.index{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Larger Helvetica navigation in the original minimalist composition. */
footer{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:clamp(25px,2.45vw,40px);font-weight:500;letter-spacing:-.065em;line-height:1.05;padding-top:18px;gap:32px}
footer nav{gap:32px;flex-wrap:wrap}
footer a,footer button{min-height:44px;gap:9px;white-space:nowrap}
footer .index{font-size:12px;letter-spacing:-.035em;align-self:flex-start;padding-top:8px}
.masthead{font-weight:500;font-size:13px;letter-spacing:-.035em}
.info-header,dialog .info-copy>a{letter-spacing:-.035em}
@media(max-width:1000px){footer{font-size:25px;gap:22px}footer nav{gap:22px}footer a,footer button{gap:7px}}
@media(max-width:700px){footer{font-size:25px;padding-top:16px}footer nav{grid-template-columns:max-content 1fr;gap:8px 27px}footer a,footer button{font-size:25px;min-height:44px}.social-links{margin-top:18px}footer .index{font-size:12px;padding-top:6px}}
@media(max-width:360px){footer nav{gap:8px 20px}footer a,footer button{font-size:22px}footer .index{font-size:11px}}
@media(max-width:360px){footer a,footer button{font-size:20px}footer nav{column-gap:18px}}

/* Fluorescent link highlights: each destination has its own accent. */
:root{--fluro-lime:#c5ff00;--fluro-cyan:#00efff;--fluro-yellow:#fff000;--fluro-orange:#ff9636;--fluro-violet:#b69aff}
.masthead a,footer a,footer button,.dialog-close,dialog .info-copy>a{
 --link-highlight:var(--fluro-lime);
 background-image:linear-gradient(var(--link-highlight),var(--link-highlight));
 background-repeat:no-repeat;background-position:0 55%;background-size:100% 0;
 transition:background-size 200ms ease,color 200ms ease;text-decoration:none;
}
footer nav>:nth-child(2){--link-highlight:var(--fluro-cyan)}
footer nav>:nth-child(3){--link-highlight:var(--fluro-yellow)}
footer nav .nav-bookings{--link-highlight:#00ff88}
footer nav .nav-church,dialog .info-copy>a{--link-highlight:var(--fluro-orange)}
footer .instagram,.dialog-close{--link-highlight:var(--fluro-violet)}
footer .tiktok{--link-highlight:#75bfff}
footer a,footer button{justify-self:start;width:fit-content}
@media(max-width:700px){footer nav .nav-church{grid-column:1/-1}}
.masthead a:is(:hover,:focus-visible),footer a:is(:hover,:focus-visible),footer button:is(:hover,:focus-visible),.dialog-close:is(:hover,:focus-visible),dialog .info-copy>a:is(:hover,:focus-visible){background-size:100% .9em;color:#111;text-decoration:none}
@media(prefers-reduced-motion:reduce){.masthead a,footer a,footer button,.dialog-close,dialog .info-copy>a{transition:none}}

/* Mobile navigation: page links left, social links against the right edge. */
@media(max-width:700px){
 footer{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
 footer nav{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:8px}
 .social-links{margin:0;align-items:flex-end;text-align:right;gap:8px}
}

/* Touch feedback is immediate so navigation cannot interrupt the fill animation. */
@media(max-width:700px),(hover:none) and (pointer:coarse){
 .masthead a,footer a,footer button,.dialog-close,dialog .info-copy>a{transition:none}
 .masthead a:is(:hover,:active,:focus-visible),footer a:is(:hover,:active,:focus-visible),footer button:is(:hover,:active,:focus-visible),.dialog-close:is(:hover,:active,:focus-visible),dialog .info-copy>a:is(:hover,:active,:focus-visible){background-size:100% 1.15em;color:#111}
}
