:root{--night:#211b1a;--night-2:#332522;--ink:#2e2925;--muted:#70645a;--paper:#f8f4eb;--cream:#efe4d0;--gold:#f2c382;--amber:#c98546;--line:rgba(64,46,35,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,figure{margin-top:0}
.wrap{width:min(100% - 88px,1360px);margin-inline:auto}
.skip-link{position:absolute;z-index:30;top:8px;left:8px;padding:12px 16px;background:#fff;color:#111;transform:translateY(-150%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.hero{position:relative;display:flex;flex-direction:column;min-height:100svh;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#191b20,#34251f 64%,#4b3024);color:#fff7e8}
.hero-backdrop{position:absolute;z-index:-3;inset:-16%;background:url("./assets/man-of-prayer-cover.jpg") center 42%/cover no-repeat;filter:blur(30px) saturate(1.25);opacity:.52;transform:scale(1.12);animation:sky-drift 20s ease-in-out infinite alternate;pointer-events:none}
.hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(20,20,23,.91) 0%,rgba(31,26,26,.8) 38%,rgba(43,31,26,.46) 72%,rgba(28,25,28,.5) 100%),linear-gradient(0deg,rgba(17,20,23,.75),transparent 44%);pointer-events:none}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 46% 40% at 79% 34%,rgba(247,182,103,.2),transparent 76%),radial-gradient(ellipse 44% 32% at 16% 76%,rgba(212,104,57,.11),transparent 76%);pointer-events:none}
.hero-haze{position:absolute;z-index:-1;inset:-15%;background:radial-gradient(ellipse 36% 10% at 21% 24%,rgba(255,235,202,.14),transparent 77%),radial-gradient(ellipse 42% 12% at 75% 63%,rgba(249,186,112,.12),transparent 73%),radial-gradient(ellipse 23% 10% at 68% 15%,rgba(224,225,231,.12),transparent 78%);filter:blur(18px);animation:haze-drift 15s ease-in-out infinite alternate;pointer-events:none}
.hero-glow{position:absolute;z-index:-1;width:min(62vw,850px);aspect-ratio:1;right:-12%;top:-24%;border-radius:50%;background:radial-gradient(circle,rgba(247,194,118,.19),rgba(244,160,71,.07) 42%,transparent 71%);filter:blur(12px);animation:glow 7s ease-in-out infinite alternate;pointer-events:none}
.site-header{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:27px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:.64rem;font-weight:800;letter-spacing:.2em;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-size:.59rem;letter-spacing:-.08em}
.header-profile{font-size:.6rem;font-weight:800;letter-spacing:.18em;text-decoration:none;color:#f3d3a3;border-bottom:1px solid rgba(243,211,163,.42);padding-bottom:5px}
.header-profile:hover{color:#fff}
.hero-layout{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);grid-template-areas:"copy cover" "actions cover";align-content:center;align-items:center;column-gap:clamp(35px,6vw,120px);row-gap:24px;padding-block:20px 42px}
.hero-copy{grid-area:copy;align-self:end}
.eyebrow,.section-kicker{font-size:.65rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:32px;color:#e8cda5}
.eyebrow-line{width:37px;height:1px;background:#e6af71}
.artist-overline{font-size:.78rem;letter-spacing:.27em;font-weight:800;color:#e6ae72;margin-bottom:12px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(5rem,8.5vw,9.5rem);font-weight:400;letter-spacing:-.065em;line-height:.91;margin:0 0 26px;text-wrap:balance;text-shadow:0 10px 35px rgba(12,13,15,.26)}
.hero h1 span{color:#f4d09a;font-style:italic}
.hero-lead{font-size:clamp(1.08rem,1.55vw,1.42rem);line-height:1.52;max-width:530px;color:#f1e7d9;margin-bottom:0;font-weight:500}
.cover-stage{grid-area:cover;position:relative;justify-self:center;width:min(100%,510px);margin:0;padding:18px 15px 22px;text-align:center;animation:cover-enter 1.1s cubic-bezier(.2,.8,.2,1) both}
.cover-aura{position:absolute;z-index:-1;inset:-20%;border-radius:50%;background:radial-gradient(circle,rgba(250,196,121,.27),transparent 69%);filter:blur(16px);animation:glow 7s ease-in-out infinite alternate}
.cover-frame{position:relative;padding:8px;border:1px solid rgba(255,231,193,.56);box-shadow:0 28px 80px rgba(8,11,16,.58),0 0 50px rgba(240,169,82,.11);background:rgba(255,244,225,.08)}
.cover-frame::after{content:"";position:absolute;inset:-15px;border:1px solid rgba(255,225,178,.16);pointer-events:none}
.cover-frame img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.cover-stage figcaption{margin-top:22px;font-size:.56rem;letter-spacing:.25em;font-weight:800;color:#e2c59d}
.hero-actions{grid-area:actions;align-self:start;max-width:520px}
.spotify-cta{position:relative;display:flex;align-items:center;gap:17px;min-height:96px;padding:17px 19px 17px 22px;overflow:hidden;text-decoration:none;color:#163427;background:linear-gradient(112deg,#e6f5d9 0%,#d8f4d2 48%,#b7e6c1 100%);border:1px solid rgba(255,255,255,.72);border-radius:20px;box-shadow:0 20px 45px rgba(11,22,18,.3),inset 0 1px 0 #fff;transform:translateZ(0);transition:transform .32s ease,box-shadow .32s ease,filter .32s ease}
.spotify-cta:hover{transform:translateY(-5px);box-shadow:0 28px 50px rgba(11,22,18,.39),0 0 0 5px rgba(204,245,194,.12);filter:saturate(1.08)}
.spotify-cta:active{transform:translateY(-1px) scale(.99)}
.cta-shine{position:absolute;inset:-90% auto -90% -58%;width:42%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.73),transparent);animation:shine 5.6s ease-in-out infinite;pointer-events:none}
.spotify-icon{position:relative;flex:0 0 34px;width:34px;height:34px;color:#147348}
.cta-copy{position:relative;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.cta-copy small{font-size:.58rem;letter-spacing:.18em;font-weight:800;color:#486458}
.cta-copy strong{font-size:clamp(1.18rem,1.8vw,1.52rem);letter-spacing:-.04em;line-height:1.12}
.cta-arrow{position:relative;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#12623f;color:#fff;font-size:1.23rem;transition:transform .32s ease}
.spotify-cta:hover .cta-arrow{transform:translate(2px,-2px)}
.listen-more{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-top:19px;color:#e5d5c0}
.listen-more span{font-size:.56rem;font-weight:800;letter-spacing:.19em;color:#d5b788}
.listen-more a{font-size:.78rem;font-weight:700;text-decoration-color:rgba(241,222,189,.42);text-underline-offset:5px}
.listen-more a:hover{color:#fff}
.hero-footer{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:62px;border-top:1px solid rgba(255,239,215,.2);font-size:.54rem;font-weight:800;letter-spacing:.18em;color:#e0c49c}
.hero-footer a{text-decoration:none;color:#fff0d9;white-space:nowrap}
.hero-footer a:hover{color:#fff}
.release{padding-block:clamp(85px,11vw,160px);background:var(--paper)}
.story-grid{display:grid;grid-template-columns:minmax(155px,.27fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);max-width:1160px}
.story-rail{font-size:.59rem;letter-spacing:.2em;font-weight:800;color:#9e6945;padding-top:6px}
.rail-rule{height:1px;width:100%;background:#cdbda6;margin:22px 0 170px}
.story-rail p{font-size:.57rem;line-height:1.8;color:#93775e}
.section-kicker{color:#a5683e;margin-bottom:25px}
.story-copy h2,.lyric-intro h2,.artist-copy h2,.closing h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;line-height:1.05}
.story-copy h2{font-size:clamp(3.4rem,5.9vw,6.4rem);max-width:900px;margin-bottom:30px}
.story-copy h2 em,.lyric-intro h2 em,.artist-copy h2 em,.closing h2 em{font-weight:400;color:#a9673e}
.story-copy p{font-size:1.08rem;line-height:1.86;color:#4c433c;margin-bottom:24px;max-width:760px}
.story-copy .standfirst{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.56;color:#40352e;font-weight:500;margin-bottom:35px}
.story-copy strong{color:#2d251f}
.story-copy a{color:#94542c;text-decoration-color:#b98c6c;text-underline-offset:4px}
.story-copy blockquote{position:relative;max-width:760px;margin:44px 0;padding:29px 0 29px 31px;border-left:3px solid #d5975e}
.story-copy blockquote p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.5vw,2.3rem);line-height:1.45;color:#6d462f;margin-bottom:14px}
.story-copy cite{font-style:normal;font-size:.61rem;letter-spacing:.18em;font-weight:800;color:#9d795c}
.song-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:760px;margin:45px 0 25px;padding-block:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.song-facts div{display:flex;flex-direction:column;gap:10px}
.song-facts span{font-size:.55rem;letter-spacing:.17em;font-weight:800;color:#9d704e}
.song-facts strong{font-size:.9rem}
.story-copy .source-note{font-size:.74rem;color:#897b6d;margin-bottom:0}
.lyric-section{padding-block:clamp(75px,9vw,130px);background:#2d2926;color:#f3eadd}
.lyric-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(45px,8vw,140px);align-items:start}
.lyric-intro h2{font-size:clamp(3.1rem,5.5vw,6rem);margin-bottom:27px}
.lyric-intro h2 em{color:#e9b77d}
.lyric-intro>p:not(.section-kicker){font-size:1.05rem;line-height:1.7;color:#d8cabb;max-width:510px}
.lyric-intro .scripture-note{font-size:.58rem!important;letter-spacing:.19em;font-weight:800;color:#e4b47a!important;margin-top:70px}
.scripture-note span{display:block;margin-top:9px;font-size:.73rem;letter-spacing:0;color:#d8cabb;font-weight:500}
.lyrics-disclosure{border-top:1px solid rgba(244,225,196,.4);border-bottom:1px solid rgba(244,225,196,.4)}
.lyrics-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;cursor:pointer;font-size:.82rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;list-style:none}
.lyrics-disclosure summary::-webkit-details-marker{display:none}
.lyrics-disclosure summary span{font-size:1.5rem;font-weight:400;color:#edc38e;transition:transform .25s ease}
.lyrics-disclosure[open] summary span{transform:rotate(45deg)}
.lyrics-body{padding:9px 4px 22px}
.stanza{margin-bottom:27px}
.stanza h3{font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:#e3ab70;margin-bottom:10px}
.stanza p{font-size:.94rem;line-height:1.85;color:#f0e5d8}
.lyric-credit{font-size:.68rem;color:#b9a99b;margin-bottom:0}
.artist-section{padding-block:clamp(80px,10vw,145px);background:#e9dfce}
.artist-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:center;max-width:1200px}
.artist-photo{position:relative;overflow:hidden;aspect-ratio:1.1;background:#1d1c20}
.artist-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 12px rgba(244,234,217,.22);pointer-events:none}
.artist-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 41%}
.artist-copy h2{font-size:clamp(3.2rem,5.5vw,6rem);margin-bottom:29px}
.artist-copy p:not(.section-kicker){font-size:1.08rem;line-height:1.76;color:#594e43;max-width:550px}
.artist-copy>a{display:inline-block;margin-top:20px;padding-bottom:7px;border-bottom:1px solid #945a38;text-decoration:none;color:#754829;font-size:.69rem;letter-spacing:.12em;font-weight:800}
.artist-copy>a:hover{color:#a66438}
.closing{position:relative;overflow:hidden;padding-block:clamp(95px,12vw,160px);background:#231d1a;color:#f6ede1;text-align:center}
.closing::before{content:"";position:absolute;inset:-20%;background:url("./assets/man-of-prayer-cover.jpg") center 43%/cover no-repeat;filter:blur(36px);opacity:.14;animation:haze-drift 16s ease-in-out infinite alternate;pointer-events:none}
.closing-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.closing h2{font-size:clamp(3.3rem,6.5vw,7rem);max-width:800px;margin-bottom:21px}
.closing h2 em{color:#e9b77d}
.closing p:not(.section-kicker){font-size:1.08rem;line-height:1.65;max-width:560px;color:#ddcdbb;margin-bottom:32px}
.closing-cta{width:min(100%,490px);text-align:left}
.closing-other{display:flex;justify-content:center;gap:26px;margin-top:22px;font-size:.76rem;font-weight:700;color:#e6d1b8}
.closing-other a{text-underline-offset:5px;text-decoration-color:rgba(230,209,184,.4)}
.closing-other a:hover{color:#fff}
.site-footer{background:#1c1918;color:#d7c7b1}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:106px;font-size:.54rem;letter-spacing:.16em;font-weight:800}
.footer-inner>a:last-child{text-decoration:none;white-space:nowrap}
.footer-inner>a:last-child:hover{color:#fff}
@keyframes sky-drift{from{transform:scale(1.12) translate(-1%,-1%)}to{transform:scale(1.2) translate(2%,1%)}}
@keyframes haze-drift{from{transform:translateX(-3%) scale(1)}to{transform:translateX(3%) scale(1.08)}}
@keyframes glow{from{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1.07)}}
@keyframes shine{0%,54%,100%{left:-58%}76%{left:130%}}
@keyframes cover-enter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.wrap{width:min(100% - 50px,700px)}.hero-layout{grid-template-columns:1fr;grid-template-areas:"copy" "cover" "actions";row-gap:20px;padding-block:10px 36px;text-align:center}.hero-copy{align-self:auto}.eyebrow{justify-content:center;margin-bottom:18px}.artist-overline{margin-bottom:8px}.hero h1{font-size:clamp(4.6rem,11vw,7rem);margin-bottom:16px}.hero-lead{margin-inline:auto;max-width:580px}.cover-stage{width:min(52vw,430px);padding:8px 5px 12px}.cover-stage figcaption{margin-top:15px}.hero-actions{width:min(100%,530px);margin-inline:auto}.listen-more{justify-content:center}.hero-footer{margin-top:auto}.story-grid{grid-template-columns:120px minmax(0,1fr);gap:38px}.rail-rule{margin-bottom:125px}}
@media(max-width:650px){.wrap{width:min(100% - 36px,500px)}.site-header{padding-block:18px}.brand{font-size:.54rem;letter-spacing:.14em;gap:8px}.brand-mark{width:29px;height:29px}.header-profile{font-size:.53rem;letter-spacing:.12em}.hero-layout{row-gap:14px;padding-block:4px 24px;align-content:center}.eyebrow{font-size:.52rem;gap:8px;margin-bottom:14px}.eyebrow-line{width:23px}.artist-overline{font-size:.62rem;margin-bottom:8px}.hero h1{font-size:clamp(3.8rem,14vw,5.2rem);line-height:.92;margin-bottom:12px}.hero-lead{font-size:.91rem;line-height:1.46;max-width:340px}.cover-stage{width:min(67vw,275px);padding:7px 4px 8px}.cover-frame{padding:5px}.cover-frame::after{inset:-9px}.cover-stage figcaption{font-size:.43rem;margin-top:13px}.spotify-cta{min-height:76px;border-radius:16px;padding:13px 13px 13px 17px;gap:12px}.spotify-icon{flex-basis:27px;width:27px;height:27px}.cta-copy small{font-size:.48rem}.cta-copy strong{font-size:1.14rem}.cta-arrow{width:35px;height:35px;flex-basis:35px}.listen-more{margin-top:14px;gap:6px 13px}.listen-more span{font-size:.48rem}.listen-more a{font-size:.69rem}.hero-footer{min-height:48px;font-size:.43rem;letter-spacing:.12em}.hero-footer span{max-width:58%}.release{padding-block:72px}.story-grid{display:block}.story-rail{display:none}.section-kicker{font-size:.56rem;margin-bottom:18px}.story-copy h2{font-size:clamp(2.9rem,11vw,4.5rem)}.story-copy .standfirst{font-size:1.17rem}.story-copy p{font-size:.99rem;line-height:1.75}.story-copy blockquote{padding-left:20px;margin-block:34px}.story-copy blockquote p{font-size:1.5rem}.song-facts{grid-template-columns:1fr;gap:18px}.lyric-section{padding-block:70px}.lyric-layout{grid-template-columns:1fr;gap:33px}.lyric-intro h2{font-size:clamp(2.9rem,11vw,4.4rem)}.lyric-intro .scripture-note{margin-top:32px}.artist-section{padding-block:70px}.artist-layout{grid-template-columns:1fr;gap:33px}.artist-photo{aspect-ratio:1.2}.artist-copy h2{font-size:3.5rem}.closing{padding-block:85px}.closing h2{font-size:clamp(3rem,11vw,4.8rem)}.footer-inner{min-height:130px;flex-wrap:wrap;justify-content:center;text-align:center;padding-block:28px}.footer-inner>span{flex-basis:100%;order:3}}
@media(max-width:390px){.hero h1{font-size:3.45rem}.cover-stage{width:min(61vw,235px)}.hero-lead{font-size:.86rem}.listen-more span{width:100%}.hero-footer{font-size:.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-backdrop,.hero-haze,.hero-glow,.cover-aura,.cover-stage,.cta-shine,.closing::before{animation:none!important}.spotify-cta,.cta-arrow{transition:none}}
