:root { --night:#100a17; --night-soft:#1a1025; --plum:#331133; --wine:#521728; --rose:#cc7e9a; --lilac:#c5b0dc; --moon:#f2ddaf; --ivory:#f8f0e7; --mist:#e9d9eb; --muted:#bdaebb; --line:rgba(242,221,175,.22); --display:"Playfair Display",Georgia,serif; --body:"DM Sans",Helvetica,Arial,sans-serif; }


* { box-sizing:border-box; }


html { scroll-behavior:smooth; }


body { margin:0; background:var(--night); color:var(--ivory); font-family:var(--body); font-size:16px; line-height:1.6; }


@media (min-width:781px) { html { font-size:80%; } body { font-size:1rem; } }

@media (min-width:781px) { html.home-page { font-size:96%; } }

@media (min-width:781px) {
  html.home-page .site-header { padding:1rem clamp(1.041667rem,5vw,4.166667rem); }
  html.home-page .brand { font-size:.966667rem; }
  html.home-page nav { gap:clamp(.55rem,1vw,.9rem); font-size:.7rem; }
  html.home-page .nav-contact,
  html.home-page .nav-intake { padding:.541667rem .75rem; }
  html.home-page .hero { grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr); }
  html.home-page .hero-copy { max-width:780px; }
  html.home-page .hero h1 { max-width:760px; font-size:clamp(3rem,4.7vw,5.2rem); }
  html.home-page .hero-intro { max-width:560px; font-size:clamp(1.12rem,1.5vw,1.35rem); }
}


a { color:inherit; text-decoration:none; }


.skip-link { position:fixed; z-index:10; top:12px; left:12px; transform:translateY(-170%); padding:.6rem .9rem; background:var(--ivory); color:var(--night); }

.skip-link:focus { transform:translateY(0); }


.site-header { position:relative; z-index:4; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.2rem clamp(1.25rem,5vw,5rem); border-bottom:1px solid var(--line); background:rgba(16,10,23,.8); }

.brand { display:inline-flex; align-items:center; gap:.55rem; font-family:var(--display); font-size:1.16rem; font-weight:600; letter-spacing:-.02em; }

.brand-mark,.spark { color:var(--moon); font-size:1.15em; }


nav { display:flex; align-items:center; gap:clamp(.65rem,1vw,1.1rem); font-size:.84rem; letter-spacing:.12em; text-transform:uppercase; }


nav a:not(.nav-contact):not(.nav-intake) { border-bottom:1px solid transparent; }


nav a:not(.nav-contact):not(.nav-intake):hover { border-color:var(--moon); color:var(--moon); }

.nav-contact,.nav-intake { display:inline-flex; align-items:center; justify-content:center; padding:.65rem .9rem; font-family:var(--body); font-style:normal; line-height:1.15; text-align:center; }
.nav-contact { border:1px solid var(--moon); color:var(--moon); }
.nav-intake { border:1px solid var(--moon); background:var(--moon); color:var(--night); font-weight:700; }
.nav-intake:hover { background:var(--ivory); border-color:var(--ivory); color:var(--night); }

.mobile-nav-toggle { display:none; }


.hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr); min-height:min(790px,calc(100vh - 78px)); padding:clamp(4rem,9vw,8.5rem) clamp(1.25rem,10vw,11rem) clamp(3.5rem,7vw,7rem); overflow:hidden; background:radial-gradient(circle at 88% 12%,rgba(197,176,220,.16),transparent 20rem),radial-gradient(circle at 12% 92%,rgba(82,23,40,.55),transparent 31rem),var(--night); }

.celestial { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }

