.ritual-gallery{position:relative;isolation:isolate;background:#fff;padding:clamp(20px,2.5svh,40px) 0 44px;overflow:clip}
.ritual-heading{text-align:center;padding:0 7%;position:relative;z-index:2}
.ritual-heading .eyebrow{font-size:10px;letter-spacing:2.2px;margin-bottom:18px}
.ritual-heading h2{font-family:Manrope,'DM Sans',sans-serif;font-size:clamp(34px,4.45vw,82px);line-height:1.15;font-weight:400;letter-spacing:-.055em;margin:0}
.ritual-heading h2 em{font-style:normal;color:#a1b1ba}
.ritual-stage{position:relative;height:clamp(430px,57vw,780px);max-height:76svh;min-height:370px;perspective:1400px;isolation:isolate;--card-width:clamp(105px,12.4vw,238px)}
.ritual-stage .hands-aura{top:49%;width:clamp(300px,42vw,760px);max-width:88vw;z-index:0}
.ritual-stage .hands-aura>span,.ritual-stage .hands-aura i{animation-play-state:paused}
.ritual-gallery.is-in-view .hands-aura>span,.ritual-gallery.is-in-view .hands-aura i{animation-play-state:running}
.ritual-deck{position:absolute;inset:0;transform-style:preserve-3d;z-index:1}
.ritual-card{position:absolute;top:50%;left:50%;width:var(--card-width);aspect-ratio:9/16;border-radius:clamp(7px,.8vw,15px);margin:0;background:#eef2f3;box-shadow:0 8px 24px #2438430b;transform-style:preserve-3d;transform:translate(-50%,-50%) translate3d(calc(var(--slot)*112%),var(--rest-y),0) rotateZ(var(--rest-turn));will-change:transform}
.ritual-card img,.ritual-card video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ritual-card:nth-child(1){--slot:-2;--rest-y:8%;--rest-turn:-5deg}
.ritual-card:nth-child(2){--slot:-1;--rest-y:-12%;--rest-turn:2deg}
.ritual-card:nth-child(3){--slot:0;--rest-y:4%;--rest-turn:0deg}
.ritual-card:nth-child(4){--slot:1;--rest-y:-12%;--rest-turn:-2deg}
.ritual-card:nth-child(5){--slot:2;--rest-y:8%;--rest-turn:5deg}
.ritual-gallery.is-prepared:not(.has-entered) .ritual-card{transform:translate(-50%,-50%) translate3d(0,calc(var(--slot)*17%),0) rotateX(74deg) rotateY(-12deg) rotateZ(-72deg)}
.ritual-ranges{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,105px);padding:0 5%;font-size:clamp(9px,.95vw,15px);letter-spacing:.18em;color:#97a8b0;text-align:center}
.ritual-ranges span:nth-child(3){font-family:Manrope,sans-serif;letter-spacing:.3em;color:#62bde8}
.ritual-statement{padding:clamp(100px,13svh,180px) 0 clamp(100px,16svh,220px);overflow:hidden;background:#fff}
.ritual-statement h2{margin:0;font-family:Manrope,'DM Sans',sans-serif;font-size:clamp(64px,10.3vw,192px);font-weight:400;letter-spacing:-.055em;line-height:1.22}
.ritual-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ritual-marquee-window{display:block;overflow:hidden}
.ritual-marquee-track{display:flex;width:max-content;animation:ritual-marquee var(--marquee-duration,38s) linear infinite;animation-play-state:paused;will-change:transform}
.ritual-marquee-track>span{flex-shrink:0;white-space:nowrap;padding-right:.65em;background:linear-gradient(100deg,#333d42 0%,#333d42 18%,#c9d1d6 35%,#e7ecef 52%,#b5c4ce 69%,#333d42 90%);background-clip:text;-webkit-background-clip:text;color:transparent}
.ritual-marquee-track em{font-style:normal}
.ritual-statement.is-in-view .ritual-marquee-track{animation-play-state:running}
@keyframes ritual-marquee{to{transform:translateX(-50%)}}
.ritual-note{margin:clamp(50px,7svh,100px) 6% 0;max-width:530px}
.ritual-note p{font-size:clamp(14px,1.2vw,19px);line-height:1.75;color:#82929c;margin:0 0 28px}
.ritual-note p strong{font-weight:400;color:#384b57}
.ritual-note-links{display:flex;flex-wrap:wrap;gap:10px}
.ritual-note-links a{border:1px solid #dce8ee;border-radius:30px;padding:12px 20px;font-size:12px;color:#5e7b8b;transition:background .2s,color .2s}
.ritual-note-links a:nth-child(2){background:#eef8fd;border-color:#e4f2f9;color:#328eb9}
.ritual-note-links a:hover{background:#e8f6fd;color:#207dab}
.viren-footer{display:block;margin:0;padding:0 6% 34px;border:0;background:#fff;letter-spacing:0;color:#899aa3;font-size:12px}
.viren-footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;border-top:1px solid #e7eef2;padding:50px 0 45px}
.viren-footer-brand img{width:clamp(130px,14vw,240px);height:auto;display:block;margin-bottom:24px}
.viren-footer-brand p{font-size:14px;line-height:1.7;margin:0;max-width:260px}
.viren-footer nav{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:20px 55px;font-size:13px;padding-top:7px}
.viren-footer a:hover{color:#299bd2}
.viren-footer-bottom{border-top:1px solid #edf2f5;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.viren-footer-bottom p{margin:0;font-size:11px;letter-spacing:.7px}
.viren-back-top{border:0;background:none;display:inline-flex;align-items:center;gap:20px;padding:10px 0;color:#648391;cursor:pointer;font-size:12px}
@media(max-width:700px){
 .ritual-gallery{padding-top:20px;padding-bottom:25px}
 .ritual-heading .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:13px}
 .ritual-heading h2{font-size:clamp(28px,6.7vw,45px)}
 .ritual-stage{--card-width:16.3vw;height:clamp(285px,77vw,480px);min-height:0;max-height:none;perspective:800px}
 .ritual-card{border-radius:6px}
 .ritual-stage .hands-aura{width:62vw;max-width:none;filter:blur(5px)}
 .ritual-ranges{gap:0;justify-content:space-between;font-size:7px;letter-spacing:.08em;padding:0 6%}
 .ritual-statement{padding:90px 0 100px}
 .ritual-statement h2{font-size:clamp(62px,13vw,95px)}
 .ritual-note{margin-top:42px;max-width:440px}
 .ritual-note p{font-size:14px}
 .ritual-note-links a{font-size:11px;padding:10px 14px}
 .viren-footer-top{flex-direction:column;gap:30px;padding:35px 0}
 .viren-footer nav{width:100%;grid-template-columns:repeat(2,1fr);gap:20px 30px}
 .viren-footer-brand img{width:145px;margin-bottom:18px}
 .viren-footer-bottom{gap:15px}.viren-footer-bottom p{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.ritual-marquee-track{animation:none;transform:none;will-change:auto}.ritual-card{will-change:auto}.ritual-gallery.is-prepared:not(.has-entered) .ritual-card{transform:translate(-50%,-50%) translate3d(calc(var(--slot)*112%),var(--rest-y),0) rotateZ(var(--rest-turn))}.ritual-stage .hands-aura>span,.ritual-stage .hands-aura i{animation:none}}
