@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#121117;--panel:#1d1c23;--panel2:#292730;--gold:#c79b45;--silver:#ddd8e2;--muted:#b8b2bf;--lavender:#9982b7;--red:#b63d4e;--line:#6e5b47;--max:1240px}
.sanctum-latest{background:#1d1c2366;border-bottom:1px solid var(--line)}
.latest-inner{display:grid;grid-template-columns:.8fr repeat(3,1fr);align-items:center;padding-block:22px;gap:24px}
.latest-inner h2{margin:0;font-size:.85rem;line-height:1.5;color:var(--gold)}
.latest-inner h2 span{font-size:.65rem;letter-spacing:.09em}
.latest-item{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:56px;padding:4px 24px 4px 22px;border-left:1px solid var(--line)}
.latest-kind{font: .6rem/1.5 'Cinzel',Georgia,serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.latest-item strong{font-size:1.1rem;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--gold)}
.latest-item:hover strong{color:#f3d69a}.latest-item:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:800px){.latest-inner{grid-template-columns:1fr;gap:0;padding-block:16px}.latest-inner h2{margin-bottom:8px}.latest-inner h2 br{display:none}.latest-inner h2 span{margin-left:.4em}.latest-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;border-left:0;border-top:1px solid #6e5b4755;padding:10px 24px 10px 0;min-height:48px}}
.heretic-lich-artwork{display:block;width:100%;height:auto;margin-bottom:24px;border:1px solid var(--gold)}
.about-invocation{margin:0}.about-lore-link{color:var(--gold);text-decoration:underline;text-underline-offset:.15em}
.recollections-faq{margin-bottom:48px;padding-bottom:28px;border-bottom:1px solid var(--line)}.recollections-faq h3{margin-top:24px;color:var(--gold)}.recollections-faq a{color:var(--gold);text-decoration:underline;text-underline-offset:.15em}
.lore-faq h3{margin-top:28px;color:var(--gold)}
.sanctum-blog{border-bottom:0}.blog-empty{margin-top:32px;padding:clamp(20px,4vw,40px);border:1px solid var(--line);background:var(--panel)}.blog-empty h3{color:#e5d2b1}.blog-empty p{margin-bottom:0;color:var(--muted)}
.blog-entry{max-width:75ch;padding-block:32px;border-bottom:1px solid var(--line)}.blog-entry h3{font-size:clamp(1.4rem,3vw,2rem);color:#e5d2b1}.blog-entry time{display:block;margin-bottom:12px;font-size:1rem;color:var(--muted)}
.sound-toggle{color:var(--silver);background:var(--panel);border:1px solid var(--gold);padding:8px 12px;font:inherit;cursor:pointer;min-height:44px}.sound-toggle:hover{color:#f3d69a;background:var(--panel2)}.sound-toggle[aria-pressed=false]{color:var(--muted)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--silver);background:radial-gradient(ellipse at 85% 0%,#59456538,transparent 43%),radial-gradient(ellipse at 0% 65%,#52425a24,transparent 38%),var(--bg);font:21px/1.55 'Cormorant Garamond',Georgia,serif}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.17;background:repeating-linear-gradient(105deg,transparent 0 9px,#9b88a90a 10px 11px);z-index:0}main,.site-header,.site-footer{position:relative;z-index:1}a{color:inherit;text-decoration:none}a:hover{color:#f3d69a}img{display:block;max-width:100%}button{font:inherit}h1,h2,h3,p{margin:0 0 .7em}h1,h2,h3,.brand,.eyebrow,.btn,.nav-links,.tag,.section-link{font-family:'Cinzel',Georgia,serif}h1{font-size:clamp(3rem,6.5vw,6.4rem);line-height:1.15;letter-spacing:.01em;font-weight:500}h2{font-size:clamp(1.9rem,3.5vw,3.5rem);line-height:1.25;font-weight:500}h3{font-size:1.15rem;font-weight:500}p{max-width:70ch}.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.site-header{background:#131219f2;border-bottom:1px solid #746149;position:sticky;top:0;z-index:10}.nav{display:flex;justify-content:space-between;align-items:center;min-height:82px;gap:28px}.brand{font-size:.91rem;letter-spacing:.1em;white-space:nowrap;color:#e9d9bc}.brand span{padding:0 .55em;color:var(--gold)}.nav-links{display:flex;align-items:center;gap:25px}.nav-links a{font-size:.69rem;letter-spacing:.09em;text-transform:uppercase;color:#d2c6cf}.nav-links a[aria-current=page],.nav-links a:hover{color:#f1c979}.menu-toggle{display:none;color:var(--silver);background:transparent;border:1px solid var(--gold);padding:7px 14px}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;color:var(--gold)}.eyebrow:before{content:'✦';margin-right:12px}.hero{border-bottom:1px solid #6e5b47;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 72% 42%,#8b6b9b4f,transparent 45%);pointer-events:none}.hero-inner{position:relative;display:grid;grid-template-columns:1fr .82fr;gap:clamp(32px,5vw,90px);align-items:center;min-height:710px;padding-block:65px 85px}.hero-copy{position:relative;z-index:2}.hero h1{color:#e9e4eb;margin:.2em 0}.hero h1 em{display:block;font-style:normal;color:#d6b47b}.hero .subtitle{color:#d3c2d4;font-size:1.2rem;letter-spacing:.03em}.hero .intro{font-size:clamp(1.25rem,2vw,1.65rem);max-width:550px;color:#d6cfda}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid var(--gold);color:#e8d8bd;background:#211d24;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;transition:background .2s,border-color .2s}.btn:hover{background:#3b3040;color:white}.btn.primary{background:#58452c;color:#fff0d4}.btn.primary:hover{background:#735c3b}.portrait-shrine{position:relative;padding:18px 18px 0;max-width:475px;margin-inline:auto;background:linear-gradient(140deg,#44374c,#25212a);border:1px solid #b89558;box-shadow:0 0 0 8px #17141b,0 0 0 9px #69563e,0 24px 90px #05040788;border-radius:0;overflow:hidden}.portrait-shrine:before{content:'';position:absolute;inset:10px;border:1px solid #c79b4577;border-radius:0;pointer-events:none;z-index:2}.portrait-shrine img{width:100%;height:590px;object-fit:cover;object-position:center top;filter:saturate(.87)}.portrait-shrine .shrine-label{position:absolute;bottom:0;left:0;right:0;padding:15px;background:linear-gradient(transparent,#16131ddc 30%);text-align:center;font: .7rem 'Cinzel',serif;letter-spacing:.17em;color:#e2bd77}.section{padding:95px 0;border-bottom:1px solid #5e5044}.section-header{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px;border-bottom:1px solid #75634d;padding-bottom:17px}.section-header h2{margin:0}.section-link{font-size:.72rem;color:#d8b676}.feature{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(35px,6vw,95px);align-items:center}.cover{aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#745681,#241d2d 60%,#100f15);border:1px solid #b08c55;box-shadow:inset 0 0 0 10px #18151d,inset 0 0 0 11px #8c704c;position:relative;display:grid;place-items:center;overflow:hidden}.cover:before{content:'';position:absolute;width:63%;aspect-ratio:1;border:2px solid #c5a66d;border-radius:50%;box-shadow:0 0 0 18px #c5a66d13,0 0 0 25px #c5a66d4d}.cover:after{content:'✧';font-size:8rem;color:#dfcba7}.cover-text{position:absolute;bottom:7%;left:8%;z-index:1}.cover-text small{font: .68rem 'Cinzel',serif;letter-spacing:.18em}.cover-text strong{display:block;font:500 clamp(2rem,4vw,4rem) 'Cinzel',serif;color:#f0e3cd}.feature-copy p,.prose{color:#d0c8d1;font-size:1.25rem}.feature-copy h2{color:#e5d4b4}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:#1d1b23;border:1px solid #816b4e;padding:11px;position:relative}.card:before{content:'';position:absolute;inset:5px;border:1px solid #816b4e55;pointer-events:none}.art{aspect-ratio:4/4.5;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#665078,#25212e 68%);border:1px solid #826c51;border-radius:47% 47% 0 0 / 25% 25% 0 0;overflow:hidden}.art:after{content:'✧';font-size:6rem;color:#cba960}.art.alt{background:radial-gradient(circle,#453e57,#1d1b24)}.art.alt:after{content:'☾'}.art.third:after{content:'✦'}.card-body{padding:20px 14px 10px}.card-body h3{color:#e4c28b}.card-body p{font-size:1.15rem;color:#c5bdc9}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.quote{font-size:clamp(1.8rem,3vw,3rem);font-style:italic;color:#e5d7e6}.links{display:flex;gap:13px;flex-wrap:wrap}.links a{padding:12px 18px;border:1px solid #92764e;font: .72rem 'Cinzel',serif;color:#e5d2b1}.links a:hover{background:#372a35}.site-footer{padding:35px 0;background:#151219;border-top:1px solid #8d754e}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font: .72rem 'Cinzel',serif;color:#c7b8c4}.page-hero{padding:100px 0 70px;text-align:center;border-bottom:1px solid #816b4e;background:radial-gradient(ellipse at 50% 0%,#6851765e,transparent 67%)}.page-hero p{margin-inline:auto}.content{padding:85px 0 115px}.entry{padding:25px 0;border-bottom:1px solid #675743;display:flex;justify-content:space-between;align-items:center;gap:24px}.entry p{font-size:1.2rem;color:#c7becb}.tag{font-size:.68rem;color:#d6b77d}.note{background:#28232c;border-left:2px solid var(--gold);padding:20px;color:#d8cdd6}.ornament{text-align:center;color:#c79b45;letter-spacing:.8em;margin-bottom:25px}.hero .ornament{text-align:left}.character-card{border:1px solid #91744f;background:#24202a;padding:12px;max-width:360px}.character-card img{width:100%}:focus-visible{outline:2px solid #e6c17f;outline-offset:4px}@media(max-width:900px){.nav-links{gap:13px}.hero-inner{grid-template-columns:1fr .75fr}.portrait-shrine img{height:470px}}@media(max-width:720px){.container{width:min(calc(100% - 36px),var(--max))}.nav{min-height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:20px;background:#19151e;border-bottom:1px solid var(--gold);flex-direction:column;align-items:flex-start;gap:18px}.nav-links.open{display:flex}.hero-inner{grid-template-columns:1fr;min-height:0;padding-block:65px}.hero h1{font-size:clamp(2.8rem,12vw,5rem)}.portrait-shrine{max-width:350px}.portrait-shrine img{height:440px}.hero .ornament{text-align:center}.section{padding:65px 0}.feature,.split{grid-template-columns:1fr;gap:35px}.cards{grid-template-columns:1fr}.section-header{align-items:start;flex-direction:column}.page-hero{padding:65px 0 45px}.content{padding:50px 0 80px}.entry{flex-direction:column;align-items:start}.footer-inner{justify-content:center;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Ceremonial headings with a decorative hero title. */
h1,h2,h3{font-family:'Cinzel',Georgia,serif}
.hero h1{font-family:'Cinzel Decorative',Georgia,serif;font-weight:400}

/* Album artwork inside the existing gold frame. */
.cover-artwork{padding:11px}
.cover-artwork::before,.cover-artwork::after{display:none}
.cover-artwork img{width:100%;height:100%;min-height:0;object-fit:contain}
/* Instagram posts retain the artwork gallery's gold card frames. */
.instagram-gallery{align-items:start}
.instagram-card{min-width:0;background:#08080b;border:1px solid var(--gold);padding:14px;box-shadow:0 8px 24px #0005}
.instagram-card::before{inset:6px;border:1px solid #c79b4577}
.instagram-card .instagram-media{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;box-shadow:none!important}
@media(min-width:721px) and (max-width:1100px){.instagram-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Separate previous album features in the discography. */
.album-release{margin-top:48px;padding-top:48px;border-top:1px solid var(--line)}

.recollection-excerpt{max-width:70ch;font-size:1.25rem;line-height:1.6}.recollection-excerpt p{margin:0 0 .65em}

.recollection-feature{display:flex;align-items:flex-start;gap:32px;padding:24px}
.recollection-artwork{flex:0 1 48%;min-width:0;border:1px solid var(--gold);padding:8px;background:#08080b}
.recollection-artwork img{width:100%;height:auto}
.recollection-copy{flex:1;min-width:0}
@media(max-width:720px){.recollection-feature{flex-direction:column}.recollection-artwork{flex:auto;width:100%}}
.recollection-feed{display:grid;gap:32px}.recollection-feed-title{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.35}

.recollection-full{overflow-wrap:anywhere}.recollection-full img{height:auto;margin-block:20px}.recollection-full a{color:var(--gold);text-decoration:underline}.recollection-full pre{white-space:pre-wrap}.recollection-full table{display:block;overflow-x:auto}.recollection-feature{scroll-margin-top:100px}

.gospel-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.gospel-video{min-width:0}.gospel-video:first-child{grid-column:1/-1}.gospel-video h3{color:var(--gold)}@media(max-width:720px){.gospel-video-grid{grid-template-columns:1fr}}

/* A black sun with a gold accretion ring for the homepage ornament. */
.void-sun-ornament{display:flex;align-items:center;gap:22px;letter-spacing:0}
.void-sun{position:relative;display:inline-block;width:30px;height:30px;flex:none;border-radius:50%;background:#030305;border:1px solid #e3b963;box-shadow:0 0 0 3px #121117,0 0 0 4px #c79b4577,0 0 15px #c79b4555}
.void-sun::after{content:'';position:absolute;inset:8px -10px;border:1px solid #d8b676;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 7px #c79b4544}
@media(max-width:720px){.void-sun-ornament{justify-content:center}}
/* A centered artist link hub for Connect. */
.connect-main{padding:64px 18px 80px;background:radial-gradient(ellipse at 50% 18%,#c79b4510,transparent 60%)}
.connect-hub{max-width:620px;margin-inline:auto}
.connect-identity{text-align:center;margin-bottom:32px}
.connect-avatar{width:144px;height:144px;object-fit:cover;object-position:center 20%;border-radius:50%;border:1px solid var(--gold);padding:5px;background:#08080b;box-shadow:0 0 0 5px #c79b4512;margin:0 auto 28px;object-view-box:inset(10% 10% 10% 10%)}
.connect-identity h1{font-family:'Cinzel Decorative',Georgia,serif;font-size:clamp(2rem,6vw,3.3rem);color:#e9d9bc;font-weight:400}
.connect-identity p{margin-inline:auto}.connect-identity .eyebrow{font-size:.62rem;letter-spacing:.13em}
.connect-invocation{color:var(--gold);font-style:italic;font-size:1.05rem}
.connect-release{display:flex;align-items:center;gap:20px;background:#171419;border:1px solid var(--gold);padding:16px;margin-bottom:26px;box-shadow:inset 0 0 0 5px #08080b}
.connect-release>img{width:96px;height:96px;object-fit:contain;flex:none}
.connect-release strong{display:block;font:500 1.7rem 'Cinzel',serif;color:#e5c58c;margin:4px 0}
.connect-release small{display:block;font:.6rem 'Cinzel',serif;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.connect-release>span>span{font-size:1rem;color:var(--muted)}.connect-arrow{margin-left:auto;color:var(--gold)}
.connect-platforms{display:grid;gap:12px}
.connect-platforms a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 24px;min-height:80px;border:1px solid #96733d;background:#0c0b10;color:#e9d9bc;font: .9rem 'Cinzel',Georgia,serif;transition:background .2s,border-color .2s}
.connect-platforms a small{display:block;margin-top:5px;font:1.05rem 'Cormorant Garamond',Georgia,serif;color:var(--muted)}
.connect-platforms a>span:last-child{color:var(--gold)}
.connect-platforms a:hover,.connect-release:hover{background:#27202a;border-color:#f0ca7e}
.connect-signoff{text-align:center;margin:32px auto 0;color:var(--muted);font-size:1.1rem;font-style:italic}
@media(max-width:480px){.connect-main{padding-top:44px}.connect-release{gap:12px;padding:12px}.connect-release>img{width:76px;height:76px}.connect-platforms a{padding:15px 18px}}
/* Small black-hole emblem between the header name halves. */
.brand .brand-black-hole{display:inline-block;position:relative;width:17px;height:17px;padding:0;margin:0 12px;vertical-align:-3px;border-radius:50%;background:#020204;border:1px solid #e3b963;box-shadow:0 0 0 2px #131219,0 0 0 3px #c79b4555,0 0 8px #c79b4544}
.brand .brand-black-hole::after{content:'';position:absolute;inset:5px -6px;border:1px solid var(--gold);border-radius:50%;transform:rotate(-24deg)}
.brand .brand-name{padding:0;color:inherit}

/* Browser-rendered spearhead: no hidden system cursor or mousemove rendering. */
@media(hover:hover) and (pointer:fine){
  body{cursor:url('../images/gold-cursor.svg') 2 2,auto}
  a[href],button,summary,[role="button"]{cursor:url('../images/gold-cursor.svg') 2 2,pointer}
  p,h1,h2,h3,h4,h5,h6,blockquote,figcaption,input,textarea,[contenteditable="true"]{cursor:text}
  a[href] *,button *,summary *,[role="button"] *{cursor:inherit}
  select,iframe{cursor:auto}
  :disabled,[aria-disabled="true"]{cursor:not-allowed}
}
.cursor-ripple{position:fixed;pointer-events:none;z-index:1000;display:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .cursor-ripple{display:block;width:32px;height:32px;border:1px solid #e6c17f;border-radius:50%;animation:gold-cursor-ripple .55s ease-out forwards}
}
@keyframes gold-cursor-ripple{from{opacity:.65;transform:translate(-50%,-50%) scale(.45)}to{opacity:0;transform:translate(-50%,-50%) scale(2.3)}}

/* A prominent offering to the Void Sun, above the footer credits. */
.voidling-counter{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 32px;padding:32px 22px;width:min(680px,calc(100% - 36px));border:1px solid #c79b4580;background:radial-gradient(ellipse at 50% 0%,#c79b451c,transparent 70%),#1b1721;box-shadow:inset 0 0 0 5px #151219,inset 0 0 0 6px #c79b4525;text-align:center;color:var(--gold)}
.voidling-counter-seal{display:grid;place-items:center;width:52px;height:52px;border:1px solid #c79b4566;border-radius:50%;font-size:2.2rem;line-height:1;color:#e6c17f;text-shadow:0 0 16px #c79b4560}
.voidling-counter-invocation{margin:0;font-size:clamp(1.2rem,3vw,1.6rem);line-height:1.65;color:#ded3df}
.voidling-counter-invocation strong{font:500 clamp(1.55rem,4vw,2.2rem)/1.5 'Cinzel',serif;color:#e6c17f;letter-spacing:.06em}
.voidling-counter-value{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;width:100%}
.voidling-counter-placeholder{font:2.7rem/1 'Cinzel',serif;color:#e6c17f}
.voidling-counter-times{font-size:1.3rem;color:#ded3df}
.voidling-counter img{height:48px;width:auto;max-width:75%;image-rendering:auto}
.voidling-counter img[hidden],.voidling-counter [hidden]{display:none}
.voidling-counter-status{margin:0;font-size:.95rem;font-style:italic;color:#c7b8c4}
.voidling-counter-note{font-size:.9rem;color:#c7b8c4;margin:0;line-height:1.5}

/* A silent idle encounter; the page beneath remains in place and usable. */
.kuromega-counter{position:fixed;right:18px;bottom:18px;z-index:1001;width:48px;height:60px;color:var(--gold);pointer-events:none;filter:drop-shadow(0 2px 5px #000)}
.kuromega-counter svg{display:block;width:100%;height:100%}
.kuromega-counter[data-stage="1"],.kuromega-counter[data-stage="2"]{color:#edd6a6}.kuromega-counter[data-stage="3"]{color:#cf7182}
.kuromega-encounter{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden;background:#08071085;animation:kuromega-arrive 3s ease-out both}
.kuromega-encounter[hidden]{display:none}
.kuromega-stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 15% 20%,#eee4fa 95%,transparent),radial-gradient(1px 1px at 70% 15%,#d5bc84 95%,transparent),radial-gradient(1px 1px at 85% 70%,#eee4fa 95%,transparent),radial-gradient(2px 2px at 35% 80%,#d5bc84 95%,transparent),radial-gradient(1px 1px at 55% 40%,#eee4fa 95%,transparent);background-size:330px 290px;opacity:.8;transition:opacity 12s}
.kuromega-shadow{position:absolute;inset:-30%;background:radial-gradient(ellipse at 50% 0%,#010103 15%,#010103ed 35%,transparent 70%);transform:translateY(-45%);transition:transform 15s ease-in,opacity 15s;opacity:.4}
.kuromega-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#eee1c9;text-shadow:0 2px 12px #000}
.kuromega-copy p{font-size:clamp(1.6rem,4vw,3rem);font-style:italic}.kuromega-copy .kuromega-hint{font-size:1rem;font-style:normal;color:#ccc2d3}
.kuromega-encounter[data-stage="2"] .kuromega-stars{opacity:.25}
.kuromega-encounter[data-stage="2"] .kuromega-shadow{transform:translateY(-15%);opacity:.8}
.kuromega-encounter[data-stage="3"] .kuromega-stars{opacity:0}
.kuromega-encounter[data-stage="3"] .kuromega-shadow{transform:translateY(0);opacity:1}
.kuromega-silhouette{position:absolute;left:-28vw;top:-30vh;width:155vw;height:155vh;opacity:0;pointer-events:none;background:url('../images/kuromega-maw.svg') center/cover no-repeat;filter:blur(1px);mask-image:radial-gradient(ellipse at 56% 50%,#000 15%,#000b 45%,transparent 73%)}
.kuromega-fog{position:absolute;inset:-15%;pointer-events:none;opacity:.35;transition:opacity 8s ease;overflow:hidden}
.kuromega-fog::before,.kuromega-fog::after{content:'';position:absolute;inset:-10%;background:radial-gradient(ellipse at 12% 30%,#69607130,transparent 42%),radial-gradient(ellipse at 72% 64%,#4f465a38,transparent 45%),radial-gradient(ellipse at 42% 80%,#08060ee8,transparent 58%),linear-gradient(115deg,#030207e8,transparent 48%,#040209dd);opacity:.85}
.kuromega-fog::after{background:radial-gradient(ellipse at 65% 15%,#75687c28,transparent 48%),radial-gradient(ellipse at 32% 65%,#92839721,transparent 42%),linear-gradient(20deg,#020106e8,transparent 52%,#020106b0);transform:scale(1.1)}
.kuromega-encounter[data-stage="2"] .kuromega-fog{opacity:.65}
.kuromega-encounter[data-stage="3"] .kuromega-fog{opacity:1}
.kuromega-copy{z-index:1}
.kuromega-secret{display:flex;justify-content:flex-end;margin-top:26px;padding-right:8px}
.kuromega-summon{display:grid;place-items:center;width:44px;height:44px;padding:6px;border:0;background:transparent;color:#08060d;opacity:.65;transition:opacity .2s,color .2s}
.kuromega-summon svg{width:30px;height:30px}
.kuromega-summon:hover,.kuromega-summon:focus-visible{color:#50405f;opacity:1}
@media(prefers-reduced-motion:no-preference){
  .kuromega-counter[data-stage="3"] .watch-hand{transform-box:view-box;transform-origin:32px 48px;animation:kuromega-watch-reverse 8s ease-out forwards}
  .kuromega-encounter[data-stage="3"] .kuromega-stars{transform-origin:50% 15%;animation:kuromega-swallow-stars 10s ease-in forwards}
  .kuromega-encounter[data-stage="3"] .kuromega-silhouette{animation:kuromega-passage 24s ease-in-out forwards}
  .kuromega-fog::before{animation:kuromega-fog-drift 22s ease-in-out infinite alternate}
  .kuromega-fog::after{animation:kuromega-fog-drift 31s ease-in-out -9s infinite alternate-reverse}
  body.kuromega-passing>.site-header,body.kuromega-passing>main,body.kuromega-passing>.site-footer{animation:kuromega-tremor .7s linear 3s 20}
}
@keyframes kuromega-watch-reverse{from{transform:rotate(360deg)}to{transform:rotate(-450deg)}}
@keyframes kuromega-swallow-stars{0%{opacity:.25;transform:scale(1)}60%{opacity:.15}100%{opacity:0;transform:scale(.08)}}
@keyframes kuromega-passage{0%{opacity:0;transform:translate(-28vw,-8vh) scale(1.12) rotate(-9deg)}24%{opacity:.5}52%{opacity:.85;transform:translate(0,3vh) scale(1.25) rotate(-5deg)}72%{opacity:.55}100%{opacity:0;transform:translate(45vw,9vh) scale(1.4) rotate(2deg)}}
@keyframes kuromega-fog-drift{from{transform:translate(-4%,-2%) scale(1.04)}to{transform:translate(5%,3%) scale(1.12)}}
@keyframes kuromega-tremor{0%,100%{translate:0 0}12%{translate:-3px 1px}25%{translate:2px -2px}37%{translate:-1px 3px}50%{translate:4px 0}62%{translate:-3px -2px}75%{translate:1px 2px}87%{translate:-2px -1px}}
@keyframes kuromega-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.kuromega-encounter{animation:none;background:#080710e8}.kuromega-stars,.kuromega-shadow{display:none}.kuromega-fog{transition:none}.kuromega-encounter[data-stage="3"] .kuromega-silhouette{opacity:.65}}

/* A quiet, one-time entrance as content reaches the viewport. */
@media(prefers-reduced-motion:no-preference){
  .scroll-reveal{animation:content-scroll-reveal .35s cubic-bezier(.2,.65,.3,1) both}
  .scroll-reveal:focus-within{animation:none}
}
@keyframes content-scroll-reveal{
  from{opacity:0;translate:0 10px}
  to{opacity:1;translate:0 0}
}
@media print{.scroll-reveal{animation:none!important}}

/* Sparse silver and gold stars drift behind the content in two slow layers. */
.ambient-stars{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ambient-stars::before,.ambient-stars::after{content:'';position:absolute;inset:0 0 -480px;background-repeat:repeat;background-size:480px 480px}
.ambient-stars::before{opacity:.4;background-image:
  radial-gradient(1px 1px at 37px 62px,#ddd8e2 85%,transparent),
  radial-gradient(1px 1px at 184px 317px,#ddd8e2 85%,transparent),
  radial-gradient(1px 1px at 352px 146px,#c79b45 85%,transparent),
  radial-gradient(1px 1px at 431px 423px,#ddd8e2 85%,transparent)}
.ambient-stars::after{opacity:.28;background-image:
  radial-gradient(1.5px 1.5px at 112px 208px,#e3c58b 80%,transparent),
  radial-gradient(1px 1px at 294px 39px,#ddd8e2 85%,transparent),
  radial-gradient(1px 1px at 395px 366px,#9982b7 85%,transparent)}
@media(prefers-reduced-motion:no-preference){
  .ambient-stars::before{animation:ambient-star-drift 180s linear infinite}
  .ambient-stars::after{animation:ambient-star-drift 260s linear infinite}
}
@keyframes ambient-star-drift{to{transform:translateY(-480px)}}
@media print{.ambient-stars{display:none}}

/* Briefly stagger each newly requested batch without delaying the content. */
@media(prefers-reduced-motion:no-preference){
  .load-more-reveal{animation:content-scroll-reveal .4s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms) backwards}
  .load-more-reveal:focus-within{animation:none}
}
@media print{.load-more-reveal{animation:none!important}}

/* Priestess portrait beside her introduction, preserving the full artwork. */
.about-priestess-portrait{display:block;width:100%;height:auto;border:1px solid var(--gold);padding:8px;background:var(--panel);box-shadow:0 12px 40px #05040744}

/* Compact previews: five destinations, small expandable images. */
.latest-inner{grid-template-columns:.65fr repeat(5,minmax(0,1fr));gap:16px}
.latest-entry{display:flex;gap:10px;align-items:center;min-width:0}
.latest-entry .latest-item{border:0;padding:0 12px 0 0;min-height:48px;flex:1;min-width:0;display:flex;gap:0;align-items:stretch}
.latest-entry .latest-item strong{font-size:1rem}
.latest-thumb{position:relative;flex:0 0 44px;width:44px;height:48px;display:grid;place-items:center;padding:0;overflow:hidden;border:1px solid #c79b4566;background:var(--panel);color:var(--gold);cursor:pointer}
.latest-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.latest-thumb:hover{border-color:var(--gold)}.latest-thumb:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.latest-dialog{width:min(620px,calc(100% - 32px));max-height:85vh;overflow:auto;background:var(--bg);color:var(--silver);border:1px solid var(--gold);padding:36px;box-shadow:0 25px 90px #0009}
.latest-dialog::backdrop{background:#08070bd9;backdrop-filter:blur(5px)}
.latest-dialog h2{font-size:1.6rem}.latest-dialog .eyebrow{margin-top:20px}.latest-dialog p:empty{display:none}
.latest-preview-media img{max-height:50vh;max-width:100%;width:auto;margin:auto;object-fit:contain}
.latest-close{position:sticky;float:right;top:0;width:36px;height:36px;margin:-24px -24px 8px 8px;background:var(--panel);color:var(--silver);border:1px solid var(--line);font-size:1.6rem;cursor:pointer}
@media(max-width:1100px){.latest-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px}.latest-inner h2{grid-column:1/-1}.latest-inner h2 br{display:none}.latest-inner h2 span{margin-left:.4em}}
@media(max-width:600px){.latest-inner{grid-template-columns:1fr;gap:0}.latest-inner h2{margin-bottom:8px}.latest-entry{padding:8px 0;border-top:1px solid #6e5b4755}.latest-thumb{height:40px;flex-basis:40px}.latest-entry .latest-item{min-height:40px}.latest-dialog{padding:28px}.latest-close{margin:-16px -16px 8px 8px}}

/* Two clear entrances beneath the Sanctum introduction. */
.hero-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px;max-width:550px}
.hero-path{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:94px;padding:18px 34px 18px 20px;border:1px solid #a28351;background:linear-gradient(135deg,#302731,#1b1820);transition:background .2s,border-color .2s}
.hero-path-music{background:linear-gradient(135deg,#59432a,#342a23);border-color:var(--gold)}
.hero-path-kind{font:.62rem/1.5 'Cinzel',Georgia,serif;letter-spacing:.12em;text-transform:uppercase;color:#d6bb8e}
.hero-path strong{font:500 clamp(.85rem,1.4vw,1.1rem)/1.4 'Cinzel',Georgia,serif;color:#f0e3cc}
.hero-path-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.1rem}
.hero-path:hover{border-color:#f0ca7e;background:#40313b}.hero-path-music:hover{background:#644d30}
.hero-explore{margin-top:22px;max-width:550px;padding-top:16px;border-top:1px solid #6e5b475c}
.hero-explore-label{display:block;margin-bottom:5px;font:.58rem/1.5 'Cinzel',Georgia,serif;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.hero-explore>div{display:flex;flex-wrap:wrap;gap:0 20px}
.hero-explore a{display:inline-flex;align-items:center;min-height:40px;font-size:1rem;color:#c7becb;text-decoration:underline;text-decoration-color:#6e5b4777;text-underline-offset:5px}
.hero-explore a:hover{color:#f3d69a;text-decoration-color:var(--gold)}
@media(max-width:400px){.hero-paths{gap:10px}.hero-path{padding:14px 25px 14px 12px;min-height:84px}.hero-path-kind{font-size:.55rem}.hero-path-arrow{right:9px}.hero-explore>div{gap:0 16px}}

/* Give the principal invitations room and retain their ceremonial wording. */
.hero-path{min-height:122px;padding:22px 36px 22px 22px}
.hero-path strong{font-size:clamp(1.05rem,1.8vw,1.4rem);line-height:1.5}
.hero-explore a{font-size:1.12rem;min-height:44px}
@media(max-width:400px){.hero-path{min-height:112px;padding:16px 24px 16px 12px}.hero-path strong{font-size:1rem}}

/* Plain-language explanations for the ceremonial invitations. */
.hero-path,.hero-explore a{position:relative}
.hero-hint{position:absolute;top:calc(100% + 8px);left:0;z-index:12;width:max-content;max-width:min(270px,75vw);padding:10px 13px;background:#211b27;color:#eee5d8;border:1px solid var(--gold);box-shadow:0 8px 24px #0008;font:1rem/1.45 'Cormorant Garamond',Georgia,serif;letter-spacing:0;text-transform:none;text-align:left;opacity:0;visibility:hidden;pointer-events:none}
.hero-hint::before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}
.hero-path:hover,.hero-path:focus-visible,.hero-explore a:hover,.hero-explore a:focus-visible{z-index:13}
.hero-path:hover .hero-hint,.hero-path:focus-visible .hero-hint,.hero-explore a:hover .hero-hint,.hero-explore a:focus-visible .hero-hint{opacity:1;visibility:visible;pointer-events:auto}
.hero-hints-dismissed .hero-hint{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Equal emphasis for every invitation into the Sanctum. */
.sanctum-invitations{gap:13px;max-width:580px}
.sanctum-invitations .btn{position:relative;min-height:48px;padding:15px 20px;font-size:.72rem;line-height:1.5}
.sanctum-invitations .btn:hover,.sanctum-invitations .btn:focus-visible{z-index:13}
.sanctum-invitations .btn:hover .hero-hint,.sanctum-invitations .btn:focus-visible .hero-hint{opacity:1;visibility:visible;pointer-events:auto}
@media(max-width:400px){.sanctum-invitations{gap:10px}.sanctum-invitations .btn{padding:13px 15px;font-size:.65rem}}

/* A reserved explanation area keeps the invitation buttons clear. */
.sanctum-invitations.hints-enhanced .hero-hint{display:none!important}
.sanctum-explanation{max-width:580px;min-height:86px;margin-top:16px;padding:11px 16px;border-left:2px solid var(--gold);background:#08070d99;opacity:0;transition:opacity .15s;pointer-events:none;color:#eee5d8;font-size:1.08rem;line-height:1.4}
.sanctum-explanation.is-visible{opacity:1}
.sanctum-explanation-label{display:block;margin-bottom:3px;color:var(--gold);font:.56rem/1.5 'Cinzel',Georgia,serif;letter-spacing:.12em;text-transform:uppercase}

/* A clear section heading above the compact latest-content previews. */
.sanctum-latest{border-top:1px solid #c79b4577;background:linear-gradient(110deg,#35273766,#1d1c2366)}
.latest-inner{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:16px;padding-block:24px}
.latest-inner h2{grid-column:1/-1;display:flex;align-items:center;gap:16px;font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.3;letter-spacing:.045em;color:#edd19a;margin:0}
.latest-inner h2::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,#c79b4588,transparent)}
@media(max-width:1100px){.latest-inner{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.latest-inner{grid-template-columns:1fr;row-gap:0}.latest-inner h2{margin-bottom:14px}}

/* A seven-path quest wheel, with each destination kept as a real link. */
.void-quest-wheel{position:relative;isolation:isolate;display:block;width:100%;max-width:580px;height:480px;margin-top:30px;background:radial-gradient(ellipse at center,#8d659b18,transparent 65%)}
.quest-orbit{position:absolute;inset:45px 64px;border:1px solid #c79b4544;border-radius:50%;pointer-events:none;box-shadow:0 0 0 16px #c79b4505,inset 0 0 45px #9982b70a}
.quest-orbit::before{content:'';position:absolute;inset:25px;border:1px dashed #c79b452b;border-radius:50%}
.quest-orbit::after{content:'';position:absolute;inset:70px 55px;border:1px solid #9982b72b;transform:rotate(45deg)}
.quest-center{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:190px;text-align:center;pointer-events:none}
.quest-star{display:block;font-size:1.8rem;line-height:1;color:var(--gold);text-shadow:0 0 22px #c79b4555;margin-bottom:14px}
.quest-overline{display:block;font:.52rem/1.5 'Cinzel',Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.quest-center h2{font:400 clamp(1.2rem,2vw,1.55rem)/1.35 'Cinzel',Georgia,serif;color:#e6dce8;margin:0}
.quest-center h2 em{font-style:normal;color:#edce91}
.quest-center-note{display:block;margin-top:12px;font-size:.85rem;line-height:1.4;color:var(--muted)}
.void-quest-wheel .btn{position:absolute;left:var(--quest-x);top:var(--quest-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;gap:9px;width:150px;min-height:82px;padding:9px 8px;background:radial-gradient(ellipse,#17141bf5 50%,#17141b00 75%);border:0;color:#dcd0bd;text-align:center;font-size:.66rem;letter-spacing:.045em;line-height:1.65;transition:color .2s,text-shadow .2s}
.void-quest-wheel .btn::before{content:'\25c7';display:block;color:var(--gold);font-size:1.15rem;line-height:1;text-shadow:0 0 12px #c79b4544}
.void-quest-wheel .btn:hover,.void-quest-wheel .btn:focus-visible{background:radial-gradient(ellipse,#322636e6,transparent 75%);color:#ffe6b3;text-shadow:0 0 16px #c79b4577}
.void-quest-wheel .btn:hover::before,.void-quest-wheel .btn:focus-visible::before{content:'\25c6';color:#f3d69a}
.void-quest-wheel .btn:nth-of-type(1){--quest-x:50%;--quest-y:8%}
.void-quest-wheel .btn:nth-of-type(2){--quest-x:82%;--quest-y:25%}
.void-quest-wheel .btn:nth-of-type(3){--quest-x:86%;--quest-y:62%}
.void-quest-wheel .btn:nth-of-type(4){--quest-x:70%;--quest-y:88%}
.void-quest-wheel .btn:nth-of-type(5){--quest-x:30%;--quest-y:88%}
.void-quest-wheel .btn:nth-of-type(6){--quest-x:14%;--quest-y:62%}
.void-quest-wheel .btn:nth-of-type(7){--quest-x:18%;--quest-y:25%}
.void-quest-wheel+.sanctum-explanation{margin-top:6px}
@media(min-width:721px) and (max-width:1000px){.void-quest-wheel .btn{width:118px;font-size:.57rem}.quest-center{width:145px}.quest-center h2{font-size:1.15rem}.quest-center-note{font-size:.75rem}.quest-orbit{inset:50px 35px}}
@media(max-width:480px){.void-quest-wheel{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:20px 4px 10px}.quest-center{position:relative;left:auto;top:auto;transform:none;width:auto;grid-column:1/-1;margin-bottom:14px}.quest-center h2{font-size:1.5rem}.quest-center h2 br{display:none}.quest-center h2 em{margin-left:.25em}.quest-star{margin-bottom:10px}.quest-center-note{margin-top:8px}.quest-orbit{inset:5px 4px;border-radius:45% 45% 12px 12px;opacity:.5}.quest-orbit::before{inset:14px;border-radius:inherit}.quest-orbit::after{display:none}.void-quest-wheel .btn{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:92px;font-size:.65rem;padding:12px 8px}.void-quest-wheel .btn:last-child{grid-column:1/-1;max-width:190px;justify-self:center}}

/* Each quest traces its own quiet constellation in the central sigil. */
.quest-constellation{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;transition:opacity .25s;filter:drop-shadow(0 0 6px #e8bd6877)}
.quest-constellation polyline{fill:none;stroke:#cba662;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.quest-constellation circle{fill:#fff0ce;stroke:#e8be70;stroke-width:.6}
.quest-center>.quest-star,.quest-center>.quest-overline,.quest-center>h2,.quest-center>.quest-center-note{transition:opacity .2s}
.quest-center.has-constellation>.quest-star,.quest-center.has-constellation>.quest-overline,.quest-center.has-constellation>h2,.quest-center.has-constellation>.quest-center-note{opacity:0}
.quest-center.has-constellation .quest-constellation{opacity:1}
@media(prefers-reduced-motion:no-preference){.quest-constellation g{animation:quest-stars-arrive .45s ease-out both}.quest-constellation polyline{stroke-dasharray:500;stroke-dashoffset:0;animation:quest-lines-trace .65s ease-out both}}
@keyframes quest-stars-arrive{from{opacity:0}to{opacity:1}}
@keyframes quest-lines-trace{from{stroke-dashoffset:500}to{stroke-dashoffset:0}}

/* The Priestess bears Omega; the shore opens into a turning black hole. */
.quest-omega{font:110px Georgia,serif;fill:#edce91;stroke:#fff0ce;stroke-width:.35}
.quest-blackhole .blackhole-lens{fill:none;stroke:#d5b77c;stroke-width:1;opacity:.45}
.quest-blackhole .blackhole-ring{fill:none;stroke:#c79b45;stroke-width:2}
.quest-blackhole .blackhole-flow{fill:none;stroke:#eed8a5;stroke-width:1;stroke-dasharray:32 12 8 18;opacity:.85}
.quest-blackhole .blackhole-spark{fill:#fff1ce;stroke:none}
.quest-blackhole .blackhole-core{fill:#030208;stroke:#f0d195;stroke-width:1.5}
.quest-blackhole .blackhole-foreground{fill:none;stroke:#f4dcab;stroke-width:2;transform:rotate(-18deg);transform-origin:100px 90px}
.blackhole-disk{transform:rotate(-18deg);transform-origin:100px 90px}
@media(prefers-reduced-motion:no-preference){.blackhole-flow{animation:blackhole-accretion 7s linear infinite}.blackhole-lens{animation:blackhole-breathe 4s ease-in-out infinite}.blackhole-spark{animation:blackhole-spark 3s ease-in-out infinite}}
@keyframes blackhole-accretion{to{stroke-dashoffset:-140}}
@keyframes blackhole-breathe{50%{opacity:.85;stroke-width:2}}
@keyframes blackhole-spark{50%{opacity:.25}}

.quest-guitar path{fill:none;stroke:#edce91;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.quest-guitar .guitar-strings{stroke-width:.5;opacity:.7}.quest-guitar .guitar-pickguard{stroke-width:.7;opacity:.7}

/* A simple, readable Telecaster silhouette with sparse star accents. */
.quest-guitar-silhouette .guitar-body-silhouette{fill:#d8b879;stroke:#f3dba6;stroke-width:1;filter:drop-shadow(0 0 4px #c79b4533)}
.quest-guitar-silhouette .guitar-silhouette-pickguard{fill:#211927;stroke:none}
.quest-guitar-silhouette .guitar-silhouette-bridge{fill:#584735;stroke:#f3dba6;stroke-width:.65}
.quest-guitar-silhouette circle{fill:#fff8e8;stroke:#fff0ce;stroke-width:.8;filter:drop-shadow(0 0 4px #fff0ce)}

