:root{--ink:#172623;--cream:#f5f0e6;--mint:#a3d6c4;--gold:#c5a36a;--muted:#a5ada5;--mono:'DM Mono',monospace;--body:'DM Sans',Arial,sans-serif;--display:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--body);overflow-x:hidden}button,a,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:4px}::selection{background:var(--mint);color:var(--ink)}.progress{position:fixed;z-index:150;height:3px;background:var(--mint);width:0;top:0;left:0;transition:width .1s linear}.grain{position:fixed;pointer-events:none;z-index:110;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.27'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.intro{position:fixed;inset:0;z-index:250;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#101b19;transition:opacity .8s,visibility .8s}.intro.hide{opacity:0;visibility:hidden}.intro-mark{font-size:37px;color:var(--gold);margin-bottom:22px}.intro-label{font-family:var(--display);font-size:clamp(36px,6vw,80px);letter-spacing:.13em}.intro-line{height:1px;width:190px;background:#ffffff30;overflow:hidden;margin-top:25px}.intro-line span{display:block;height:100%;background:var(--gold);animation:load 1.3s ease forwards}.intro p{font:10px var(--mono);letter-spacing:.3em;color:#aeb7aa;margin-top:25px}@keyframes load{from{width:0}to{width:100%}}.nav{height:92px;padding:0 clamp(24px,5vw,90px);display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;width:100%;z-index:100;transition:background .5s,height .5s;background:linear-gradient(#0914118c,transparent)}.nav.scrolled{height:72px;background:#152320ef;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff25}.brand{display:flex;gap:13px;align-items:center;line-height:1;font-family:var(--display);font-size:25px;letter-spacing:.03em}.brand i{font-size:16px}.brand small{display:block;font:9px var(--mono);letter-spacing:.24em;margin-top:9px;color:#d9dbd3}.brand-sign{font-size:24px;color:var(--gold)}.desktop-nav{display:flex;gap:clamp(15px,2.3vw,44px);font-size:12px;letter-spacing:.03em}.desktop-nav a{transition:color .25s}.desktop-nav a:hover{color:var(--mint)}.nav-right{display:flex;align-items:center;gap:22px}.service-indicator{font:10px var(--mono);white-space:nowrap;letter-spacing:.07em}.service-indicator b{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:6px;box-shadow:0 0 12px var(--mint)}.menu-trigger{border:1px solid #ffffff57;border-radius:50%;background:#ffffff08;width:45px;height:45px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:background .2s}.menu-trigger:hover{background:var(--mint)}.menu-trigger span{width:18px;height:1px;background:var(--cream)}.menu-trigger:hover span{background:var(--ink)}.menu-panel{position:fixed;inset:0;z-index:90;background:#172a26;display:flex;align-items:center;visibility:hidden;opacity:0;transform:translateY(-15px);transition:.45s ease}.menu-panel.show{visibility:visible;opacity:1;transform:none}.menu-panel-inner{padding:100px clamp(30px,12vw,220px);width:100%}.eyebrow,.tiny-label{font:11px var(--mono);letter-spacing:.19em;color:var(--mint)}.menu-panel-inner>a{display:block;font-family:var(--display);font-size:clamp(38px,5vw,80px);border-bottom:1px solid #ffffff25;padding:10px 0}.menu-panel-inner>a:hover{color:var(--mint)}.menu-panel-inner>a span{font:12px var(--mono);vertical-align:top}.menu-panel-inner>p{font-size:13px;color:#b8c3b8;margin-top:25px}.hero{height:100svh;min-height:670px;position:relative;overflow:hidden;background:#2e3024}.hero-photo{position:absolute;inset:-4%;background-image:url('assets/cathedral-premium.png');background-size:cover;background-position:center;animation:heroPan 15s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101916cb 0%,#10191675 54%,#10191628 100%),linear-gradient(0deg,#101916aa,transparent 35%,#10191677)}@keyframes heroPan{0%{transform:scale(1.14)}100%{transform:scale(1)}}.hero-top,.hero-bottom{position:absolute;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);letter-spacing:.19em}.hero-top{top:120px}.hero-bottom{bottom:34px}.hero-content{position:absolute;top:49%;transform:translateY(-44%);left:9%;max-width:770px}.hero-kicker{font:11px var(--mono);letter-spacing:.2em;color:#cce0d2}.hero-title{font:clamp(70px,10.5vw,174px)/.89 var(--display);font-weight:400;letter-spacing:-.045em;margin:25px 0 35px}.hero-title em,.manifesto em,.schedule h2 em,.people h2 em,.sanctuary h2 em,.finale h2 em,.film-copy h2 em{font-weight:400;color:var(--mint)}.hero-intro{font-size:clamp(14px,1.2vw,17px);line-height:1.9;max-width:475px;color:#f8f9f2}.hero-actions,.finale-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-width:205px;padding:19px 22px;border-radius:2px;border:1px solid #c6d5c5;color:var(--cream);font-size:12px;background:transparent;position:relative;isolation:isolate;overflow:hidden;transition:transform .25s,border-color .25s,color .4s}.btn>b{font-size:19px;font-weight:400;transition:transform .3s}.btn:hover>b{transform:translate(4px,-4px)}.btn.liquid{background:var(--mint);color:#11251f;border-color:var(--mint)}.btn.liquid:before{content:'';position:absolute;inset:0;background:#f0e6d1;transform:translateY(102%);transition:transform .48s cubic-bezier(.19,1,.22,1);z-index:-1}.btn.liquid:hover:before{transform:translateY(0)}.btn.outline:hover{background:var(--cream);color:var(--ink)}.scroll-wheel{border:1px solid #ffffff65;border-radius:30px;width:22px;height:35px;display:grid;place-items:start center;padding:7px}.scroll-wheel span{width:2px;height:7px;background:white;animation:wheel 2s infinite}@keyframes wheel{to{transform:translateY(9px);opacity:0}}.manifesto{padding:clamp(100px,15vw,240px) 8vw 70px;background:var(--cream);color:var(--ink);min-height:95vh}.manifesto .tiny-label{color:#637e73}.manifesto h2{font:clamp(58px,7.9vw,134px)/1.05 var(--display);font-weight:400;letter-spacing:-.04em;margin:60px 0 40px}.manifesto h2 em{color:#578a7c}.manifesto h2 span{color:#ae9a76}.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:20%;padding-left:29%;font-size:clamp(15px,1.25vw,19px);line-height:1.8}.manifesto-grid p:nth-child(2){color:#78847c}.line-decoration{display:flex;align-items:center;gap:20px;font:10px var(--mono);letter-spacing:.14em;margin-top:100px}.line-decoration div{height:1px;background:#9ca49e;flex:1}.story-scroll{height:500vh;position:relative;background:#101b18}.film-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.film-image{position:absolute;inset:-5%;background-size:cover;background-position:center;filter:brightness(.78);transition:background-image .15s, transform 1s ease;transform:scale(1.02)}.film-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#091613b3,transparent 75%),linear-gradient(0deg,#0c1815a3,transparent 55%,#0a171565)}.film-top,.film-bottom{position:absolute;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;z-index:2;font:11px var(--mono);letter-spacing:.14em}.film-top{top:120px}.film-bottom{bottom:45px}.film-dots{display:flex;gap:12px}.film-dots i{height:2px;width:30px;background:#ffffff52;transition:background .3s,width .3s}.film-dots i.selected{background:var(--mint);width:70px}.film-copy{position:absolute;z-index:2;top:50%;left:11%;transform:translateY(-35%);max-width:850px;transition:opacity .28s,transform .45s}.film-copy.changing{opacity:0;transform:translateY(-28%)}.film-copy>span{font:12px var(--mono);letter-spacing:.15em;color:var(--mint)}.film-copy h2{font:clamp(54px,8vw,125px)/.99 var(--display);font-weight:400;letter-spacing:-.04em;margin:22px 0 25px}.film-copy p{max-width:485px;line-height:1.8;font-size:16px;color:#ecefe6}.film-steps{position:absolute;inset:0;pointer-events:none}.film-steps div{height:20%}.schedule{background:#192d28;padding:140px 8% 150px}.schedule-head{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.schedule-head .eyebrow{grid-column:1/-1}.schedule h2{font:clamp(65px,7vw,120px)/1 var(--display);font-weight:400;margin:20px 0 50px;letter-spacing:-.045em}.schedule-head>p{max-width:360px;line-height:1.8;color:#b5c2bb;margin-bottom:60px}.schedule-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:5%;align-items:center}.schedule-list{border-top:1px solid #ffffff30}.schedule-item{width:100%;display:grid;grid-template-columns:37px 1fr 80px 22px;gap:10px;align-items:center;text-align:left;padding:30px 14px;border:none;border-bottom:1px solid #ffffff30;background:transparent;color:var(--cream);transition:background .4s,padding-left .3s}.schedule-item.active,.schedule-item:hover{background:#aecdb719;padding-left:25px}.schedule-item strong{font:clamp(23px,2.45vw,41px) var(--display);font-weight:400}.schedule-item span,.schedule-item small{font:10px var(--mono);color:#c3d3c7}.schedule-item b{font-weight:400;font-size:21px}.schedule-preview{background:#eceddf;color:#1c302a;overflow:hidden}.schedule-photo{height:360px;background:url('assets/chapel.jpg') center/cover;transition:opacity .2s}.schedule-photo.fading{opacity:.4}.schedule-info{padding:35px 35px 38px}.schedule-info>span{font:10px var(--mono);letter-spacing:.15em;color:#628878}.schedule-info h3{font:50px var(--display);font-weight:400;margin:18px 0}.schedule-info p{font-size:14px;line-height:1.7;max-width:470px}.text-link{border:0;border-bottom:1px solid #3a5144;background:transparent;font:10px var(--mono);letter-spacing:.08em;padding:18px 0 9px;margin-top:15px;display:flex;gap:40px;align-items:center}.text-link span{font-size:18px}.quote-section{min-height:86vh;display:grid;place-items:center;position:relative;overflow:hidden}.quote-backdrop{position:absolute;inset:-4%;background:url('assets/bible.jpg') center/cover;filter:brightness(.38) saturate(.6);transform:scale(1.08)}.quote-section:after{content:'';position:absolute;inset:0;background:#14231e75}.quote-inner{text-align:center;position:relative;z-index:2;max-width:1000px;padding:100px 35px}.quote-inner p{font:clamp(38px,5.5vw,95px)/1.18 var(--display);margin:30px 0}.quote-inner>span:last-child{font:11px var(--mono);letter-spacing:.18em;color:#dcd8cd}.people{padding:150px 8%;background:var(--cream);color:var(--ink)}.people-head{display:flex;justify-content:space-between;gap:60px;align-items:end}.people-head .eyebrow{color:#5d8378}.people h2{font:clamp(60px,7vw,125px)/1 var(--display);font-weight:400;letter-spacing:-.05em;margin:25px 0 60px}.people h2 em{color:#619282}.people-head>p{max-width:320px;line-height:1.9;color:#67776d;margin-bottom:60px}.people-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:400px 330px;gap:18px}.photo-feature{position:relative;overflow:hidden;background:#24312d;isolation:isolate}.photo-feature.first{grid-row:span 2}.feature-img{position:absolute;inset:0;background-position:center;background-size:cover;filter:brightness(.72);transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter 1s}.photo-feature:hover .feature-img,.photo-feature:focus-visible .feature-img{transform:scale(1.08);filter:brightness(.6)}.photo-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a1513de,transparent 70%);z-index:-1}.feature-caption{position:absolute;bottom:8%;left:8%;right:8%;color:white}.feature-caption span{font:10px var(--mono);letter-spacing:.15em;color:var(--mint)}.feature-caption h3{font:clamp(35px,4vw,60px) var(--display);margin:13px 0}.feature-caption p{font-size:13px;margin:0;color:#e0e2dd}.sanctuary{background:#e5e2d5;color:var(--ink);padding:145px 0 70px}.sanctuary-intro{padding:0 8%;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.sanctuary-intro .eyebrow{grid-column:1/-1;color:#658579}.sanctuary h2{font:clamp(60px,8vw,135px)/1 var(--display);font-weight:400;letter-spacing:-.04em;margin:20px 0 70px}.sanctuary h2 em{color:#6b9387}.sanctuary-intro p{max-width:340px;line-height:1.9;color:#65756b;margin-bottom:80px}.panorama{height:min(70vw,650px);min-height:360px;overflow:hidden;position:relative;cursor:ew-resize}.panorama-photo{position:absolute;inset:-5% -10%;background:url('assets/cathedral-premium.png') center 48%/cover;transition:transform .18s ease-out}.panorama-sheen{position:absolute;inset:0;background:linear-gradient(0deg,#071613a1,transparent 40%)}.panorama-label{position:absolute;bottom:35px;left:6%;right:6%;display:flex;justify-content:space-between;color:#fff;font:11px var(--mono);letter-spacing:.17em}.sanctuary-bottom{padding:35px 8% 0;display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.19em}.finale{min-height:93vh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden}.finale-bg{position:absolute;inset:-8%;background:url('assets/church-exterior.jpg') center/cover;filter:brightness(.35);transform:scale(1.09)}.finale:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#132520cc,#13252033)}.finale-contents{position:relative;z-index:2;padding:100px 5%}.finale h2{font:clamp(64px,9vw,150px)/1 var(--display);font-weight:400;letter-spacing:-.048em;margin:35px 0}.finale-contents>p{max-width:500px;line-height:1.9;margin:0 auto;color:#e6e9e0}.finale-buttons{justify-content:center}footer{background:#101e1b;padding:90px 8% 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff36;padding-bottom:55px}.footer-logo{font:clamp(45px,6vw,95px) var(--display)}.footer-logo em{font-size:.6em;color:var(--mint)}.footer-top>p{line-height:1.7;color:#adbbb1}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:60px 0}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-grid small{font:11px var(--mono);color:var(--mint);letter-spacing:.13em}.footer-grid p{font-size:13px;line-height:1.9;color:#c0cdc2}.footer-grid i{color:#92a394;font-size:11px}.footer-grid a,.footer-link{font-size:14px;border:0;background:none;color:#dce7dc;padding:0;cursor:pointer}.footer-grid a:hover,.footer-link:hover{color:var(--mint)}.footer-end{border-top:1px solid #ffffff30;padding-top:25px;display:flex;justify-content:space-between;font:10px var(--mono);color:#adbbb1;letter-spacing:.11em}dialog{width:min(94vw,510px);background:#f6f1e6;color:#172a25;border:0;padding:48px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#05100bce;backdrop-filter:blur(8px)}dialog .eyebrow{color:#6b8a7a}dialog h2{font:60px var(--display);margin:20px 0}dialog>p{line-height:1.7;font-size:14px;color:#63756c}dialog form{display:grid;gap:15px;margin-top:28px}dialog label{font:12px var(--body);display:grid;gap:7px}dialog input,dialog textarea{width:100%;padding:14px;background:#ffffffab;border:1px solid #c1cabf;color:#203127}dialog textarea{min-height:95px;resize:vertical}dialog .form-submit{width:100%;margin-top:9px}dialog .dialog-close{position:absolute;right:18px;top:12px;background:transparent;border:0;font-size:30px;color:#203127}.small-note{font-size:11px;color:#7d8980!important}.dialog-result{background:#dceadd;padding:18px;line-height:1.6;white-space:pre-wrap;font-size:13px}.reveal{opacity:0;transform:translateY(25px);animation:rise 1s .65s forwards}.reveal:nth-child(2){animation-delay:.75s}.reveal:nth-child(3){animation-delay:.87s}.reveal:nth-child(4){animation-delay:1s}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.desktop-nav,.service-indicator{display:none}.nav{height:72px}.hero-content{left:6%;top:50%}.hero-title{font-size:clamp(62px,11vw,105px)}.manifesto-grid{padding-left:0;gap:5%}.schedule-layout,.schedule-head,.sanctuary-intro{grid-template-columns:1fr}.schedule-head .eyebrow,.sanctuary-intro .eyebrow{grid-column:auto}.schedule-head>p,.sanctuary-intro p{margin:0 0 50px}.schedule h2,.sanctuary h2{margin-bottom:15px}.people-head{display:block}.people-head>p{margin-bottom:45px}.film-copy{left:7%}.footer-top{gap:30px}}@media(max-width:650px){.hero{min-height:600px}.hero-top{font-size:8px;top:92px}.hero-bottom span:last-child{display:none}.hero-title{font-size:clamp(57px,14vw,90px)}.hero-intro{max-width:90%;font-size:13px}.hero-actions{gap:8px}.btn{padding:16px;min-width:170px;font-size:11px;gap:20px}.manifesto{padding:115px 7% 50px;min-height:auto}.manifesto h2{font-size:clamp(45px,11vw,74px);margin-top:35px}.manifesto-grid{grid-template-columns:1fr;gap:0;font-size:14px}.line-decoration{margin-top:45px;font-size:8px}.film-copy h2{font-size:clamp(52px,11vw,77px)}.film-copy p{font-size:14px}.film-top,.film-bottom{left:6%;right:6%;font-size:8px}.film-bottom>span{display:none}.film-dots i{width:22px}.film-dots i.selected{width:36px}.schedule,.people{padding:100px 6%}.schedule h2,.people h2,.sanctuary h2{font-size:clamp(57px,12vw,82px)}.schedule-item{grid-template-columns:25px 1fr 66px 16px;gap:6px;padding:23px 7px}.schedule-item strong{font-size:27px}.schedule-item small{font-size:9px}.schedule-photo{height:260px}.schedule-info{padding:23px}.people-grid{display:flex;flex-direction:column}.photo-feature{height:380px;flex:none}.photo-feature.first{height:460px}.sanctuary{padding-top:95px}.sanctuary-intro{padding:0 6%}.sanctuary-bottom{font-size:8px}.panorama-label{font-size:8px}.finale h2{font-size:clamp(59px,11vw,85px)}.finale-buttons{flex-direction:column;align-items:center}.footer-top,.footer-end{display:block}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}footer{padding:70px 6% 25px}.footer-end span{display:block;margin:10px 0}.menu-panel-inner{padding:100px 6%}dialog{padding:32px 23px}dialog h2{font-size:47px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.intro{display:none}.reveal{opacity:1;transform:none}.story-scroll{height:150vh}}
