/* Adapted for Fáerhin from React Bits BlurText, TiltedCard, SpotlightCard and StarBorder.
 * Copyright (c) 2026 David Haz. MIT + Commons Clause: /licenses/react-bits.txt
 */
:root{--rb-silver:#d6e9dc;--rb-glow:rgba(164,213,195,.3)}
body{overflow-x:clip}
#rb-atmosphere{position:fixed;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:.6;mix-blend-mode:screen}
#rb-sparks{position:fixed;inset:0;width:100%;height:100%;z-index:80;pointer-events:none}
.hero-content{z-index:5}.hero-side,.hero-bottom{z-index:5}.section-wrap,.intro{position:relative;z-index:5}.inspiration-inner{z-index:5}
.hero{isolation:isolate}.hero-landscape{filter:saturate(.87) contrast(1.04)}
.hero-shade{background:linear-gradient(90deg,rgba(3,13,17,.42),rgba(3,13,17,0) 75%),linear-gradient(0deg,#0a1215,transparent 32%,rgba(6,14,18,.02) 75%,#07111415)}
.rb-rays{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.73;mix-blend-mode:screen;mask-image:linear-gradient(#000 45%,transparent 99%);transition:opacity 2s}
.rb-rays canvas{width:100%;height:100%;display:block}.is-playing .rb-rays{opacity:.93}
.rb-rays.rb-fallback{background:conic-gradient(from 145deg at 83% -12%,transparent 5deg,#cee8d536 12deg,transparent 17deg,#bfe0ce24 28deg,transparent 33deg,#cbe2d02b 41deg,transparent 47deg);filter:blur(10px);animation:rb-rays-fallback 12s ease-in-out infinite alternate}
.hero-content .eyebrow{color:#c8d8cc}.hero h1{color:#ebf2e6}.hero h1 em{color:#d2e4d1;text-shadow:0 0 50px #b9e3cb1a}
.rb-word{display:inline-block;transform-origin:50% 100%;white-space:pre}
.rb-blur:not(.rb-in-view) .rb-word{opacity:0;filter:blur(9px);transform:translateY(22px)}
.rb-blur.rb-in-view .rb-word{animation:rb-blur-in 1.35s cubic-bezier(.2,.65,.25,1) both;animation-delay:calc(var(--word-index)*70ms)}
.rb-scroll-word{display:inline-block;opacity:var(--word-opacity,.16);filter:blur(var(--word-blur,3px));transition:opacity .1s,filter .1s}
.intro{max-width:1050px;padding-top:120px;padding-bottom:90px}.intro .section-symbol{font-size:2.6rem;text-shadow:0 0 30px #bddfc27a;animation:rb-star-breathe 7s ease-in-out infinite}.intro h2{font-size:clamp(3.2rem,4.7vw,4.8rem);line-height:1.13}.intro>p:not(.eyebrow){max-width:540px}.intro-line{height:75px;background:linear-gradient(#bad0bd88,transparent)}
.release-card{perspective:1000px;transform-style:preserve-3d}.release-art{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(var(--tilt-z,0deg)) scale(var(--tilt-scale,1));transform-origin:center;transition:transform .65s cubic-bezier(.2,.75,.2,1),box-shadow .65s;border:1px solid #c7dfcc26;box-shadow:0 20px 45px -30px #000;isolation:isolate}
.release-art.rb-interacting{transition:transform .16s ease-out;box-shadow:0 25px 48px -24px #000,0 0 25px -15px #c1e8d580}
.release-art::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at var(--mouse-x,50%) var(--mouse-y,25%),#d8f7d735,transparent 57%),linear-gradient(120deg,transparent 35%,#c7eace10 48%,transparent 62%);opacity:var(--shine-opacity,0);pointer-events:none;z-index:1;mix-blend-mode:screen;transition:opacity .65s}
.release-art img{filter:saturate(.9) brightness(.94);transition:transform 1.2s,filter .6s}.release-card:hover .release-art img{transform:scale(1.035)}.release-play{z-index:2;box-shadow:0 0 25px #bad8c015}.release-tag{z-index:2}.release-card.active .release-art{outline:none;border-color:#bcd8c380;box-shadow:0 0 0 4px #b8d8bd0c,0 12px 70px -36px #a0deb5}
.release-info{transition:transform .6s}.release-card:hover .release-info{transform:translateY(3px)}
.portrait-wrap{perspective:1200px}.portrait-wrap>img{transform:perspective(1000px) rotateY(var(--portrait-y,0deg));transition:transform .7s,filter 1s;filter:saturate(.62) brightness(.94);box-shadow:0 25px 90px #0003}.portrait-wrap::before{border-color:#aec8b758;box-shadow:-10px 0 28px -24px #c5e4cb}.portrait-detail{border:1px solid #a6c4b142;border-radius:50%;width:66px;height:66px;display:grid;place-items:center;line-height:1;font-size:2.2rem;padding:0;box-shadow:0 0 34px #b4ddbd20;animation:rb-star-breathe 7s ease-in-out infinite}
.inspiration-background{background:linear-gradient(0deg,#091518f0,#09151875 60%,#091518ac),url('/assets/sanctuary.webp') center 35%/cover;transform:scale(1.09) translateY(var(--scene-y,0px));will-change:transform}
.inspiration-grid{gap:22px}.inspiration-grid article{padding:29px 25px 30px;border:1px solid #b3c9bc3d;background:#08171973;backdrop-filter:blur(6px);border-radius:2px;transition:border-color .6s,transform .6s,background .6s}.inspiration-grid article h3{font-size:1.9rem}.inspiration-grid article>span{font-size:.75rem}.inspiration-grid article:hover{border-color:#c7e0c975;transform:translateY(-5px);background:#10251e75}
.rb-spotlight{position:relative;isolation:isolate;overflow:hidden;--spotlight-color:rgba(188,235,199,.17)}
.rb-spotlight::before{content:'';position:absolute;inset:0;background:radial-gradient(420px circle at var(--mouse-x,50%) var(--mouse-y,20%),var(--spotlight-color),transparent 78%);opacity:var(--spotlight-opacity,.35);transition:opacity .5s;pointer-events:none;z-index:-1}
.rb-spotlight:hover::before,.rb-spotlight:focus-within::before{opacity:1}.rb-spotlight.rb-visible{--spotlight-opacity:.75}
.support-box{padding:27px 24px;margin-top:36px;border:1px solid #b9d2ba35;background:#101e19b3;align-items:flex-start;box-shadow:0 12px 50px #02090820}.support-symbol{color:#c8e0c2}.support-box h3{font-size:1.7rem}
.contact-form{padding:30px 29px;border:1px solid #9fc5a733;background:linear-gradient(140deg,#162a237a,#09161940);box-shadow:0 15px 55px #0002}.form-heading{padding-bottom:15px;margin-bottom:22px}.form-heading>span:last-child{text-shadow:0 0 15px #d4eacb50}
.rb-star-border{position:relative;isolation:isolate;overflow:hidden;border-color:#9ebdaa80!important;box-shadow:0 0 24px -14px #b3e0be80}
.rb-star-border::before,.rb-star-border::after{content:'';position:absolute;width:300%;height:50%;border-radius:50%;opacity:.9;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#dcffe1,transparent 65%)}
.rb-star-border::before{bottom:-12px;right:-250%;animation:rb-star-bottom 7s linear infinite alternate}.rb-star-border::after{top:-12px;left:-250%;animation:rb-star-top 7s linear infinite alternate;animation-delay:-3.5s}
.rb-star-border>.rb-inner{position:absolute;inset:1px;background:#0c1b17;z-index:-1;pointer-events:none}.header-listen.rb-star-border{background:#0c1b1755}.header-listen.rb-star-border>.rb-inner{background:#0c1b17ca}.outline-button.rb-star-border>.rb-inner{background:#0a1714}.form-submit.rb-star-border{color:#e0edda;background:#0c1b17}.form-submit.rb-star-border:hover{color:#fff;box-shadow:0 0 35px -15px #b3e0beaa}
.rb-star-border::before,.rb-star-border::after{z-index:-2}
.listen-button .play-circle{position:relative;width:62px;height:62px;border-color:#bfdcc394;background:#14312766;box-shadow:0 0 34px -10px #acd4b43b;transition:background .4s,transform .5s}.listen-button .play-circle::before{content:'';position:absolute;inset:-7px;border:1px solid #c8e4c62c;border-radius:50%;animation:rb-play-ring 3.8s ease-out infinite}.listen-button .play-circle::after{content:'';position:absolute;inset:-14px;border:1px solid #c8e4c612;border-radius:50%;animation:rb-play-ring 3.8s 1.9s ease-out infinite}.listen-button:hover .play-circle{background:#294a3880;transform:scale(1.08)}
.player::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#b3dcbd,transparent);transform:translateX(-100%);animation:rb-player-light 9s ease-in-out infinite}.is-playing .player-play{box-shadow:0 0 24px #b5e9c346;animation:rb-player-breathe 3s ease-in-out infinite}.player-track img{transition:box-shadow .6s}.is-playing .player-track img{box-shadow:0 0 17px #b5e9c332}
.rb-progress-track{position:fixed;left:0;right:0;top:0;height:2px;z-index:45;pointer-events:none;transform-origin:left;background:linear-gradient(90deg,#8abfa3,#ddf0cb);transform:scaleX(var(--page-progress,0));box-shadow:0 0 14px #bce8bc70}
.rb-arrival{animation:rb-arrival .95s cubic-bezier(.15,.65,.2,1) both;animation-delay:calc(var(--arrival-index,0)*90ms)}
@keyframes rb-blur-in{0%{opacity:0;filter:blur(9px);transform:translateY(26px)}45%{opacity:.65;filter:blur(4px);transform:translateY(-3px)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes rb-star-bottom{0%{transform:translate(0,0);opacity:1}100%{transform:translate(-100%,0);opacity:0}}
@keyframes rb-star-top{0%{transform:translate(0,0);opacity:1}100%{transform:translate(100%,0);opacity:0}}
@keyframes rb-star-breathe{0%,100%{opacity:.6;filter:drop-shadow(0 0 3px #a9cfb133);transform:scale(.94)}50%{opacity:1;filter:drop-shadow(0 0 11px #a9cfb170);transform:scale(1.04)}}
@keyframes rb-play-ring{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.3);opacity:0}}
@keyframes rb-player-light{0%,12%{transform:translateX(-100%);opacity:0}30%,70%{opacity:.8}100%{transform:translateX(100%);opacity:0}}
@keyframes rb-player-breathe{50%{box-shadow:0 0 30px #b5e9c369}}
@keyframes rb-arrival{from{opacity:0;transform:translateY(32px) scale(.965);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes rb-rays-fallback{from{transform:rotate(-4deg);opacity:.5}to{transform:rotate(4deg);opacity:.85}}
@media(max-width:900px){.inspiration-grid{gap:15px}.inspiration-grid article{padding:24px 18px}.contact-form{padding:27px 22px}.support-box{padding:24px 18px}}
@media(max-width:700px){.hero-content{padding-top:105px;padding-bottom:60px}.hero h1{font-size:clamp(3.8rem,11.4vw,5.6rem)}.rb-rays{opacity:.88}.is-playing .rb-rays{opacity:1}#rb-atmosphere{opacity:.68}.hero-landscape{background-position:78% center}.hero-description{color:#d0dad1}.listen-button .play-circle{width:58px;height:58px}.hero .listen-button{gap:19px;margin-top:26px}.intro{padding-top:87px;padding-bottom:55px}.intro h2{font-size:2.8rem}.intro .section-symbol{font-size:2.1rem}.intro-line{height:52px}.section-heading{margin-bottom:36px}.release-grid{gap:42px}.release-art{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(var(--tilt-z,0deg)) scale(var(--tilt-scale,1));transition:transform .32s ease-out,box-shadow .65s;transform-origin:center}.release-art::after{opacity:var(--shine-opacity,.22)}.release-art img{filter:saturate(.94) brightness(.97)}.release-info h3{font-size:2.1rem}.release-card.active .release-art{box-shadow:0 0 0 4px #b8d8bd0e,0 12px 52px -22px #a0deb540}.portrait-wrap>img{filter:saturate(.7) brightness(.97)}.portrait-detail{width:58px;height:58px;font-size:1.9rem;right:-12px}.inspiration-grid{gap:20px;margin-top:39px}.inspiration-grid article{padding:27px 23px}.inspiration-grid p{font-size:1rem}.inspiration-grid article.rb-visible{border-color:#b1d1b766;box-shadow:0 12px 35px #0003}.inspiration-inner{padding-bottom:69px}.support-box{padding:24px 20px;gap:15px}.contact-section{gap:36px}.contact-form{padding:25px 21px;margin-left:-3px;margin-right:-3px}.form-submit{padding:16px 17px}.rb-star-border::before,.rb-star-border::after{animation-duration:5.5s}.player::before{animation-duration:7s}}
@media(max-width:360px){.hero h1{font-size:3.5rem}.intro h2{font-size:2.5rem}.contact-form{padding:22px 17px}.support-box{padding:22px 16px}.support-box p br{display:none}}
.stillness .rb-word,.stillness .rb-scroll-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
.stillness .rb-arrival{animation:none!important}.stillness .release-art{transform:none!important}.stillness .portrait-wrap>img{transform:none!important}.stillness .inspiration-background{transform:scale(1.09)!important}
.stillness *,.stillness *::before,.stillness *::after{transition:none!important;animation-play-state:paused!important}
.page-hidden .rb-fallback{animation-play-state:paused!important}
.stillness .rb-star-border::before,.stillness .rb-star-border::after,.stillness .portrait-detail,.stillness .section-symbol,.stillness .play-circle::before,.stillness .play-circle::after,.stillness .player::before,.stillness .player-play,.page-hidden .rb-star-border::before,.page-hidden .rb-star-border::after,.page-hidden .player::before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){#rb-atmosphere,#rb-sparks{display:none}.rb-rays{opacity:.35}.rb-word,.rb-scroll-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}.rb-arrival{animation:none!important}.release-art,.portrait-wrap>img{transform:none!important}.inspiration-background{transform:scale(1.09)!important}.rb-progress-track{display:none}}
