/* Painted scenery occupies one layer between section backgrounds and reading surfaces. */
.trailer-edition { --anchor-metal-grade:grayscale(1) sepia(.95) saturate(.9) brightness(.72) contrast(1.2); }
.trailer-edition .trailer-opening { isolation:auto; }
.trailer-edition .opening-art { z-index:0; }
.trailer-edition :is(.opening-copy,.opening-foot,.chapter-copy,.chapter-figure,.permission-heading,.permission-copy,.permission-scene > figure,.inquiry-copy,.book-stage,.book-copy,.story-divider,.colophon) { position:relative; z-index:2; }
.trailer-edition .colophon { background:#101c25; }

.anchor-descent { display:none; position:fixed; top:0; left:0; z-index:1; pointer-events:none; transform-origin:50% 0; }
.anchor-chain-extension { display:none; position:fixed; top:0; left:0; z-index:1; pointer-events:none; max-width:none; filter:var(--anchor-metal-grade); }
.anchor-chain-visible .anchor-chain-extension { display:block; }
.anchor-in-motion .anchor-descent { display:block; }
.anchor-descent img,.anchor-resting { width:100%; height:100%; object-fit:contain; filter:var(--anchor-metal-grade); }
.anchor-descent img { display:block; }

.trailer-edition .full-book-offer { position:relative; padding-bottom:235px; }
.anchor-ground { --ground-height:240px; --glow-headroom:160px; position:absolute; bottom:0; left:0; width:100%; height:var(--ground-height); z-index:1; pointer-events:none; }
/* The brighter rock painting needs less opacity than the dark brass anchor. */
.anchor-rock { display:block; width:100%; height:auto; opacity:.14; filter:grayscale(.45) sepia(.2) saturate(.6); }
.anchor-in-motion:not(.anchor-grounded) .foundation-arrival { opacity:0; transform:translateY(var(--anchor-rock-rise,260px)); }
.anchor-in-motion.anchor-grounded .foundation-arrival { opacity:1; transform:translateY(0); }
.anchor-resting { --rest-height:var(--anchor-rest-height,min(90svh,140vw)); position:absolute; left:52%; bottom:calc(63% - var(--rest-height) * .015); width:calc(var(--rest-height) * .6666667); max-width:none; height:var(--rest-height); transform:translateX(-50%); opacity:.23; }
.anchor-in-motion .anchor-resting { visibility:hidden; }
.anchor-contact-shadow { position:absolute; left:52%; top:37%; width:clamp(28px,5vw,72px); height:10px; transform:translate(-50%,-35%); background:radial-gradient(ellipse,#071218a6 0%,#07121855 30%,transparent 72%); opacity:var(--anchor-contact-opacity,.3); }
.anchor-in-motion:not(.anchor-grounded) .anchor-contact-shadow { opacity:0; }
.anchor-radiance { position:absolute; top:calc(-1 * var(--glow-headroom)); right:0; bottom:0; left:0; overflow:hidden; }
/* Split at the contact plane; the far arc is also cut out by the moving silhouette. */
.anchor-radiance-front { clip-path:inset(calc(var(--glow-headroom) + var(--ground-height) * .37) 0 0); }
.anchor-radiance-depth { position:absolute; top:calc(-1 * var(--glow-headroom)); left:0; width:100%; height:calc(var(--ground-height) + var(--glow-headroom)); overflow:hidden; }
.anchor-radiance-depth .anchor-radiance { top:0; clip-path:inset(0 0 calc(var(--ground-height) * .63)); }
.anchor-radiance > span,.anchor-radiance::before,.anchor-radiance::after { position:absolute; left:52%; top:calc(var(--glow-headroom) + var(--ground-height) * .37); opacity:0; pointer-events:none; }
.anchor-radiance::before { content:""; width:clamp(170px,37vw,460px); height:clamp(80px,12vw,155px); border-radius:50%; background:radial-gradient(ellipse,#ffe5ad8a 0%,#d8a35d40 29%,#d8a35d12 52%,transparent 72%); transform:translate(-50%,-50%) scale(.25); }
.anchor-radiance::after { content:""; width:clamp(160px,42vw,580px); height:2px; background:linear-gradient(90deg,transparent,#e6c388,#ffebbd,#e6c388,transparent); box-shadow:0 0 12px #e7bb7470; transform:translateX(-50%) scaleX(.1); }
.anchor-wave { --wave-strength:.88; width:clamp(260px,91vw,1180px); height:clamp(74px,11vw,142px); border-radius:50%; background:radial-gradient(ellipse,transparent 59%,#d5ad6824 65%,#f1d39bac 70%,#d3aa6838 74%,transparent 80%); filter:blur(.45px); transform:translate(-50%,-50%) scale(.04,.18); }
.anchor-wave-echo { --wave-strength:.47; background:radial-gradient(ellipse,transparent 61%,#b7c5ae20 67%,#e0c292a6 71%,#9fb4a829 75%,transparent 80%); }
.anchor-dust { width:clamp(220px,74vw,980px); height:clamp(62px,10vw,128px); border-radius:50%; background:radial-gradient(ellipse,#cfa56357,transparent 69%); transform:translate(-50%,-45%) scale(.18,.4); }
.anchor-impact .foundation-arrival { animation:bedrock-arrive 820ms ease-out both; }
.anchor-impact .anchor-radiance::before { animation:anchor-bloom 1700ms 160ms ease-out both; }
.anchor-impact .anchor-wave { animation:anchor-wave-out 2200ms 160ms cubic-bezier(.15,.65,.25,1) both; }
.anchor-impact .anchor-wave-echo { animation-duration:2600ms; animation-delay:410ms; }
.anchor-impact .anchor-dust { animation:anchor-dust 2400ms 160ms ease-out both; }
.anchor-impact .anchor-radiance::after { animation:anchor-contact 1900ms 160ms ease-out both; }
.anchor-impact .full-book-offer :is(.book-stage,.book-copy) { animation:bedrock-settle 650ms 160ms ease-out both; }
@keyframes bedrock-arrive { 0% { opacity:0; transform:translateY(var(--anchor-rock-rise,260px)); } 20% { opacity:1; transform:translateY(0); } 30% { opacity:1; transform:translateY(-3px); } 48% { opacity:1; transform:translateY(1px); } 70% { opacity:1; transform:translateY(-.5px); } 100% { opacity:1; transform:translateY(0); } }
@keyframes bedrock-settle { 0%,100% { transform:translateY(0); } 17% { transform:translateY(2px); } 42% { transform:translateY(-1px); } 68% { transform:translateY(.5px); } }
@keyframes anchor-bloom { 0% { opacity:0; transform:translate(-50%,-50%) scale(.25); } 13% { opacity:.88; transform:translate(-50%,-50%) scale(.65); } 43% { opacity:.5; } 100% { opacity:0; transform:translate(-50%,-55%) scale(1.3); } }
@keyframes anchor-wave-out { 0% { opacity:0; transform:translate(-50%,-50%) scale(.04,.18); } 12% { opacity:var(--wave-strength); transform:translate(-50%,-50%) scale(.22,.36); } 45% { opacity:calc(var(--wave-strength) * .72); } 77% { opacity:calc(var(--wave-strength) * .28); } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.12,1.25); } }
@keyframes anchor-dust { 0% { opacity:0; transform:translate(-50%,-45%) scale(.18,.4); } 17% { opacity:.57; } 58% { opacity:.24; } 100% { opacity:0; transform:translate(-50%,-85%) scale(1.12,1.45); } }
@keyframes anchor-contact { 0% { opacity:0; transform:translateX(-50%) scaleX(.1); } 12% { opacity:.86; } 40% { opacity:.4; } 100% { opacity:0; transform:translateX(-50%) scaleX(1.3); } }
@media(max-width:700px) {
  .trailer-edition .full-book-offer { padding-bottom:175px; }
  .anchor-ground { --ground-height:170px; --glow-headroom:130px; }
}
@media(prefers-reduced-motion:reduce) {
  .anchor-descent { display:none !important; }
  .anchor-resting { visibility:visible !important; }
  .anchor-ground *,.anchor-radiance::before,.anchor-radiance::after,.anchor-impact .full-book-offer :is(.book-stage,.book-copy) { animation:none !important; }
}
.still .anchor-descent { display:none; }
.still .anchor-resting { visibility:visible; }
.still .anchor-ground *,.still .anchor-radiance::before,.still .anchor-radiance::after,.still .full-book-offer :is(.book-stage,.book-copy) { animation:none; }
