/* Header geometry spans the arrival; a forest veil protects its reading field. */
.rm-interior-header:has(.rm-interior-scene) { isolation:isolate; padding-bottom:56px; }
.rm-interior-header:has(.rm-interior-scene)>.rm-shell { position:static; }
.rm-interior-art:has(.rm-interior-scene) { position:absolute; inset:0; width:auto; height:auto; margin:0; z-index:0; pointer-events:none; }
.rm-interior-scene { position:absolute; inset:0; overflow:hidden; color:#a8c2a4; opacity:.7; -webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent); mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent); }
.rm-interior-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#1b4332 0%,rgba(27,67,50,.94) 58%,rgba(27,67,50,.68) 70%,rgba(27,67,50,.1) 88%,transparent); }
.rm-interior-svg { display:block; width:100%; height:100%; max-width:none; overflow:visible; transform:translateX(var(--rm-scene-shift,0px)); }
.rm-scene-line { stroke:currentColor; stroke-width:1.3; opacity:.55; }
.rm-scene-accent { stroke:#e7c56e; stroke-width:1.6; opacity:.72; }
.rm-scene-node { fill:#1b4332; stroke:#d1dfc9; stroke-width:1.5; }
.rm-scene-node--gold { fill:#d8b66b; stroke:#e7c56e; }
.rm-scene-ring { stroke:#a8c2a4; stroke-width:1; opacity:.3; }
.rm-scene-trace { stroke:#e7c56e; stroke-width:2.4; stroke-dasharray:7 78; stroke-linecap:round; opacity:.82; animation:rm-interior-signal var(--rm-scene-cycle,18s) linear infinite; animation-delay:var(--rm-scene-phase,-4s); animation-play-state:paused; }
.rm-scene-align { transform-origin:880px 240px; animation:rm-interior-align 16s ease-in-out infinite alternate; animation-delay:var(--rm-scene-phase,-4s); animation-play-state:paused; }
.rm-scene-conformation { transform-origin:890px 245px; animation:rm-interior-fold 20s ease-in-out infinite alternate; animation-delay:var(--rm-scene-phase,-4s); animation-play-state:paused; }
.rm-scene-pages { transform-origin:960px 250px; animation:rm-interior-page 24s ease-in-out infinite alternate; animation-delay:var(--rm-scene-phase,-4s); animation-play-state:paused; }
.rm-interior-scene[data-motion="playing"] :is(.rm-scene-trace,.rm-scene-align,.rm-scene-conformation,.rm-scene-pages) { animation-play-state:running; }
.rm-interior-scene[data-motion="static"] :is(.rm-scene-trace,.rm-scene-align,.rm-scene-conformation,.rm-scene-pages) { animation:none; }
.rm-interior-scene[data-motion="static"] .rm-scene-trace { stroke-dasharray:none; stroke-width:1; opacity:.35; }
@keyframes rm-interior-signal { to { stroke-dashoffset:-510; } }
@keyframes rm-interior-align { from { transform:translateY(-5px) rotate(-1deg); } to { transform:translateY(5px) rotate(1deg); } }
@keyframes rm-interior-fold { from { transform:scaleY(.94) rotate(-1deg); } to { transform:scaleY(1.03) rotate(1deg); } }
@keyframes rm-interior-page { from { transform:rotate(-1.5deg); } to { transform:rotate(1deg); } }
.rm-interior-scene--editorial { opacity:.48; }
.rm-interior-scene--editorial .rm-scene-trace { stroke-width:1.6; --rm-scene-cycle:32s; }
.rm-interior-scene--flow .rm-scene-trace { stroke-dasharray:4 110; }
.rm-interior-scene--chapters .rm-scene-line { opacity:.7; }
/* Kinetic arrivals: drawings stay fixed within their layer; only transform and opacity change. */
.rm-interior-art:has(.rm-interior-scene--kinetic) { opacity:1; }
.rm-interior-scene--kinetic { opacity:.88; color:#bed0b6; }
.rm-interior-scene--kinetic::after { background:linear-gradient(90deg,#1b4332 0%,rgba(27,67,50,.98) 43%,rgba(27,67,50,.9) 57%,rgba(27,67,50,.45) 75%,rgba(27,67,50,.1) 94%,transparent); }
.rm-kinetic-layer { position:absolute; top:0; right:0; width:auto; min-width:100%; height:100%; aspect-ratio:30/11; margin:0; transform:none; animation-iteration-count:infinite; animation-timing-function:cubic-bezier(.45,0,.25,1); animation-delay:var(--rm-scene-phase,-4s); animation-play-state:paused; }
.rm-kinetic-hairline { stroke:currentColor; stroke-width:1.2; opacity:.32; }
.rm-kinetic-rule { stroke:currentColor; stroke-width:2; stroke-linecap:round; opacity:.65; }
.rm-kinetic-rule--strong { stroke-width:4; }
.rm-kinetic-paper { fill:#bed0b6; fill-opacity:.035; stroke:#bed0b6; stroke-width:1.4; stroke-opacity:.32; }
.rm-kinetic-leaf { fill:#244d3a; fill-opacity:.9; stroke:#c3d2b9; stroke-width:1.5; stroke-opacity:.66; }
.rm-kinetic-tab { fill:#e7c56e; fill-opacity:.16; stroke:#e7c56e; stroke-width:1.5; stroke-opacity:.65; }
.rm-kinetic-gold { stroke:#e7c56e; stroke-width:1.8; stroke-linecap:round; opacity:.82; }
.rm-kinetic-bond { stroke:currentColor; stroke-width:2; stroke-linecap:round; opacity:.74; }
.rm-kinetic-residue { fill:#1b4332; stroke:#c8d7bd; stroke-width:2; }
.rm-kinetic-point { fill:#bbcfb0; opacity:.76; }
.rm-kinetic-solid { fill:#e7c56e; }
.rm-kinetic-editorial-source { animation-name:rm-kinetic-source; animation-duration:11s; }
.rm-kinetic-editorial-assembly { animation-name:rm-kinetic-assembly; animation-duration:6.4s; }
.rm-kinetic-editorial-mark { animation-name:rm-kinetic-proof; animation-duration:3.8s; animation-delay:-1.7s; }
.rm-kinetic-editorial-index { transform-origin:91% 54%; animation-name:rm-kinetic-turn; animation-duration:24s; animation-timing-function:linear; }
.rm-kinetic-publication-leaf { transform-origin:77.1% 54%; backface-visibility:hidden; animation-name:rm-kinetic-page-turn; animation-duration:8.6s; animation-timing-function:cubic-bezier(.4,0,.16,1); }
.rm-kinetic-publication-contents { animation-name:rm-kinetic-contents; animation-duration:5.8s; }
.rm-kinetic-publication-read { transform-origin:61% 50%; animation-name:rm-kinetic-reading; animation-duration:3.2s; animation-delay:-.7s; }
.rm-kinetic-publication-tabs { animation-name:rm-kinetic-tabs; animation-duration:12s; }
.rm-kinetic-publication-subject { animation-name:rm-kinetic-breathe; animation-duration:4.3s; }
.rm-kinetic-molecule-core { transform-origin:76% 54%; animation-name:rm-kinetic-conform; animation-duration:18s; }
.rm-interior-scene--conformation .rm-kinetic-molecule-core { animation-duration:12.4s; }
.rm-kinetic-molecule-orbit { transform-origin:79% 54%; animation-name:rm-kinetic-turn; animation-duration:22s; animation-timing-function:linear; animation-direction:reverse; }
.rm-kinetic-molecule-packet { animation-name:rm-kinetic-residue-travel; animation-duration:5.4s; animation-delay:-2s; }
.rm-kinetic-molecule-contact { animation-name:rm-kinetic-breathe; animation-duration:3.6s; }
.rm-kinetic-modification { transform-origin:92.25% 54.5%; animation-name:rm-kinetic-modify; animation-duration:6.8s; }
.rm-kinetic-sequence-a { animation-name:rm-kinetic-sequence; animation-duration:4.8s; }
.rm-kinetic-sequence-b { animation-name:rm-kinetic-sequence; animation-duration:6.2s; animation-delay:-1.6s; animation-direction:reverse; }
.rm-kinetic-sequence-c { animation-name:rm-kinetic-sequence; animation-duration:8.1s; animation-delay:-4.1s; }
.rm-kinetic-sequence-join { animation-name:rm-kinetic-breathe; animation-duration:2.9s; }
.rm-kinetic-receptor-ligand { animation-name:rm-kinetic-dock; animation-duration:5.2s; }
.rm-kinetic-receptor-bind { transform-origin:85.2% 43.2%; animation-name:rm-kinetic-binding; animation-duration:5.2s; }
.rm-kinetic-receptor-signal { animation-name:rm-kinetic-signal; animation-duration:2.6s; animation-delay:-.6s; }
.rm-kinetic-receptor-field { transform-origin:85.2% 53%; animation-name:rm-kinetic-field; animation-duration:19s; }
.rm-kinetic-kinetic-transit { animation-name:rm-kinetic-transit; animation-duration:3.6s; animation-timing-function:linear; }
.rm-kinetic-kinetic-exposure { transform-origin:84% 54%; animation-name:rm-kinetic-conform; animation-duration:9.8s; }
.rm-kinetic-kinetic-clearance { animation-name:rm-kinetic-clearance; animation-duration:4.6s; animation-delay:-1.8s; }
.rm-kinetic-kinetic-time { animation-name:rm-kinetic-breathe; animation-duration:13s; }
.rm-kinetic-coordination-left { animation-name:rm-kinetic-donor-left; animation-duration:6.1s; }
.rm-kinetic-coordination-right { animation-name:rm-kinetic-donor-right; animation-duration:7.4s; }
.rm-kinetic-coordination-center { animation-name:rm-kinetic-breathe; animation-duration:3.1s; }
.rm-kinetic-coordination-orbit { transform-origin:79% 52.3%; animation-name:rm-kinetic-turn; animation-duration:17s; animation-timing-function:linear; }
.rm-kinetic-evidence-model { transform-origin:62% 54%; animation-name:rm-kinetic-conform; animation-duration:14s; }
.rm-kinetic-evidence-transfer { animation-name:rm-kinetic-transfer; animation-duration:3.5s; }
.rm-kinetic-evidence-field { transform-origin:93% 54%; animation-name:rm-kinetic-field; animation-duration:10.8s; }
.rm-kinetic-evidence-aperture { animation-name:rm-kinetic-breathe; animation-duration:5.1s; }
.rm-kinetic-measurement-pointer { transform-origin:76.33% 53.41%; animation-name:rm-kinetic-meter; animation-duration:4.7s; }
.rm-kinetic-measurement-caliper { animation-name:rm-kinetic-caliper; animation-duration:9.2s; }
.rm-kinetic-measurement-flow { animation-name:rm-kinetic-measure-flow; animation-duration:2.8s; animation-timing-function:linear; }
.rm-kinetic-measurement-vernier { animation-name:rm-kinetic-vernier; animation-duration:6.6s; }
.rm-interior-scene[data-motion="playing"] .rm-kinetic-layer { animation-play-state:running; }
.rm-interior-scene[data-motion="playing"] .rm-kinetic-layer:not(.rm-kinetic-still) { will-change:transform,opacity; }
.rm-interior-scene[data-motion="static"] .rm-kinetic-layer { animation:none; }
@keyframes rm-kinetic-source { 0%,100% { transform:translate3d(-8px,12px,0); opacity:.6; } 50% { transform:translate3d(8px,-8px,0); opacity:1; } }
@keyframes rm-kinetic-assembly { 0%,100% { transform:translate3d(32px,0,0); opacity:.25; } 22%,72% { transform:translate3d(0,0,0); opacity:1; } }
@keyframes rm-kinetic-proof { 0%,100% { transform:translate3d(0,0,0); opacity:.3; } 38% { transform:translate3d(-20px,89px,0); opacity:1; } 72% { transform:translate3d(-4px,174px,0); opacity:.8; } }
@keyframes rm-kinetic-turn { to { transform:rotate(360deg); } }
@keyframes rm-kinetic-page-turn { 0%,14%,100% { transform:perspective(950px) rotateY(0deg); opacity:1; } 42% { transform:perspective(950px) rotateY(-155deg); opacity:.7; } 44% { transform:perspective(950px) rotateY(-155deg); opacity:0; } 45%,65% { transform:perspective(950px) rotateY(0deg); opacity:0; } 77% { transform:perspective(950px) rotateY(0deg); opacity:1; } }
@keyframes rm-kinetic-contents { 0%,100% { transform:translate3d(0,18px,0); opacity:.35; } 25%,70% { transform:translate3d(0,0,0); opacity:1; } }
@keyframes rm-kinetic-reading { 0%,100% { transform:scaleX(.55); opacity:.25; } 45%,72% { transform:scaleX(1); opacity:1; } }
@keyframes rm-kinetic-tabs { 0%,100% { transform:translate3d(-4px,-6px,0); } 50% { transform:translate3d(7px,7px,0); } }
@keyframes rm-kinetic-breathe { 0%,100% { opacity:.3; } 50% { opacity:1; } }
@keyframes rm-kinetic-conform { 0%,100% { transform:rotate(-9deg) scale(.96,1.03); } 50% { transform:rotate(8deg) scale(1.04,.95); } }
@keyframes rm-kinetic-residue-travel { 0%,100% { transform:translate3d(-44px,22px,0) rotate(-7deg); opacity:0; } 15% { opacity:1; } 76% { transform:translate3d(226px,-190px,0) rotate(8deg); opacity:1; } 90% { transform:translate3d(264px,-212px,0) rotate(10deg); opacity:0; } }
@keyframes rm-kinetic-modify { 0%,100% { transform:rotate(-17deg); opacity:.55; } 50% { transform:rotate(14deg); opacity:1; } }
@keyframes rm-kinetic-sequence { 0%,100% { transform:translate3d(0,-18px,0) rotate(-2deg); } 40%,70% { transform:translate3d(0,0,0) rotate(0deg); } }
@keyframes rm-kinetic-dock { 0%,100% { transform:translate3d(-50px,-35px,0); opacity:0; } 10% { opacity:1; } 44%,67% { transform:translate3d(200px,53px,0); opacity:1; } 81% { transform:translate3d(200px,53px,0); opacity:0; } 82% { transform:translate3d(-50px,-35px,0); opacity:0; } }
@keyframes rm-kinetic-binding { 0%,100% { transform:scale(1.22); opacity:.15; } 44%,67% { transform:scale(1); opacity:1; } }
@keyframes rm-kinetic-signal { 0%,100% { transform:translate3d(0,0,0); opacity:0; } 15% { opacity:1; } 80% { transform:translate3d(52px,96px,0); opacity:0; } }
@keyframes rm-kinetic-field { 0%,100% { transform:rotate(-5deg) scale(.97); } 50% { transform:rotate(5deg) scale(1.04); } }
@keyframes rm-kinetic-transit { 0%,100% { transform:translate3d(0,0,0); opacity:0; } 8% { opacity:1; } 86% { transform:translate3d(510px,0,0); opacity:.7; } 94% { transform:translate3d(554px,0,0); opacity:0; } }
@keyframes rm-kinetic-clearance { 0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.2; } 15% { opacity:1; } 85% { transform:translate3d(180px,-76px,0) scale(.7); opacity:0; } }
@keyframes rm-kinetic-donor-left { 0%,100% { transform:translate3d(-19px,-9px,0); } 50% { transform:translate3d(0,0,0); } }
@keyframes rm-kinetic-donor-right { 0%,100% { transform:translate3d(18px,-11px,0); } 50% { transform:translate3d(0,0,0); } }
@keyframes rm-kinetic-transfer { 0%,100% { transform:translate3d(0,0,0); opacity:0; } 15% { opacity:1; } 80% { transform:translate3d(206px,0,0); opacity:1; } 92% { transform:translate3d(235px,0,0); opacity:0; } }
@keyframes rm-kinetic-meter { 0%,100% { transform:rotate(-37deg); } 24% { transform:rotate(18deg); } 48%,62% { transform:rotate(-5deg); } 79% { transform:rotate(31deg); } }
@keyframes rm-kinetic-caliper { 0%,100% { transform:translate3d(-16px,0,0); } 35%,65% { transform:translate3d(30px,0,0); } }
@keyframes rm-kinetic-measure-flow { 0%,100% { transform:translate3d(0,0,0); opacity:0; } 12% { opacity:1; } 84% { transform:translate3d(412px,0,0); opacity:1; } 96% { transform:translate3d(480px,0,0); opacity:0; } }
@keyframes rm-kinetic-vernier { 0%,100% { transform:translate3d(0,-54px,0); } 50% { transform:translate3d(0,108px,0); } }
@media(max-width:900px) { .rm-interior-header:has(.rm-interior-scene) { padding-bottom:48px; } .rm-interior-scene::after { background:linear-gradient(90deg,#1b4332 0%,rgba(27,67,50,.94) 58%,rgba(27,67,50,.78) 80%,rgba(27,67,50,.75)); } }
@media(max-width:650px) { .rm-interior-header:has(.rm-interior-scene) { padding-bottom:42px; } .rm-interior-scene { opacity:.6; } .rm-interior-scene::after { background:linear-gradient(90deg,#1b4332 0%,rgba(27,67,50,.95) 44%,rgba(27,67,50,.78) 76%,rgba(27,67,50,.65)); } .rm-interior-svg { width:150%; margin-left:-50%; } .rm-scene-line { stroke-width:1.6; } }
@media(max-width:900px) { .rm-interior-scene--kinetic::after { background:linear-gradient(90deg,#1b4332 0%,rgba(27,67,50,.96) 51%,rgba(27,67,50,.85) 70%,rgba(27,67,50,.76)); } }
@media(max-width:650px) { .rm-interior-scene--kinetic { opacity:.74; } .rm-interior-scene--kinetic::after { background:linear-gradient(90deg,#1b4332 0%,rgba(27,67,50,.96) 44%,rgba(27,67,50,.87) 76%,rgba(27,67,50,.78)); } .rm-kinetic-layer { width:auto; margin:0; min-width:100%; } }
@media(prefers-reduced-motion:reduce) { .rm-interior-scene :is(.rm-scene-trace,.rm-scene-align,.rm-scene-conformation,.rm-scene-pages) { animation:none!important; } .rm-interior-scene .rm-scene-trace { stroke-dasharray:none; stroke-width:1; opacity:.35; } }
@media(prefers-reduced-motion:reduce) { .rm-interior-scene .rm-kinetic-layer { animation:none!important; will-change:auto!important; } }
