/* Decorative rays stay contained; the physical card and its bloom stay free. */
.interactive-deck { overflow:visible; min-height:560px; padding-block:48px; }
.deck-light-bounds { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.inspection-loading-shell { position:absolute; width:min(430px,80%,calc((100svh - 156px) * .5)); aspect-ratio:780/1337; top:50%; left:50%; transform:translate(-50%,-50%); }
.inspection-loading-shell .inspection-loading { position:relative; display:block; inset:auto; transform:none; width:100%; height:auto; }
.card-power-field { position:absolute; width:calc(100% + 48px); height:calc(100% + 48px); left:-24px; top:-24px; pointer-events:none; }
.inspection-loading-shell:has(.inspection-loading[hidden]) { visibility:hidden; }
@media(max-width:700px) { .interactive-deck { min-height:530px; padding-block:48px; } }
.loading-power-compositor { position:absolute; inset:2%; overflow:hidden; border-radius:3%; pointer-events:none; opacity:0; }
.inspection-loading-shell[data-power-active="true"][data-power-phase="waiting"] .loading-power-compositor { opacity:1; }
.power-band { position:absolute; top:100%; left:-20%; width:140%; height:24%; background:linear-gradient(0deg,transparent,#67e8db08 35%,#80f2d827 78%,#cdf5d635 82%,transparent 100%); filter:blur(9px); animation:power-upward 1.4s linear infinite; animation-play-state:paused; }
.power-spark { position:absolute; top:105%; left:var(--spark-x); width:2px; height:2px; background:#adf1dc; border-radius:50%; box-shadow:0 0 7px #65edda; animation:power-spark-rise 1.25s linear infinite; animation-delay:var(--spark-delay); animation-play-state:paused; }
.inspection-loading-shell[data-power-active="true"] .power-band,.inspection-loading-shell[data-power-active="true"] .power-spark { animation-play-state:running; }
@keyframes power-upward { to { transform:translateY(-600%); } }
@keyframes power-spark-rise { 0% { opacity:0; transform:translate(0,0); } 12% { opacity:.7; } 85% { opacity:.2; } 100% { opacity:0; transform:translate(var(--spark-shift),-620px); } }
@media(prefers-reduced-motion:reduce) { .loading-power-compositor { display:none; }.power-band,.power-spark { animation:none; } }
/* Full one-second entry/return; motion preference uses immediate state. */
#card-inspector-dialog::backdrop { background:#09061100; backdrop-filter:blur(0); transition:background 1s ease,backdrop-filter 1s ease; }
#card-inspector-dialog[data-backdrop="on"]::backdrop { background:#0906118f; backdrop-filter:blur(20px); }
#card-inspector-dialog[data-backdrop="off"]::backdrop { background:#09061100; backdrop-filter:blur(0); }
.inspection-top,.inspection-bottom { transition:opacity 1s ease; }
.power-band { height:32%; filter:blur(12px); background:linear-gradient(0deg,transparent,#dfaf5308 25%,#efc27530 67%,#d8fff338 80%,#83ebd224 87%,transparent); animation-duration:1.8s; }
.power-band-two { animation-delay:-.9s; left:-35%; width:170%; opacity:.7; }
.power-spark { background:#ffe5a3; box-shadow:0 0 8px #e8c377,0 0 14px #65edda55; animation-duration:var(--spark-time,1.8s); }
.power-spark:nth-child(3n) { background:#98f2dc; box-shadow:0 0 9px #65edda; }
.inspection-loading-shell[data-power-phase="complete"] .loading-power-compositor { opacity:0; }
@media(prefers-reduced-motion:reduce) { #card-inspector-dialog::backdrop,.inspection-top,.inspection-bottom { transition:none; } }
.testimonials { max-width:1160px; width:calc(100% - 48px); padding-block:80px; }
.testimonials .hex-field { opacity:.28; }
.reading-keepsakes { grid-template-columns:1fr 1fr; align-items:start; gap:48px; margin:0; }
.dojo-film { position:static; }
.dojo-stage { aspect-ratio:4/3; border-radius:16px; }
.dojo-stage > img,.dojo-stage > video { object-fit:cover; object-position:center; }
.reading-introduction h2 { font-size:44px; line-height:1.08; margin:0 0 16px; }
.reading-introduction .after-lead { font-size:17px; line-height:26px; margin:0 0 24px; }
.deliverables { border:0; padding:0; }
.deliverables li { margin:0 0 20px; }
.deliverables li:last-child { margin-bottom:0; }
.deliverables li::before { display:none; }
.deliverables h3 { font-size:21px; line-height:27px; margin:0 0 6px; }
.deliverables p { font-size:15px; line-height:24px; }
.future-reading { margin:32px 0 0; padding:20px 24px; border:1px solid #6f5c7d36; border-radius:12px; background:linear-gradient(110deg,#3220393d,#10222b29); display:flex; gap:24px; align-items:baseline; }
.future-reading h3 { flex:none; margin:0; font-size:16px; }
.future-reading p { font-size:14px; line-height:23px; }
.quote-pair { margin-top:48px; }
.host-title { color:#e4c78d; font-size:16px; line-height:1.6; margin-top:-6px; margin-bottom:24px; }
.testimonials { padding-bottom:48px; }
.voices-section { max-width:1160px; width:calc(100% - 48px); margin-bottom:64px; padding:40px; border:1px solid #a384b82b; border-radius:20px; background:linear-gradient(135deg,#25172b66,#11161c80 65%); box-shadow:0 20px 60px #0002; }
.feedback-header { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.feedback-header h2 { font-size:38px; line-height:1.15; margin:0; }
.feedback-stars { color:#efce8b; font-size:24px; white-space:nowrap; letter-spacing:3px; text-shadow:0 0 8px #efca8066,0 0 22px #e9b75826; }
.voices-section .quote-pair { gap:32px 40px; margin-top:32px; }
.voices-section .quote-pair figure { padding:24px 0 0; border-top:1px solid #b395bf29; }
.voices-section blockquote { font-size:23px; line-height:1.45; margin-bottom:18px; }
.voices-section .second-quote { font-size:17px; margin-top:12px; }
.voices-section figcaption { color:#dccde7; }
.voices-section figcaption { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.quote-stars { color:#efce8b; font-size:17px; white-space:nowrap; letter-spacing:2px; text-shadow:0 0 8px #efca8066,0 0 22px #e9b75826; }
.footer { flex-wrap:wrap; }
.ratings-context { flex-basis:100%; margin:0; color:var(--text-muted); font-size:11px; line-height:1.5; }
@media(max-width:800px) { .voices-section { width:calc(100% - 40px); padding:28px 24px; margin-bottom:48px; }.feedback-header { display:block; }.feedback-header h2 { font-size:30px; }.feedback-stars { margin-top:18px; font-size:22px; }.voices-section .quote-pair { grid-template-columns:1fr; gap:24px; margin-top:24px; }.voices-section blockquote { font-size:22px; } }
.faq { max-width:1160px; width:calc(100% - 48px); grid-template-columns:minmax(0,.3fr) minmax(0,.7fr); gap:48px; padding:64px 0 80px; background:radial-gradient(ellipse at 25% 20%,#20172a55,transparent 60%); }
.faq h2 { font-size:42px; line-height:1.12; }
.faq-items { padding-left:34px; }
.faq summary { transition:color .4s ease,text-shadow .4s ease; }
.faq summary:hover,.faq summary:focus-visible,.faq details[open] summary { color:#ddfff5; text-shadow:0 0 18px #7cead55c; }
.faq details p { padding-right:30px; }
@media(max-width:800px) {
 .testimonials { width:calc(100% - 40px); padding-block:56px; }
 .reading-keepsakes { display:flex; flex-direction:column; gap:24px; }
 .keepsake-copy { display:contents; }
 .reading-introduction { order:0; }
 .dojo-film { order:1; width:100%; }
 .deliverables { order:2; }
 .reading-introduction h2 { font-size:34px; }
 .reading-introduction .after-lead { margin-bottom:0; }
 .dojo-stage { aspect-ratio:16/10; }
 .deliverables h3 { font-size:21px; }
 .future-reading { margin-top:24px; display:block; padding:20px; }
 .future-reading h3 { margin-bottom:8px; }
 .faq { width:calc(100% - 40px); grid-template-columns:1fr; gap:28px; padding-top:40px; }
 .faq h2 { max-width:100%; font-size:34px; }
 .faq-items { padding-left:28px; }
 .faq details p { padding-right:20px; }
}