.moon { position:absolute; top:8%; right:8%; width:clamp(155px,20vw,300px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 38% 36%,#fff7d8 0 4%,var(--moon) 23%,#d0b27b 72%,#a17754); box-shadow:0 0 70px rgba(242,221,175,.24); opacity:.86; }

.cloud { position:absolute; width:48vw; height:8vw; min-height:80px; border-radius:50%; background:linear-gradient(180deg,rgba(91,65,108,.7),rgba(35,20,48,.22)); filter:blur(12px); }

.cloud::before,.cloud::after { content:""; position:absolute; bottom:-22%; width:58%; aspect-ratio:1.6; border-radius:50%; background:inherit; }

.cloud::before { left:7%; }

.cloud::after { right:1%; }

.cloud-one { top:21%; right:-10%; transform:rotate(-7deg); }

.cloud-two { top:55%; left:-24%; transform:rotate(4deg); opacity:.9; }

.cloud-three { top:8%; left:-27%; width:42vw; opacity:.4; transform:rotate(8deg); }

.cloud-four { right:-20%; bottom:3%; width:38vw; opacity:.36; transform:rotate(-8deg); }

.star { position:absolute; color:var(--moon); opacity:.75; }

.star-one { top:31%; left:7%; font-size:1.2rem; }

.star-two { top:30%; right:36%; font-size:1.8rem; }

.star-three { bottom:14%; left:43%; font-size:.85rem; }


.hero-copy { position:relative; z-index:1; align-self:center; max-width:740px; }

.eyebrow { margin:0 0 1.3rem; color:var(--moon); font-size:.72rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }

.eyebrow span { margin-right:.35rem; }

h1,h2,h3,p { margin-top:0; }

h1,h2,h3 { font-family:var(--display); font-weight:500; line-height:.98; letter-spacing:-.045em; }

h1 { max-width:720px; margin-bottom:1.75rem; font-size:clamp(2.4rem,4.5vw,4.8rem); }

.hero h1 { max-width:650px; margin-bottom:1.35rem; color:var(--ivory); font-size:clamp(2.4rem,3.75vw,4rem); font-weight:500; line-height:1.03; text-wrap:balance; }

.hero h1 em { display:block; width:fit-content; margin:.08em 0 0 clamp(.55rem,2.5vw,2.1rem); color:var(--lilac); font-family:"Cormorant Garamond",var(--display); font-size:1.09em; font-weight:500; letter-spacing:-.055em; line-height:.9; transform:rotate(-1.5deg); }

.hero h1::after { content:""; display:block; width:clamp(4rem,10vw,8rem); height:1px; margin:1.15rem 0 0 .2rem; background:linear-gradient(90deg,rgba(242,221,175,.85),rgba(242,221,175,0)); }

h1 em,h2 em { color:var(--lilac); font-weight:500; }

.hero-intro { max-width:470px; margin-bottom:2.3rem; color:var(--mist); font-size:clamp(1rem,1.4vw,1.2rem); }

.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; }

.button,button { font-family:var(--body); font-style:normal; text-align:center; }

.button { position:relative; display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.85rem 1.25rem; font-size:.75rem; font-weight:600; letter-spacing:.11em; line-height:1.15; text-align:center; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }

.button.button>span[aria-hidden="true"] { display:none; }

.button:hover { transform:translateY(-2px); }

.button-primary { color:var(--night); background:var(--moon); }

.text-link { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:.18rem; font-size:.74rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }

.text-link span { margin-left:.25rem; }

.hero .text-link { color:var(--ivory); }


.photo-placeholder { position:relative; display:grid; place-items:center; overflow:hidden; min-height:280px; color:rgba(248,240,231,.85); text-align:center; text-transform:uppercase; letter-spacing:.14em; font-size:.67rem; line-height:1.8; background:radial-gradient(circle at 70% 18%,rgba(242,221,175,.27),transparent 25%),linear-gradient(145deg,rgba(197,176,220,.26),transparent 44%),linear-gradient(35deg,#643650,#160f22 66%); }

.photo-placeholder::before { content:""; position:absolute; inset:1.1rem; border:1px solid rgba(242,221,175,.45); }

.photo-placeholder::after { content:"✦"; position:absolute; bottom:1rem; right:1.1rem; color:var(--moon); font-size:1.1rem; }

.photo-placeholder span { position:relative; z-index:1; }

.photo-placeholder small { color:var(--lilac); font-size:.75em; }

.hero-portrait { justify-self:end; width:min(100%,430px); min-height:510px; transform:rotate(3deg); box-shadow:1.4rem 1.4rem 0 rgba(242,221,175,.12); }

.portrait { position:relative; margin:0; overflow:hidden; background:#211225; }

.hero-portrait.public-portrait { position:relative; isolation:isolate; overflow:visible; padding:clamp(.62rem,1.45vw,1rem); border:1px solid #f8e3a2; background:repeating-linear-gradient(113deg,rgba(80,49,15,.3) 0 2px,transparent 2px 7px),linear-gradient(135deg,#5b3914 0%,#f8dfa0 14%,#9a6726 25%,#ffeeb9 42%,#76501e 58%,#edc771 78%,#6a4318 100%); box-shadow:0 0 0 2px #4f3012,0 0 0 4px #dab665,0 0 0 6px rgba(54,31,13,.92),0 0 0 8px rgba(242,221,175,.44),1.4rem 1.4rem 0 rgba(242,221,175,.12),0 1.1rem 2.8rem rgba(0,0,0,.44); }

.hero-portrait.public-portrait::before { content:""; position:absolute; z-index:-1; inset:-.76rem; border:1px solid rgba(255,235,173,.88); background:repeating-linear-gradient(45deg,rgba(255,237,180,.18) 0 2px,transparent 2px 7px),linear-gradient(135deg,rgba(87,54,18,.94),rgba(247,221,150,.72) 18%,rgba(94,55,17,.91) 40%,rgba(253,230,165,.64) 61%,rgba(76,45,14,.94)); box-shadow:inset 0 0 0 2px rgba(60,35,12,.92),inset 0 0 0 5px rgba(246,218,142,.24),0 .45rem 1.4rem rgba(0,0,0,.35); }

.hero-portrait.public-portrait::after { content:""; position:absolute; z-index:2; inset:.17rem; border:1px solid rgba(255,239,189,.75); box-shadow:inset 0 0 0 2px rgba(79,47,14,.75),inset 0 0 0 4px rgba(249,225,159,.32); pointer-events:none; }

.hero-portrait.public-portrait img { position:relative; z-index:1; border:1px solid rgba(69,42,16,.85); object-position:center 46%; }
.hero-portrait.public-portrait.hero-logo { align-self:center; width:min(100%,558px); min-height:0; aspect-ratio:3 / 2; }
.hero-portrait.public-portrait.hero-logo img { height:100%; min-height:0; object-fit:cover; object-position:center; background:radial-gradient(circle at 14% 18%,rgba(255,238,182,.82) 0 .12rem,transparent .14rem),radial-gradient(circle at 82% 22%,rgba(255,238,182,.58) 0 .09rem,transparent .11rem),radial-gradient(circle at 74% 78%,rgba(255,238,182,.68) 0 .1rem,transparent .12rem),radial-gradient(ellipse at 20% 25%,rgba(197,176,220,.24),transparent 34%),radial-gradient(ellipse at 78% 71%,rgba(204,126,154,.2),transparent 37%),radial-gradient(ellipse at 48% 52%,rgba(242,221,175,.09),transparent 56%),linear-gradient(145deg,#1a1026,#301935 52%,#160d21); }

.frame-ornament { position:absolute; z-index:3; color:#fae7a7; font-family:var(--display); font-size:clamp(3rem,5.7vw,4.55rem); line-height:1; text-shadow:0 1px 0 #5d3510,0 2px 0 #8a5a1d,0 0 .8rem rgba(255,229,155,.62); pointer-events:none; }

.frame-ornament-tl { top:-1.9rem; left:-1.5rem; transform:rotate(-24deg); }
.frame-ornament-tr { top:-1.9rem; right:-1.5rem; transform:scaleX(-1) rotate(-24deg); }
.frame-ornament-bl { bottom:-1.9rem; left:-1.5rem; transform:scaleY(-1) rotate(-24deg); }
.frame-ornament-br { right:-1.5rem; bottom:-1.9rem; transform:scale(-1) rotate(-24deg); }

.frame-cartouche { position:absolute; z-index:4; left:50%; color:#fdecaf; font-family:var(--display); font-size:clamp(.8rem,1.6vw,1.15rem); letter-spacing:.1em; line-height:1; text-shadow:0 1px 0 #674012,0 0 .5rem rgba(255,229,155,.7); transform:translateX(-50%); pointer-events:none; white-space:nowrap; }

.frame-cartouche-top { top:-1.05rem; }
.frame-cartouche-bottom { bottom:-1.05rem; transform:translateX(-50%) scaleY(-1); }

.portrait img { display:block; width:100%; height:100%; min-height:510px; object-fit:cover; object-position:center; }

.personal-photo { position:relative; margin:0; overflow:hidden; background:#211225; }

.personal-photo img { display:block; width:100%; height:100%; min-height:100%; object-fit:cover; object-position:center; }

.private-photo-gate { position:relative; z-index:1; display:grid; place-content:center; justify-items:center; gap:.65rem; width:100%; min-height:100%; height:100%; padding:2rem; color:var(--ivory); text-align:center; background:radial-gradient(circle at 65% 18%,rgba(242,221,175,.18),transparent 22%),linear-gradient(145deg,rgba(197,176,220,.22),transparent 44%),linear-gradient(35deg,#4c273f,#120b1a 67%); }

.private-photo-gate::before { content:""; position:absolute; inset:1rem; border:1px solid rgba(242,221,175,.45); }

.private-photo-gate span,.private-photo-gate strong,.private-photo-gate small { position:relative; z-index:1; }

.private-photo-gate span { color:var(--moon); font-size:1.4rem; }

.private-photo-gate strong { font-family:var(--display); font-size:1.55rem; font-style:italic; font-weight:500; }

.private-photo-gate small { color:var(--lilac); font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }

.private-photo-gate .private-gate-copy { max-width:28rem; color:var(--ivory); font-size:.9rem; letter-spacing:.03em; line-height:1.55; text-transform:none; }

.private-intake-link { position:relative; z-index:1; margin-top:.35rem; }

.private-photo-gate:hover { background:radial-gradient(circle at 65% 18%,rgba(242,221,175,.27),transparent 22%),linear-gradient(145deg,rgba(204,126,154,.36),transparent 44%),linear-gradient(35deg,#4c273f,#120b1a 67%); }

.hero-caption { position:absolute; bottom:1.8rem; right:clamp(1.25rem,10vw,11rem); margin:0; color:rgba(248,240,231,.52); font-family:var(--display); font-size:.95rem; font-style:italic; }


.section { padding:clamp(4.5rem,9vw,9rem) clamp(1.25rem,10vw,11rem); }

.section-label { display:flex; align-items:center; gap:.8rem; margin-bottom:2.4rem; color:var(--muted); font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; }

.section-label::after { content:""; width:min(13vw,120px); height:1px; background:var(--line); }

.section-label span { color:var(--moon); }

.about { background:linear-gradient(145deg,#211225,#110b18 60%); }

.about-grid { display:grid; grid-template-columns:minmax(270px,.86fr) minmax(0,1fr); align-items:center; gap:clamp(2.5rem,8vw,9rem); max-width:1200px; margin:0 auto; }

.about-image { min-height:550px; box-shadow:-1rem 1rem 0 rgba(204,126,154,.32); }

.about-copy { max-width:560px; }

.about-copy .eyebrow { margin-bottom:.9rem; color:var(--rose); }

h2 { margin-bottom:1.35rem; font-size:clamp(2.2rem,3.5vw,3.95rem); }

.about h2 em { color:var(--lilac); }

.lead { color:var(--mist); font-family:var(--display); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.35; }

.about-copy p:not(.eyebrow) { color:var(--muted); }

.about-copy .text-link { margin-top:1rem; color:var(--moon); }


.worthiness { position:relative; display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(2.5rem,9vw,10rem); align-items:center; overflow:hidden; background:radial-gradient(circle at 22% 50%,rgba(197,176,220,.2),transparent 20rem),linear-gradient(125deg,#2a102a,#130b1c 70%); }

.worthiness-mark { position:relative; min-height:390px; display:grid; place-items:center; color:var(--moon); font-family:var(--display); }

.worthiness-mark::before { content:""; position:absolute; width:min(28vw,340px); aspect-ratio:1; border:1px solid rgba(242,221,175,.38); border-radius:50%; }

.worthiness-mark span { position:relative; z-index:1; font-size:clamp(10rem,20vw,18rem); line-height:1; opacity:.82; }

.worthiness-mark i,.worthiness-mark b { position:absolute; color:var(--lilac); font-size:1.2rem; font-style:normal; }
.worthiness-mark i { top:18%; right:16%; }
.worthiness-mark b { bottom:22%; left:17%; }

.worthiness-copy { position:relative; max-width:690px; }
.worthiness-copy .section-label { margin-bottom:1.7rem; }
.worthiness-copy .eyebrow { color:var(--rose); margin-bottom:.9rem; }
.worthiness-copy h2 em { color:var(--lilac); }
.worthiness-copy .lead { max-width:590px; }
.worthiness-copy p:not(.eyebrow) { color:var(--muted); }
.worthiness-copy .button { margin-top:1rem; }


.quote-band { display:grid; place-items:center; min-height:410px; padding:3rem 1.25rem; text-align:center; background:radial-gradient(circle,rgba(82,23,40,.5),transparent 50%),#190d21; }

.quote-band .spark { font-size:1.5rem; }

blockquote { max-width:950px; margin:1.7rem 0 0; font-family:var(--display); font-size:clamp(2.15rem,5.2vw,5rem); font-style:italic; line-height:1.08; letter-spacing:-.04em; }


.album { background:#211225; }

.album-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:3rem; }

.album-heading h2 { max-width:730px; margin:0; }

.album-heading h2 em { color:var(--rose); }

.album-heading>p { max-width:300px; margin:0; color:var(--muted); }

.album-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; align-items:stretch; }

.album-photo,.album-tall { aspect-ratio:1 / 1; min-height:0; margin:0; }

.album-photo figcaption { position:absolute; z-index:1; bottom:1.5rem; left:1.5rem; right:1.5rem; color:var(--ivory); font-family:var(--display); font-size:1.35rem; font-style:italic; letter-spacing:-.02em; text-align:left; text-transform:none; }


.journal { background:var(--night); }

.journal-heading { max-width:850px; margin-bottom:3rem; }

.journal-heading h2 { max-width:720px; margin-bottom:1.1rem; }

.journal-heading h2 em { color:var(--lilac); }

.journal-heading>p { max-width:560px; color:var(--muted); }

.journal-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }

.journal-item { min-height:250px; display:flex; flex-direction:column; gap:1rem; padding:1.5rem 1.5rem 1.5rem 0; border-bottom:1px solid var(--line); border-right:1px solid var(--line); transition:background .2s ease,padding .2s ease; }

.journal-item:not(:first-child) { padding-left:1.5rem; }

.journal-item:last-child { border-right:0; }

.journal-item:hover { padding-top:1.15rem; background:rgba(197,176,220,.08); }

.journal-item span,.journal-item i { color:var(--muted); font-size:.67rem; font-style:normal; letter-spacing:.12em; text-transform:uppercase; }

.journal-item strong { font-family:var(--display); font-size:clamp(1.4rem,2.3vw,2.1rem); font-weight:500; line-height:1.08; }

.journal-item i { margin-top:auto; color:var(--moon); }


.contact { position:relative; display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,10vw,11rem); overflow:hidden; background:linear-gradient(120deg,#32102d,#150b20 70%); }

.contact::before { content:"☾"; position:absolute; right:7%; bottom:-21%; color:rgba(242,221,175,.09); font-family:var(--display); font-size:clamp(17rem,35vw,39rem); line-height:1; }

.contact>* { position:relative; z-index:1; }

.contact h2 { margin:0; }

.contact-copy { max-width:405px; align-self:end; }

.contact-copy>p:first-child { color:var(--mist); font-size:1.08rem; }

.button-light { margin:1.25rem 0 .7rem; color:var(--night); background:var(--moon); text-transform:none; letter-spacing:.02em; font-size:.92rem; }

.contact-note { color:rgba(248,240,231,.5); font-size:.77rem; }


.site-footer { display:grid; grid-template-columns:1fr auto; gap:1rem 3rem; padding:2.2rem clamp(1.25rem,5vw,5rem); border-top:1px solid var(--line); background:#0b0710; color:rgba(248,240,231,.78); }

.site-footer>p { margin:0; font-size:.83rem; }

.social-links { display:flex; gap:1.3rem; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }

.social-links a:hover { color:var(--moon); }

.site-footer small { grid-column:1/-1; padding-top:1.2rem; border-top:1px solid rgba(248,240,231,.14); color:rgba(248,240,231,.46); font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; }


.gate-page { min-height:100vh; display:grid; place-items:center; padding:2rem; background:radial-gradient(circle at 18% 83%,rgba(82,23,40,.58),transparent 25rem),radial-gradient(circle at 84% 14%,rgba(197,176,220,.18),transparent 20rem),var(--night); }

.gate-shell { width:min(100%,740px); }
.gate-shell>.brand { margin-bottom:3rem; }
.gate-card { position:relative; overflow:hidden; padding:clamp(2.5rem,7vw,5rem); border:1px solid var(--line); background:rgba(32,17,40,.82); box-shadow:1.3rem 1.3rem 0 rgba(242,221,175,.09); }
.gate-card::before { content:""; position:absolute; inset:1.1rem; border:1px solid rgba(242,221,175,.2); pointer-events:none; }
.gate-card>* { position:relative; z-index:1; }
.gate-moon { position:absolute; z-index:0; top:-13rem; right:-3rem; color:rgba(242,221,175,.16); font-family:var(--display); font-size:26rem; line-height:1; }
.gate-card h1 { max-width:600px; font-size:clamp(2.2rem,4.2vw,3.65rem); }
.gate-card h1 em { color:var(--lilac); }
.gate-card>p:not(.eyebrow):not(.gate-error) { max-width:500px; color:var(--mist); font-size:1.06rem; }
.gate-card form { display:grid; gap:.8rem; max-width:420px; margin-top:2rem; }
.gate-card label { color:var(--moon); font-size:.69rem; letter-spacing:.13em; text-transform:uppercase; }
.gate-card input { min-height:50px; padding:.75rem 1rem; border:1px solid rgba(242,221,175,.45); border-radius:0; outline:none; background:rgba(9,5,14,.6); color:var(--ivory); font:inherit; }
.gate-card input:focus { border-color:var(--moon); box-shadow:0 0 0 3px rgba(242,221,175,.12); }
.gate-card .button { justify-self:start; margin-top:.5rem; border:0; cursor:pointer; }
.gate-error { color:#ffb8c8; }
.gate-note { margin:2rem 0 0; color:rgba(248,240,231,.45); font-family:var(--display); font-size:1rem; font-style:italic; text-align:center; }

.worship-page { background:radial-gradient(circle at 84% 11%,rgba(197,176,220,.15),transparent 22rem),radial-gradient(circle at 9% 76%,rgba(82,23,40,.52),transparent 30rem),var(--night); }
.worship-shell { width:min(100%,1040px); margin:0 auto; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,3rem); }
.worship-letter { position:relative; isolation:isolate; overflow:hidden; padding:clamp(2.4rem,7vw,6rem); border:1px solid var(--line); background:linear-gradient(135deg,rgba(45,24,53,.92),rgba(17,10,25,.95) 57%,rgba(62,25,47,.78)); box-shadow:1.35rem 1.35rem 0 rgba(242,221,175,.08); }
.worship-letter::before { content:""; position:absolute; z-index:-1; inset:1rem; border:1px solid rgba(242,221,175,.15); pointer-events:none; }
.worship-celestial { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }
.worship-moon { position:absolute; top:-6.8rem; right:-2.7rem; color:rgba(242,221,175,.14); font-family:var(--display); font-size:22rem; line-height:1; }
.worship-star { position:absolute; color:rgba(242,221,175,.7); }
.worship-star-one { top:19%; right:19%; font-size:1.15rem; }.worship-star-two { right:7%; bottom:23%; color:rgba(197,176,220,.75); font-size:1.8rem; }
.worship-cloud { position:absolute; width:42vw; height:6vw; min-height:70px; border-radius:50%; background:linear-gradient(180deg,rgba(91,65,108,.42),rgba(35,20,48,.02)); filter:blur(14px); }
.worship-cloud::before,.worship-cloud::after { content:""; position:absolute; bottom:-25%; width:56%; aspect-ratio:1.6; border-radius:50%; background:inherit; }.worship-cloud::before { left:7%; }.worship-cloud::after { right:2%; }
.worship-cloud-one { top:28%; left:-24%; transform:rotate(5deg); }.worship-cloud-two { right:-23%; bottom:9%; opacity:.55; transform:rotate(-8deg); }
.worship-intro { max-width:710px; margin-bottom:clamp(3rem,7vw,5.5rem); }
.worship-intro .eyebrow { margin-bottom:1.1rem; }.worship-constellation { margin:0 0 1.15rem; color:var(--moon); font-size:1.1rem; letter-spacing:.3em; }.worship-intro h1 { max-width:650px; margin:0; font-size:clamp(2.8rem,5.6vw,5.3rem); }.worship-intro h1 em { display:block; margin-left:clamp(1rem,5vw,4rem); color:var(--lilac); font-family:"Cormorant Garamond",var(--display); font-size:1.02em; letter-spacing:-.06em; transform:rotate(-1deg); }
.worship-prose { max-width:700px; }.worship-prose p { color:var(--mist); font-family:var(--display); font-size:clamp(1.16rem,1.75vw,1.48rem); line-height:1.62; }.worship-prose p:first-child { color:var(--ivory); font-size:clamp(1.42rem,2.4vw,1.9rem); line-height:1.4; }.worship-rules-intro { margin-top:3.3rem; color:var(--ivory) !important; }.worship-rules { display:grid; gap:1.1rem; margin:2rem 0 2.8rem; padding:0; list-style:none; counter-reset:rules; }.worship-rules li { position:relative; padding:1.25rem 1.3rem 1.25rem 4.3rem; border:1px solid rgba(242,221,175,.24); background:rgba(13,8,20,.38); color:var(--mist); font-family:var(--display); font-size:clamp(1.12rem,1.55vw,1.34rem); line-height:1.48; counter-increment:rules; }.worship-rules li::before { content:counter(rules,decimal-leading-zero); position:absolute; top:1.18rem; left:1.35rem; color:var(--moon); font-family:var(--body); font-size:.7rem; letter-spacing:.1em; }.worship-rules strong { color:var(--ivory); font-weight:600; }
.worship-prose h2 { margin:3.2rem 0 1rem; color:var(--ivory); font-family:var(--display); font-size:clamp(2rem,3.5vw,3.5rem); font-weight:500; line-height:1.04; }.ways-divider { width:7.5rem; margin:3.5rem 0; border:0; border-top:1px solid rgba(242,221,175,.44); }
.worship-prose h3 { margin:2.75rem 0 1rem; color:var(--moon); font-family:var(--display); font-size:clamp(1.65rem,2.7vw,2.5rem); font-weight:500; line-height:1.08; }

.ways-page { background:radial-gradient(circle at 9% 16%,rgba(242,221,175,.12),transparent 22rem),radial-gradient(circle at 84% 78%,rgba(82,23,40,.5),transparent 30rem),var(--night); }.ways-letter { background:linear-gradient(135deg,rgba(41,24,48,.94),rgba(17,10,25,.96) 54%,rgba(64,29,38,.85)); }.ways-intro { margin-bottom:clamp(3rem,7vw,5rem); }.ways-prose>p:nth-child(2) { max-width:620px; }.ways-list { display:grid; gap:1rem; margin:3rem 0; }.way-card { padding:clamp(1.5rem,3.5vw,2.25rem); border:1px solid rgba(242,221,175,.28); background:rgba(12,7,18,.42); }.way-card .eyebrow { margin-bottom:1rem; color:var(--moon); font-size:.82rem; }.way-card .eyebrow em { color:var(--lilac); font-family:var(--display); font-size:1.25em; font-style:italic; letter-spacing:0; text-transform:none; }.way-card p:not(.eyebrow) { max-width:590px; margin-bottom:1.35rem; color:var(--mist); font-family:var(--display); font-size:clamp(1.1rem,1.55vw,1.3rem); line-height:1.52; }.way-card .button { border:0; }.way-card .button span { margin-left:.25rem; }.first-tributes { margin:0 0 4rem; }.first-tributes h2 { margin-top:0; }.first-tribute-notes { display:grid; gap:1rem; margin:1.8rem 0 2.8rem; padding:0; list-style:none; }.first-tribute-notes li { padding:1.25rem 1.3rem; border:1px solid rgba(242,221,175,.24); background:rgba(12,7,18,.38); color:var(--mist); font-family:var(--display); font-size:clamp(1.08rem,1.55vw,1.28rem); line-height:1.52; }.first-tribute-notes strong { color:var(--ivory); font-weight:600; }.ways-prose a { color:var(--moon); text-decoration:underline; text-underline-offset:.18em; }.ways-prose .button-primary { color:var(--night); text-decoration:none; }.ways-closing { margin-top:3.3rem; color:var(--ivory) !important; font-size:clamp(1.45rem,2.5vw,2rem) !important; line-height:1.35 !important; }.first-tributes .ways-closing { margin:0 0 .4rem; }.ways-signoff { color:var(--lilac) !important; font-family:"Cormorant Garamond",var(--display) !important; font-size:clamp(1.65rem,3vw,2.45rem) !important; font-style:italic; }

.privacy-page { background:radial-gradient(circle at 12% 13%,rgba(197,176,220,.15),transparent 22rem),radial-gradient(circle at 82% 82%,rgba(82,23,40,.45),transparent 28rem),var(--night); }.privacy-letter { background:linear-gradient(145deg,rgba(27,27,48,.93),rgba(14,10,24,.97) 58%,rgba(41,24,49,.85)); }.privacy-prose h2,.faq-contact h2 { margin-top:3.4rem; color:var(--ivory); }.privacy-prose h2 em,.faq-contact h2 em { color:var(--lilac); }.privacy-notes { display:grid; gap:1rem; margin:2rem 0 2.8rem; padding:0; list-style:none; }.privacy-notes li { padding:1.25rem; border:1px solid rgba(242,221,175,.24); background:rgba(12,8,20,.38); color:var(--mist); font-family:var(--display); font-size:1.18rem; line-height:1.5; }.privacy-prose .button,.faq-contact .button { border:0; }.faq-page { background:radial-gradient(circle at 83% 10%,rgba(204,126,154,.15),transparent 22rem),radial-gradient(circle at 10% 82%,rgba(197,176,220,.11),transparent 26rem),var(--night); }.faq-letter { background:linear-gradient(145deg,rgba(47,21,45,.94),rgba(16,10,25,.97) 59%,rgba(37,25,51,.86)); }.faq-list { display:grid; gap:.85rem; }.faq-list details { border:1px solid rgba(242,221,175,.25); background:rgba(12,8,20,.38); }.faq-list summary { padding:1.2rem 3.4rem 1.2rem 1.25rem; color:var(--ivory); cursor:pointer; font-family:var(--display); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.25; }.faq-list summary::marker { color:var(--moon); }.faq-list details p { max-width:650px; margin:0; padding:0 1.25rem 1.35rem; color:var(--mist); font-family:var(--display); font-size:1.17rem; line-height:1.58; }.faq-list details p+p { padding-top:0; }.faq-list a { color:var(--moon); text-decoration:underline; text-underline-offset:.18em; }.faq-contact { margin-top:4.5rem; padding-top:3rem; border-top:1px solid rgba(242,221,175,.25); }.faq-contact>p:not(.eyebrow) { max-width:650px; color:var(--mist); font-family:var(--display); font-size:1.24rem; line-height:1.58; }.faq-contact .button { margin-top:1rem; }

.testaments-page { background:radial-gradient(circle at 12% 12%,rgba(242,221,175,.13),transparent 22rem),radial-gradient(circle at 88% 78%,rgba(197,176,220,.13),transparent 28rem),var(--night); }.testaments-letter { background:linear-gradient(145deg,rgba(47,24,52,.94),rgba(16,10,25,.97) 58%,rgba(54,25,45,.85)); }.testament-list { display:grid; gap:1.15rem; margin:2rem 0 3.2rem; }.testament { margin:0; padding:clamp(1.5rem,3.5vw,2.5rem); border:1px solid rgba(242,221,175,.27); background:rgba(12,8,20,.4); }.testament blockquote { max-width:620px; margin:0; color:var(--ivory); font-family:var(--display); font-size:clamp(1.25rem,2.05vw,1.75rem); font-style:italic; line-height:1.45; letter-spacing:-.02em; text-align:left; }.testament figcaption { margin-top:1.15rem; color:var(--moon); font-size:.72rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }.testament figcaption em { color:var(--lilac); font-family:var(--display); font-size:1.35em; font-style:italic; letter-spacing:0; text-transform:none; }.testaments-prose .button { border:0; }
.testaments-page .worship-intro h1.testaments-title { white-space:nowrap; }
.testaments-page .worship-intro h1.testaments-title .testaments-title-tail { display:inline !important; margin-left:0 !important; }

.bio-page { background:radial-gradient(circle at 86% 12%,rgba(204,126,154,.14),transparent 23rem),radial-gradient(circle at 8% 77%,rgba(197,176,220,.12),transparent 28rem),var(--night); }.bio-shell { width:min(100%,1080px); margin:0 auto; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,3rem); }.bio-letter { position:relative; isolation:isolate; overflow:hidden; padding:clamp(2.4rem,7vw,6rem); border:1px solid var(--line); background:linear-gradient(145deg,rgba(45,23,51,.93),rgba(17,10,25,.97) 57%,rgba(60,27,45,.84)); box-shadow:1.25rem 1.25rem 0 rgba(204,126,154,.1); }.bio-letter::before { content:""; position:absolute; z-index:-1; inset:1rem; border:1px solid rgba(242,221,175,.15); pointer-events:none; }.bio-celestial { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }.bio-moon { position:absolute; top:-7rem; right:-3rem; color:rgba(242,221,175,.11); font-family:var(--display); font-size:24rem; line-height:1; }.bio-star { position:absolute; color:rgba(242,221,175,.7); }.bio-star-one { top:21%; right:10%; font-size:1.3rem; }.bio-star-two { bottom:18%; left:7%; color:rgba(197,176,220,.72); font-size:1.7rem; }.bio-intro { max-width:720px; margin-bottom:clamp(3rem,7vw,5.5rem); }.bio-intro .eyebrow { margin-bottom:1.1rem; }.bio-constellation { margin:0 0 1.15rem; color:var(--moon); font-size:1.1rem; letter-spacing:.3em; }.bio-intro h1 { margin:0 0 1.2rem; font-size:clamp(2.8rem,5.6vw,5.3rem); }.bio-intro h1 em { display:block; margin-left:clamp(1rem,5vw,4rem); color:var(--rose); font-family:"Cormorant Garamond",var(--display); font-size:1.02em; letter-spacing:-.06em; transform:rotate(-1deg); }.bio-intro>p:last-child { max-width:530px; color:var(--mist); font-family:var(--display); font-size:clamp(1.35rem,2.2vw,1.8rem); line-height:1.4; }.bio-prose { max-width:735px; }.bio-prose>p,.bio-section>p { color:var(--mist); font-family:var(--display); font-size:clamp(1.13rem,1.65vw,1.42rem); line-height:1.62; }.bio-prose>p:first-child { color:var(--ivory); font-size:clamp(1.42rem,2.35vw,1.88rem); line-height:1.4; }.bio-section { margin-top:clamp(3.5rem,7vw,6.5rem); padding-top:clamp(2.3rem,4vw,3.6rem); border-top:1px solid rgba(242,221,175,.22); }.bio-section h2 { max-width:650px; margin-bottom:1.35rem; font-size:clamp(1.9rem,3.65vw,3.7rem); }.bio-section h2 em { color:var(--lilac); }.bio-section strong { color:var(--ivory); }.bio-closing p:last-child { color:var(--lilac); font-family:"Cormorant Garamond",var(--display); font-size:clamp(1.5rem,2.7vw,2.2rem); font-style:italic; }

.kept-page { background:radial-gradient(circle at 15% 11%,rgba(242,221,175,.14),transparent 20rem),radial-gradient(circle at 84% 80%,rgba(197,176,220,.14),transparent 28rem),var(--night); }.kept-shell { width:min(100%,1040px); margin:0 auto; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,3rem); }.kept-letter { position:relative; isolation:isolate; overflow:hidden; padding:clamp(2.4rem,7vw,6rem); border:1px solid var(--line); background:linear-gradient(145deg,rgba(38,25,48,.93),rgba(16,10,24,.97) 58%,rgba(49,26,48,.86)); box-shadow:-1.25rem 1.25rem 0 rgba(242,221,175,.09); }.kept-letter::before { content:""; position:absolute; z-index:-1; inset:1rem; border:1px solid rgba(242,221,175,.15); pointer-events:none; }.kept-celestial { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }.kept-moon { position:absolute; right:-3rem; bottom:-8rem; color:rgba(242,221,175,.12); font-family:var(--display); font-size:24rem; line-height:1; }.kept-star { position:absolute; color:rgba(242,221,175,.7); }.kept-star-one { top:18%; right:16%; font-size:1.3rem; }.kept-star-two { bottom:30%; left:9%; color:rgba(197,176,220,.72); font-size:1.7rem; }.kept-intro { max-width:700px; margin-bottom:clamp(3rem,7vw,5.5rem); }.kept-intro .eyebrow { margin-bottom:1.1rem; }.kept-constellation { margin:0 0 1.15rem; color:var(--moon); font-size:1.1rem; letter-spacing:.3em; }.kept-intro h1 { margin:0; font-size:clamp(2.8rem,5.6vw,5.3rem); }.kept-intro h1 em { display:block; margin-left:clamp(1rem,5vw,4rem); color:var(--lilac); font-family:"Cormorant Garamond",var(--display); font-size:1.02em; letter-spacing:-.06em; transform:rotate(-1deg); }.kept-prose { max-width:700px; }.kept-prose>p { color:var(--mist); font-family:var(--display); font-size:clamp(1.16rem,1.75vw,1.48rem); line-height:1.62; }.kept-prose>p:first-child { color:var(--ivory); font-size:clamp(1.42rem,2.4vw,1.9rem); line-height:1.4; }.kept-receive-intro { margin-top:3.3rem; color:var(--ivory) !important; }.kept-list { display:grid; gap:1.1rem; margin:2rem 0 2.8rem; padding:0; list-style:none; }.kept-list li { padding:1.3rem; border:1px solid rgba(242,221,175,.24); background:rgba(13,8,20,.38); color:var(--mist); font-family:var(--display); font-size:clamp(1.12rem,1.55vw,1.34rem); line-height:1.48; }.kept-list strong { color:var(--ivory); font-weight:600; }.kept-start { margin-top:1.25rem; border:0; }.kept-start span { margin-left:.25rem; }

.start-page { background:radial-gradient(circle at 13% 12%,rgba(204,126,154,.16),transparent 21rem),radial-gradient(circle at 82% 83%,rgba(197,176,220,.12),transparent 25rem),var(--night); }.start-shell { width:min(100%,1040px); margin:0 auto; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,3rem); }.start-letter { position:relative; isolation:isolate; overflow:hidden; padding:clamp(2.4rem,7vw,6rem); border:1px solid var(--line); background:linear-gradient(145deg,rgba(50,19,44,.9),rgba(18,10,27,.96) 56%,rgba(32,21,51,.88)); box-shadow:-1.25rem 1.25rem 0 rgba(204,126,154,.12); }.start-letter::before { content:""; position:absolute; z-index:-1; inset:1rem; border:1px solid rgba(242,221,175,.15); pointer-events:none; }.start-celestial { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }.start-moon { position:absolute; right:-3rem; bottom:-8.5rem; color:rgba(242,221,175,.12); font-family:var(--display); font-size:24rem; line-height:1; }.start-star { position:absolute; color:rgba(242,221,175,.7); }.start-star-one { top:19%; right:16%; font-size:1.3rem; }.start-star-two { bottom:28%; left:8%; color:rgba(197,176,220,.72); font-size:1.8rem; }.start-cloud { position:absolute; width:40vw; height:6vw; min-height:70px; border-radius:50%; background:linear-gradient(180deg,rgba(91,65,108,.38),rgba(35,20,48,.02)); filter:blur(14px); }.start-cloud::before,.start-cloud::after { content:""; position:absolute; bottom:-25%; width:56%; aspect-ratio:1.6; border-radius:50%; background:inherit; }.start-cloud::before { left:7%; }.start-cloud::after { right:2%; }.start-cloud-one { top:10%; left:-22%; transform:rotate(6deg); }.start-intro { max-width:700px; margin-bottom:clamp(3rem,7vw,5.5rem); }.start-intro .eyebrow { margin-bottom:1.1rem; }.start-constellation { margin:0 0 1.15rem; color:var(--moon); font-size:1.1rem; letter-spacing:.3em; }.start-intro h1 { margin:0; font-size:clamp(2.8rem,5.6vw,5.3rem); }.start-intro h1 em { display:block; margin-left:clamp(1rem,5vw,4rem); color:var(--rose); font-family:"Cormorant Garamond",var(--display); font-size:1.02em; letter-spacing:-.06em; transform:rotate(-1deg); }.start-prose { max-width:700px; }.start-prose p { color:var(--mist); font-family:var(--display); font-size:clamp(1.16rem,1.75vw,1.48rem); line-height:1.62; }.start-prose p:first-child { color:var(--ivory); font-size:clamp(1.42rem,2.4vw,1.9rem); line-height:1.4; }.start-steps { display:grid; gap:1.1rem; margin:2.4rem 0 2.8rem; padding:0; list-style:none; counter-reset:steps; }.start-steps li { position:relative; padding:1.3rem 1.35rem 1.3rem 4.3rem; border:1px solid rgba(242,221,175,.24); background:rgba(13,8,20,.38); color:var(--mist); font-family:var(--display); font-size:clamp(1.12rem,1.55vw,1.34rem); line-height:1.48; counter-increment:steps; }.start-steps li::before { content:counter(steps,decimal-leading-zero); position:absolute; top:1.2rem; left:1.35rem; color:var(--moon); font-family:var(--body); font-size:.7rem; letter-spacing:.1em; }.start-steps strong { color:var(--ivory); font-weight:600; }.start-intake { margin-top:1.25rem; border:0; }.start-intake span { margin-left:.25rem; }

.survey-page { background:radial-gradient(circle at 15% 10%,rgba(197,176,220,.13),transparent 20rem),var(--night); }
.survey-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.4rem clamp(1.25rem,5vw,5rem); border-bottom:1px solid var(--line); color:var(--muted); font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; }
.survey-shell { width:min(100%,960px); margin:0 auto; padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,3rem); }
.survey-intro { max-width:700px; margin-bottom:4rem; }.survey-intro h1 { margin-bottom:1.1rem; }.survey-intro h1 em { color:var(--lilac); }.survey-intro>p:not(.eyebrow) { max-width:570px; color:var(--mist); font-family:var(--display); font-size:1.3rem; line-height:1.4; }
.survey-form { display:grid; gap:clamp(3.5rem,8vw,6rem); }.survey-section { padding-top:1.1rem; border-top:1px solid rgba(242,221,175,.38); }.survey-section>header { max-width:720px; margin-bottom:1.8rem; }.survey-section h2 { margin:.25rem 0 .55rem; font-size:clamp(2rem,4vw,3.5rem); }.survey-section header>p:not(.eyebrow) { margin:0; color:var(--mist); font-family:var(--display); font-size:1.2rem; line-height:1.45; }.survey-question { min-width:0; margin:0; padding:1.8rem 0; border:0; border-top:1px solid var(--line); }.survey-question legend { display:block; width:100%; max-width:800px; padding:0; color:var(--ivory); font-family:var(--display); font-size:clamp(1.22rem,2vw,1.62rem); line-height:1.28; }.survey-question legend [aria-hidden="true"] { color:var(--rose); }.survey-number { display:inline-grid; width:1.8rem; height:1.8rem; place-items:center; margin:0 .75rem .15rem 0; border:1px solid rgba(242,221,175,.38); border-radius:50%; color:var(--moon); font-family:var(--body); font-size:.68rem; letter-spacing:.04em; vertical-align:middle; }.survey-question>input,.survey-question textarea,.money-input,.ranking-list select { width:100%; margin-top:1rem; border:1px solid rgba(242,221,175,.28); border-radius:0; outline:none; background:rgba(8,5,13,.62); color:var(--ivory); font:inherit; line-height:1.55; }.survey-question>input { height:3.3rem; padding:.7rem .9rem; }.survey-question textarea { display:block; min-height:120px; padding:1rem; resize:vertical; }.survey-question>input:focus,.survey-question textarea:focus,.ranking-list select:focus,.money-input:focus-within { border-color:var(--moon); box-shadow:0 0 0 3px rgba(242,221,175,.1); }.money-input { display:flex; align-items:center; gap:.2rem; padding:0 .9rem; }.money-input span { color:var(--moon); font-family:var(--display); font-size:1.5rem; }.money-input input { width:100%; height:3.3rem; border:0; outline:0; background:transparent; color:var(--ivory); font:inherit; }.survey-hint { margin:.7rem 0 0; color:var(--muted); font-size:.85rem; }.survey-limit { margin:.45rem 0 0; color:var(--muted); font-size:.72rem; text-align:right; }.over-limit .survey-limit { color:#ffb8c8; }.over-limit textarea { border-color:#ffb8c8; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }.choice { display:flex; align-items:flex-start; gap:.65rem; min-width:0; padding:.85rem .9rem; border:1px solid rgba(242,221,175,.22); background:rgba(8,5,13,.35); color:var(--mist); cursor:pointer; transition:border-color .2s ease,background .2s ease; }.choice:hover,.choice:focus-within { border-color:rgba(242,221,175,.62); background:rgba(50,19,44,.38); }.choice input { flex:0 0 auto; width:1.1rem; height:1.1rem; margin:.18rem 0 0; accent-color:var(--moon); }.choice span { line-height:1.4; }.choice-confirmation { width:fit-content; margin-top:1rem; }.ranking-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }.ranking-list label { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .9rem; border:1px solid rgba(242,221,175,.22); color:var(--mist); }.ranking-list select { width:auto; min-width:5rem; margin:0; padding:.45rem .55rem; }.survey-invalid { border-color:#ffb8c8; box-shadow:0 0 0 2px rgba(255,184,200,.16); }.survey-submit { display:grid; justify-items:start; gap:1rem; }.survey-submit>.button { border:0; cursor:pointer; }.survey-privacy { max-width:500px; margin:0; color:var(--muted); font-size:.75rem; }

.journal-page { background:radial-gradient(circle at 83% 7%,rgba(204,126,154,.14),transparent 23rem),var(--night); }
.journal-shell { width:min(100%,900px); margin:0 auto; padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,3rem); }
.journal-intro { max-width:750px; margin-bottom:3rem; }
.journal-intro h1 { margin-bottom:1.1rem; }
.journal-intro h1 em { color:var(--lilac); }
.journal-intro>p:not(.eyebrow) { color:var(--mist); font-family:var(--display); font-size:1.35rem; }
.journal-intro .journal-manifesto { margin-bottom:1.2rem; color:var(--moon); font-family:var(--serif); font-size:clamp(1.5rem,2.8vw,2.2rem); font-style:italic; line-height:1.2; }
.journal-nav { display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:5rem; }
.journal-nav a { padding:.6rem .9rem; border:1px solid var(--line); color:var(--moon); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.journal-nav a:hover { border-color:var(--moon); background:rgba(242,221,175,.08); }
.journal-entry { padding:clamp(3rem,7vw,6rem) 0; border-top:1px solid var(--line); }
.journal-entry>header { max-width:710px; margin-bottom:2.5rem; }
.journal-entry h2 { margin:0; font-size:clamp(2.2rem,4.2vw,4rem); }
.journal-entry .eyebrow span { color:var(--moon); }
.journal-entry-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; margin:0 0 .8rem; color:var(--lilac); font-size:.67rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }
.journal-entry-meta a { color:var(--moon); text-decoration:none; }
.journal-entry-meta a:hover { color:var(--ivory); }
.journal-prose { max-width:700px; }
.journal-prose p { color:var(--mist); font-family:var(--display); font-size:clamp(1.12rem,1.65vw,1.4rem); line-height:1.62; }
.journal-photo-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; max-width:820px; margin:3rem 0 0; }
.journal-photo-strip figure { position:relative; min-height:310px; margin:0; overflow:hidden; border:1px solid var(--line); background:rgba(242,221,175,.04); }
.journal-photo-strip img { width:100%; height:100%; min-height:310px; object-fit:cover; transition:transform .45s ease; }
.journal-photo-strip figure:hover img { transform:scale(1.035); }
.journal-photo-strip figcaption { position:absolute; right:0; bottom:0; left:0; padding:1.4rem 1.1rem .85rem; color:var(--ivory); background:linear-gradient(transparent,rgba(10,5,16,.85)); font-family:var(--display); font-size:1rem; font-style:italic; }
.journal-prose p:first-child { color:var(--ivory); font-size:clamp(1.4rem,2.3vw,1.8rem); line-height:1.4; }
.journal-comments { max-width:700px; margin-top:4rem; padding:clamp(1.6rem,4vw,2.6rem); border:1px solid var(--line); background:rgba(33,18,37,.62); }
.tribute-inline { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; padding:1rem; border:1px solid rgba(242,221,175,.35); color:var(--moon); font-family:var(--display); font-size:1.1rem; font-style:italic; }
.tribute-inline:hover { background:rgba(242,221,175,.08); }
.journal-comments form { display:grid; gap:.7rem; }
.journal-comments label { margin-top:.5rem; color:var(--moon); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.journal-comments input,.journal-comments textarea { width:100%; padding:.85rem 1rem; border:1px solid rgba(242,221,175,.28); border-radius:0; outline:none; background:rgba(8,5,13,.62); color:var(--ivory); font:inherit; }
.journal-comments textarea { resize:vertical; }
.journal-comments input:focus,.journal-comments textarea:focus { border-color:var(--moon); box-shadow:0 0 0 3px rgba(242,221,175,.1); }
.journal-comments .button { justify-self:start; margin-top:.8rem; border:0; cursor:pointer; }
.manage-table { width:100%; border-collapse:collapse; color:var(--mist); }
.manage-table th,.manage-table td { padding:.85rem .5rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.manage-table th { color:var(--moon); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.manage-table small { color:var(--muted); }
.manage-table a,.manage-inline-form button { color:var(--moon); font:inherit; font-size:.75rem; }
.manage-inline-form { display:inline; margin-left:.55rem; }
.manage-inline-form button { padding:0; border:0; background:transparent; cursor:pointer; text-decoration:underline; }
.comment-note { margin:1rem 0 0; color:var(--muted); font-size:.75rem; }

.reads-current { margin:0 0 5rem; padding:clamp(1.6rem,4vw,3rem); border:1px solid var(--line); background:rgba(33,18,37,.62); }
.reads-current h2,.reads-library h2 { margin:.5rem 0 1rem; font-size:clamp(2.2rem,4vw,4rem); }
.reads-current h2 em { color:var(--lilac); }
.reads-current>p:not(.eyebrow) { max-width:620px; color:var(--mist); font-family:var(--display); font-size:1.2rem; }
.reads-current-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:2rem; border:1px solid rgba(242,221,175,.18); background:rgba(242,221,175,.18); }
.reads-current-grid article { display:grid; gap:.55rem; padding:1.15rem; background:rgba(22,12,29,.92); }
.reads-current-grid span { color:var(--muted); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }
.reads-current-grid strong { color:var(--ivory); font-family:var(--display); font-size:1.2rem; line-height:1.22; }
.reads-current-grid small { color:var(--moon); font-size:.75rem; }
.reads-library { padding-top:1rem; border-top:1px solid var(--line); }
.reads-library-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin:3rem 0 1.6rem; }
.reads-library-heading .text-link { flex:0 0 auto; }
.reads-search { display:grid; gap:.55rem; max-width:500px; margin-bottom:1.5rem; color:var(--moon); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.reads-search input { width:100%; padding:.85rem 1rem; border:1px solid rgba(242,221,175,.28); border-radius:0; outline:none; background:rgba(8,5,13,.62); color:var(--ivory); font:inherit; letter-spacing:normal; text-transform:none; }
.reads-search input:focus { border-color:var(--moon); box-shadow:0 0 0 3px rgba(242,221,175,.1); }
.reads-table-wrap { max-height:640px; overflow:auto; border:1px solid var(--line); background:rgba(22,12,29,.5); }
.reads-table-wrap table { width:100%; border-collapse:collapse; font-size:.82rem; }
.reads-table-wrap th { position:sticky; top:0; z-index:1; padding:.9rem 1rem; background:#211229; color:var(--moon); font-size:.67rem; letter-spacing:.1em; text-align:left; text-transform:uppercase; }
.reads-table-wrap td { padding:.85rem 1rem; border-top:1px solid rgba(242,221,175,.13); color:var(--mist); vertical-align:top; }
.reads-table-wrap td:first-child { min-width:280px; color:var(--ivory); font-family:var(--display); font-size:1rem; }
.read-status { color:var(--muted); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }
.read-status.is-current { color:var(--moon); }
.reads-results { min-height:1.4rem; margin:.8rem 0 0; color:var(--muted); font-size:.78rem; }
.reads-comments { margin-bottom:2rem; }

.album-page-shell { width:min(100%,1120px); margin:0 auto; padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,3rem); }
.album-page-intro { max-width:800px; margin-bottom:3rem; }
.album-page-intro h1 { margin:.7rem 0 1.1rem; font-size:clamp(2.3rem,4.9vw,4.8rem); }
.album-page-intro h1 em,.album-collection h2 em { color:var(--lilac); }
.album-page-intro>p:not(.eyebrow) { max-width:590px; color:var(--mist); font-family:var(--display); font-size:1.35rem; }
.album-page-intro .button { margin-top:1.2rem; }
.altar-intro>p:not(.eyebrow) { max-width:720px; }
.altar-tribute-link { display:inline-block; margin-top:.7rem; }
.album-nav { margin-bottom:5rem; }
.album-collection { padding:clamp(3rem,7vw,6rem) 0; border-top:1px solid var(--line); }
.album-collection>header { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,330px); gap:1rem 3rem; align-items:end; margin-bottom:2rem; }
.album-collection .eyebrow { grid-column:1/-1; margin:0; }
.album-collection h2 { margin:0; font-size:clamp(2.2rem,4.2vw,4.1rem); }
.album-collection header>p:not(.eyebrow) { margin:0 0 .6rem; color:var(--mist); font-family:var(--display); font-size:1.15rem; line-height:1.45; }
.album-page-grid { display:grid; gap:1.25rem; }
.after-dark-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.after-dark-grid .album-page-tall { min-height:700px; }
.on-the-move-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.on-the-move-grid .album-page-wide { grid-column:span 2; }
.on-the-move-grid .album-page-tall { min-height:670px; }
.salt-and-sun-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.salt-and-sun-grid .album-page-wide { grid-column:span 2; }
.salt-and-sun-grid .album-page-tall { min-height:670px; }
.album-page-photo { min-height:410px; margin:0; }
.album-page-tall { min-height:600px; }
.album-page-wide { min-height:500px; }
.album-page-solo { min-height:min(780px,80vh); max-width:650px; }
.album-page-photo figcaption { position:absolute; z-index:1; right:1.5rem; bottom:1.4rem; left:1.5rem; color:var(--ivory); font-family:var(--display); font-size:1.35rem; font-style:italic; }
.album-locked { min-height:360px; max-width:620px; }
.album-carousel { position:relative; width:min(100%,744px); margin:0 auto; overflow-anchor:none; outline:none; }
.album-carousel:focus-visible { box-shadow:0 0 0 3px rgba(242,221,175,.5); }
.album-stage { height:clamp(384px,66vw,612px); overflow:hidden; background:linear-gradient(145deg,rgba(242,221,175,.26),rgba(50,20,51,.88)); box-shadow:1rem 1rem 0 rgba(242,221,175,.1); }
.album-carousel .album-slide { position:relative; height:100%; min-height:0; margin:0; overflow:hidden; background:#160d20; transition:none; }
.album-slide img { --album-inset:clamp(.55rem,1.4vw,.85rem); position:absolute; inset:var(--album-inset); display:block; width:calc(100% - var(--album-inset) - var(--album-inset)); max-width:none; height:calc(100% - var(--album-inset) - var(--album-inset)); max-height:none; object-fit:contain; object-position:center center; }
.album-slide figcaption { position:absolute; z-index:1; right:.7rem; bottom:.7rem; left:.7rem; margin:0; padding:.55rem .75rem; font-family:var(--display); font-size:clamp(1rem,2.2vw,1.2rem); font-style:italic; line-height:1.25; }
.album-slide[data-tone="light"] figcaption { color:#1b1020; background:rgba(248,240,231,.92); }
.album-slide[data-tone="dark"] figcaption { color:var(--ivory); background:rgba(16,10,23,.86); }
.album-control { position:absolute; z-index:2; top:50%; display:grid; width:2.5rem; height:2.5rem; place-items:center; padding:0; border:1px solid rgba(248,240,231,.62); border-radius:50%; color:var(--ivory); background:rgba(16,10,23,.74); font:inherit; font-size:1.2rem; cursor:pointer; transform:translateY(-50%); transition:background .2s ease,transform .2s ease; }
.album-control:hover,.album-control:focus-visible { background:var(--wine); transform:translateY(-50%) scale(1.06); }
.album-previous { left:1.15rem; }
.album-next { right:1.15rem; }
.album-carousel-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.1rem; }
.album-count { flex:0 0 auto; margin:0; color:var(--moon); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }
.album-dots { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.album-dot { width:.56rem; height:.56rem; padding:0; border:1px solid rgba(242,221,175,.5); border-radius:50%; background:transparent; cursor:pointer; transition:background .2s ease,transform .2s ease; }
.album-dot:hover,.album-dot:focus-visible,.album-dot.active { border-color:var(--moon); background:var(--moon); transform:scale(1.18); }
.album-hint { margin:1rem 0 0; color:var(--muted); font-size:.72rem; line-height:1.45; text-align:center; }


@media (max-width:900px) { .album-grid { grid-template-columns:1fr 1fr; }

.album-tall { grid-row:auto; }


}


@media (max-width:780px) { .site-header { display:grid; grid-template-columns:1fr; min-height:auto; padding-top:1rem; padding-bottom:.85rem; }

nav { width:100%; gap:.85rem; padding-top:.8rem; overflow-x:auto; font-size:.64rem; white-space:nowrap; -webkit-overflow-scrolling:touch; }

nav a:not(.nav-contact) { display:inline-flex; }

.site-header.nav-ready { grid-template-columns:minmax(0,1fr) auto; align-items:center; }

.mobile-nav-toggle { display:inline-flex; align-items:center; gap:.55rem; padding:.55rem .7rem; border:1px solid rgba(242,221,175,.62); color:var(--moon); background:rgba(16,10,23,.7); font:inherit; font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; }

.mobile-nav-toggle-lines { display:grid; gap:3px; width:1rem; }

.mobile-nav-toggle-lines i { display:block; width:100%; height:1px; background:currentColor; transition:transform .2s ease,opacity .2s ease; }

.site-header.nav-ready nav { display:none; grid-column:1 / -1; width:auto; margin-top:.25rem; padding:1rem 0 .1rem; overflow:visible; border-top:1px solid var(--line); white-space:normal; }

.site-header.nav-ready.nav-open nav { display:flex; flex-direction:column; align-items:stretch; gap:.2rem; }

.site-header.nav-ready nav a,.site-header.nav-ready nav a:not(.nav-contact) { display:flex; width:100%; box-sizing:border-box; padding:.75rem .1rem; border-bottom:1px solid rgba(242,221,175,.12); font-size:.72rem; }

.site-header.nav-ready nav .nav-intake,.site-header.nav-ready nav .nav-contact { justify-content:center; margin-top:.35rem; padding:.75rem .9rem; border:1px solid var(--moon); }

.site-header.nav-ready.nav-open .mobile-nav-toggle-lines i:nth-child(1) { transform:translateY(4px) rotate(45deg); }

.site-header.nav-ready.nav-open .mobile-nav-toggle-lines i:nth-child(2) { opacity:0; }

.site-header.nav-ready.nav-open .mobile-nav-toggle-lines i:nth-child(3) { transform:translateY(-4px) rotate(-45deg); }

.hero { grid-template-columns:1fr; gap:2.5rem; min-height:auto; padding-top:4rem; }

.moon { right:-9%; top:4%; width:170px; }

.hero-portrait { justify-self:center; width:min(84%,390px); min-height:410px; }

.portrait img { min-height:410px; }

.hero-caption { display:none; }

.about-grid,.contact,.album-page-grid { grid-template-columns:1fr; }

.contact { gap:2.5rem; }

.about-image { min-height:390px; max-width:450px; }

.worthiness,.album-grid { grid-template-columns:1fr; }

.worthiness-mark { min-height:250px; }

.album-tall,.album-photo { min-height:0; }

.on-the-move-grid .album-page-wide { grid-column:auto; }
.salt-and-sun-grid .album-page-wide { grid-column:auto; }
.after-dark-grid .album-page-tall,.on-the-move-grid .album-page-tall,.salt-and-sun-grid .album-page-tall { min-height:440px; }

.album-heading { display:block; }

.album-heading>p { margin-top:1.2rem; }

.journal-grid { grid-template-columns:1fr; }

.journal-item,.journal-item:not(:first-child) { min-height:190px; padding:1.5rem 0; border-right:0; }

.site-footer { grid-template-columns:1fr; }

.social-links { grid-row:3; }

.social-links { flex-wrap:wrap; gap:.8rem 1.15rem; }

.reads-current-grid { grid-template-columns:1fr; }

.reads-library-heading { display:block; }

.reads-library-heading .text-link { display:inline-block; margin-top:.75rem; }

.reads-table-wrap { margin-right:-1.25rem; }

.reads-table-wrap { -webkit-overflow-scrolling:touch; }

.album-collection>header { grid-template-columns:1fr; }

.after-dark-grid,.on-the-move-grid { grid-template-columns:1fr; }

.album-page-photo,.album-page-tall,.album-page-wide { min-height:430px; }

.survey-header>span { display:none; }

.survey-question { padding:1.65rem 0; }

.choice-grid,.ranking-list { grid-template-columns:1fr; }

.journal-nav { gap:.55rem; margin-bottom:3.5rem; }

.journal-nav a { padding:.6rem .72rem; font-size:.64rem; }

.journal-comments { margin-top:3rem; padding:1.35rem; }

.worship-shell,.start-shell,.bio-shell,.kept-shell { padding:2.75rem 1rem 4rem; }

.worship-letter,.start-letter,.bio-letter,.kept-letter { padding:2rem 1.35rem; box-shadow:.8rem .8rem 0 rgba(242,221,175,.08); }

.worship-letter::before,.start-letter::before,.bio-letter::before,.kept-letter::before { inset:.65rem; }

.worship-intro h1,.start-intro h1,.bio-intro h1,.kept-intro h1 { font-size:clamp(2.2rem,9.8vw,3.25rem); }

.worship-intro h1 em,.start-intro h1 em,.bio-intro h1 em,.kept-intro h1 em { margin-left:.65rem; }

.worship-prose p,.start-prose p,.kept-prose>p,.bio-prose>p,.bio-section>p { font-size:1.15rem; }

.worship-rules li,.start-steps li { padding:1.15rem 1rem 1.15rem 3.65rem; }

.worship-rules li::before,.start-steps li::before { left:1rem; }

.kept-list li { padding:1.15rem; }

.way-card { padding:1.25rem; }

.way-card p:not(.eyebrow) { font-size:1.12rem; }

.bio-section { margin-top:3.5rem; padding-top:2.25rem; }

.bio-section h2 { font-size:clamp(1.9rem,8.4vw,2.8rem); }


}

@media (max-width:430px) { .site-header { gap:.7rem; padding-right:1rem; padding-left:1rem; }

.brand { font-size:1rem; }

.nav-contact { padding:.6rem .68rem; font-size:.6rem; }

.hero { padding-right:1rem; padding-left:1rem; }

.hero h1 { font-size:clamp(2.2rem,9vw,2.8rem); }

.hero h1 em { margin-left:.3rem; }

.hero-actions { align-items:stretch; gap:1rem; }

.hero-actions .button { width:100%; }

.hero-actions .text-link { width:fit-content; }

.hero-portrait { width:min(80%,340px); min-height:360px; }

.portrait img { min-height:360px; }

.section { padding:4rem 1rem; }

.quote-band { min-height:330px; }

.album-page-shell,.journal-shell,.survey-shell { padding-right:1rem; padding-left:1rem; }

.album-page-photo,.album-page-tall,.album-page-wide { min-height:360px; }

.album-page-photo figcaption { right:1rem; bottom:1rem; left:1rem; font-size:1.15rem; }

.album-stage { height:clamp(336px,86.4vw,492px); }
.album-slide img { --album-inset:.5rem; }
.album-slide figcaption { right:.5rem; bottom:.5rem; left:.5rem; padding:.45rem .6rem; }
.album-previous { left:.8rem; }
.album-next { right:.8rem; }
.album-control { width:2.25rem; height:2.25rem; }
.album-carousel-footer { align-items:flex-start; flex-direction:column; }
.album-dots { justify-content:flex-start; }

.contact { padding:4rem 1rem; }

.site-footer { padding-right:1rem; padding-left:1rem; }

.worship-letter,.start-letter,.bio-letter,.kept-letter { padding:1.75rem 1.1rem; }

.worship-rules li,.start-steps li { padding-left:3.25rem; }

.worship-rules li::before,.start-steps li::before { left:.8rem; }

.survey-question textarea,.journal-comments input,.journal-comments textarea,.gate-card input { font-size:16px; }

.survey-submit .button,.journal-comments .button,.start-intake,.kept-start { width:100%; justify-content:center; }
}


@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }

.button,.journal-item { transition:none; }


}
