/* Riwaq Obaid — cinematic stage (loads last). */
#hero-dust{width:100%;height:clamp(150px,21vw,230px);margin:2px auto 0;position:relative}
#hero-dust canvas{display:block;width:100%;height:100%}

#book-fx{position:fixed;inset:0;z-index:95;touch-action:none;overflow:hidden}
#book-fx .fx-dim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,#3b1119d9,#0a0306f5)}
#book-fx .fx-stage{position:absolute;inset:0;perspective:1700px;perspective-origin:50% 45%}
#book-fx .fx-book{position:absolute;transform-style:preserve-3d;transform-origin:50% 50%}
#book-fx .fx-page{position:absolute;inset:0;border-radius:2px 6px 6px 2px;background:linear-gradient(100deg,#e8d5aa,#faf2dc 18%,#f6ead0);overflow:hidden;box-shadow:0 26px 50px #000a}
#book-fx .fx-page i{position:absolute;inset:11% 12%;border:1px solid #a77f3c99;border-radius:50% 50% 6px 6px/22% 22% 6px 6px;background:var(--arch) center 10%/46% auto no-repeat}
#book-fx .fx-cover{position:absolute;inset:0;transform-origin:100% 50%;transform-style:preserve-3d}
#book-fx .fx-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 6px 6px 2px;overflow:hidden}
#book-fx .fx-back{transform:rotateY(180deg);background:linear-gradient(80deg,#c6a56a,#e7d2a3);box-shadow:inset 0 0 30px #6b472255}
#book-fx .fx-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#fffaf0,#f6dd9c 45%,#e0b560);opacity:0;pointer-events:none}

.gyro .card-surface::before{opacity:1}
@media(prefers-reduced-motion:reduce){#book-fx{display:none}}
