/* R9 isolated cinematic concept. R5 styles untouched. */
.r9-cinema{position:relative;isolation:isolate;display:grid;grid-template-columns:40% 60%;height:clamp(550px,70vw,780px);background:#04180f;color:#f5d887;overflow:hidden;border-bottom:2px solid #b8903e}.r9-left{display:grid;grid-template-rows:65% 35%;min-height:0;background:radial-gradient(circle at 50% 45%,#145633,#061e14 65%,#02100b);border-right:1px solid #a58239}.r9-character{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden}.r9-archer{position:relative;z-index:2;height:80%;width:82%;display:grid;place-items:center;transform-origin:50% 60%;animation:r9-turn 5s ease-in-out 1 both;filter:drop-shadow(0 0 17px #9e7b2f)}.r9-archer img{max-width:100%;max-height:100%;object-fit:contain}.r9-orbit{position:absolute;z-index:3;width:min(75%,360px);aspect-ratio:1;border:3px solid transparent;border-top-color:#f8db84;border-left-color:#c58c2e;border-radius:50%;box-shadow:0 0 17px #f5b83b,inset 0 0 18px #d9a849;transform:rotateX(63deg);animation:r9-orbit 6s linear infinite;pointer-events:none}.r9-orbit:after{content:'✦';position:absolute;left:4%;top:12%;font-size:23px;color:#fff4b7;text-shadow:0 0 13px #fff}.r9-arrow{position:absolute;right:4%;top:46%;z-index:4;color:#ffe6a1;font-size:48px;opacity:0;pointer-events:none;text-shadow:0 0 12px #f5b941}.r9-cinema.r9-firing .r9-arrow{animation:r9-shot .8s ease-out both}.r9-food{position:relative;overflow:hidden;border-top:1px solid #b8903e}.r9-food img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .45s}.r9-food-heading{position:absolute;top:0;left:0;right:0;z-index:2;padding:8px 12px;background:linear-gradient(#061e17e8,transparent);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-family:Georgia,serif;letter-spacing:.08em}.r9-food-heading span{font-size:clamp(11px,1vw,16px);font-style:italic}.r9-food-label{position:absolute;bottom:10px;left:14px;background:#041c16df;border:1px solid #c8a359;border-radius:25px;padding:5px 12px;font-size:13px}.r9-right{position:relative;overflow:hidden;min-width:0;background:#04150f}.r9-right>img{height:100%;width:100%;object-fit:cover;display:block;transition:opacity .28s}.r9-right:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05170d55,transparent 40%);pointer-events:none}.r9-curtain{position:absolute;z-index:4;inset:0;transform:translateX(-110%);pointer-events:none;background:linear-gradient(90deg,transparent 0%,#fbe8a033 28%,#fff0adbb 49%,#d49b3299 52%,transparent 80%);filter:drop-shadow(0 0 20px #f7c45a)}.r9-cinema.r9-reveal .r9-curtain{animation:r9-curtain .95s ease-in-out both}.r9-scene-title{position:absolute;z-index:2;bottom:70px;left:5%;font-family:Georgia,serif;font-size:clamp(22px,3vw,52px);color:#ffdf8e;text-shadow:0 3px 15px #000,0 0 10px #7d4f13}.r9-scene-title small{display:block;font-size:.37em;letter-spacing:.28em;margin-top:7px}.r9-controls{position:absolute;z-index:5;right:15px;bottom:15px;display:flex;gap:8px}.r9-controls button{background:#07271ddd;border:1px solid #dbb76a;border-radius:22px;padding:8px 13px;color:#ffe3a1;cursor:pointer;font-size:13px}@keyframes r9-orbit{to{transform:rotateX(63deg) rotate(360deg)}}@keyframes r9-turn{0%{transform:perspective(650px) rotateY(0deg) scale(.95)}32%{transform:perspective(650px) rotateY(-24deg) scale(1)}65%{transform:perspective(650px) rotateY(-24deg) scale(1)}100%{transform:perspective(650px) rotateY(0deg) scale(.95)}}@keyframes r9-shot{0%{opacity:0;transform:translateX(-90px) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translateX(160px) scale(1.2)}}@keyframes r9-curtain{0%{transform:translateX(-110%)}100%{transform:translateX(115%)}}@media(max-width:700px){.r9-cinema{display:flex;flex-direction:column;height:auto}.r9-left{display:contents}.r9-character{order:0;height:270px;background:radial-gradient(circle,#155236,#03170f 72%)}.r9-archer{height:92%}.r9-orbit{width:190px}.r9-right{order:1;height:310px}.r9-food{order:2;height:185px}.r9-scene-title{font-size:26px;bottom:58px}.r9-food-heading{font-size:12px}.r9-food-heading span{font-size:11px}.r9-arrow{display:none}}@media(prefers-reduced-motion:reduce){.r9-orbit,.r9-archer,.r9-cinema.r9-firing .r9-arrow,.r9-cinema.r9-reveal .r9-curtain{animation:none!important}.r9-orbit{opacity:.45}}
/* R9 v2: narrow gold wipe driven by the arrow; isolated from original R5 */
.r9-right .r9-next-scene{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;clip-path:inset(0 100% 0 0);transition:none;pointer-events:none;opacity:1}
.r9-right .r9-next-scene.r9-wiping{animation:r9-image-wipe 1.1s linear forwards}
.r9-beam{position:absolute;z-index:4;top:0;bottom:0;left:0;width:3px;opacity:0;pointer-events:none;background:#fff5bc;box-shadow:0 0 7px 2px #ffe7a0,0 0 23px 5px #e7aa36,0 0 50px 9px #bd832b}
.r9-cinema.r9-reveal .r9-beam{animation:r9-beam-cross 1.1s linear forwards}
.r9-curtain{display:none!important}
.r9-archer{animation:none;transform-origin:50% 50%}
.r9-cinema.r9-aiming .r9-archer{animation:r9-aim 1s ease-in-out both}
.r9-cinema.r9-returning .r9-archer{animation:r9-return .7s ease-out both}
.r9-orbit{z-index:3;border-width:2px;box-shadow:0 0 12px #f5b83b,inset 0 0 12px #d9a849;animation:r9-orbit 5s linear infinite}
@keyframes r9-aim{from{transform:perspective(650px) rotateY(0deg)}to{transform:perspective(650px) rotateY(27deg)}}
@keyframes r9-return{from{transform:perspective(650px) rotateY(27deg)}to{transform:perspective(650px) rotateY(0deg)}}
@keyframes r9-image-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes r9-beam-cross{0%{left:0;opacity:1}97%{opacity:1}100%{left:100%;opacity:0}}
@media(max-width:700px){.r9-cinema.r9-firing .r9-arrow{display:block;right:8%;top:55%;font-size:25px}}
@media(prefers-reduced-motion:reduce){.r9-right .r9-next-scene.r9-wiping,.r9-cinema.r9-reveal .r9-beam,.r9-cinema.r9-aiming .r9-archer,.r9-cinema.r9-returning .r9-archer{animation:none!important}}

/* R9 integrated 01: additions scoped to cinematic section; R5 untouched */
.r9-cinema{height:clamp(480px,58vw,720px)}
.r9-character{isolation:isolate}
.r9-orbit-secondary{width:min(66%,310px);border-top-color:#fff0ad;border-left-color:transparent;border-right-color:#ae7622;animation-duration:8s;animation-direction:reverse;opacity:.72;transform:rotateX(70deg)}
.r9-bow-action{position:absolute;z-index:4;left:52%;top:24%;width:30%;height:48%;pointer-events:none;opacity:.8;transform-origin:20% 55%}
.r9-bow-action svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 6px #e2b353)}
.r9-bow{fill:none;stroke:#d7a85c;stroke-width:5;stroke-linecap:round}.r9-string{fill:none;stroke:#fff3bf;stroke-width:1.8}.r9-draw-arrow{fill:none;stroke:#ffe5a1;stroke-width:2.5;opacity:0}
.r9-cinema.r9-aiming .r9-string{animation:r9-string-draw .7s ease-out forwards}.r9-cinema.r9-aiming .r9-draw-arrow{animation:r9-arrow-draw .7s ease-out forwards}
.r9-cinema.r9-firing .r9-string{animation:r9-string-release .16s ease-out both}.r9-cinema.r9-firing .r9-draw-arrow{opacity:0}.r9-cinema.r9-firing .r9-bow-action{animation:r9-bow-recoil .25s ease-out}
@keyframes r9-string-draw{to{d:path('M120 10 L70 90 L120 170')}}
@keyframes r9-string-release{from{d:path('M120 10 L70 90 L120 170')}to{d:path('M120 10 L120 170')}}
@keyframes r9-arrow-draw{10%{opacity:1}100%{opacity:1;transform:translateX(-24px)}}
@keyframes r9-bow-recoil{40%{transform:translateX(5px)}100%{transform:translateX(0)}}
.r9-food-controls{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;gap:8px}.r9-food-controls button{height:38px;width:38px;border:1px solid #e8ca7e;background:#07291edb;color:#fbe5ae;border-radius:50%;font-size:26px;cursor:pointer}
.r9-filmstrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;background:#061b12;border-bottom:1px solid #9b763b}
.r9-filmstrip button{position:relative;overflow:hidden;min-width:0;height:96px;padding:0;border:1px solid #8d6d38;border-radius:10px;background:#061b12;color:#fff;cursor:pointer}.r9-filmstrip button[aria-current="true"]{outline:2px solid #f3d283;outline-offset:-3px}.r9-filmstrip img{width:100%;height:100%;object-fit:cover}.r9-filmstrip span{position:absolute;bottom:0;left:0;right:0;padding:14px 4px 5px;font:600 11px Georgia,serif;letter-spacing:.04em;background:linear-gradient(transparent,#02120deb)}
@media(max-width:700px){.r9-cinema{height:auto}.r9-bow-action{top:24%;left:51%;height:52%}.r9-filmstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.r9-filmstrip button{flex:0 0 36%;height:82px;scroll-snap-align:start}.r9-food-controls button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.r9-orbit-secondary,.r9-bow-action,.r9-string,.r9-draw-arrow{animation:none!important}}

/* R9 V2: polished orbit around archer midriff, narrow arrow-led wipe, mobile-first */
.r9-character{perspective:900px;contain:layout paint}
.r9-orbit,.r9-orbit-secondary{top:51%;left:50%;width:min(61%,285px);height:26%;aspect-ratio:auto;transform-origin:center;transform:translate(-50%,-50%) rotateX(68deg) rotate(0);border:2px solid #d8a94e;border-bottom-color:#fff0b0;border-left-color:#9a6a20;border-radius:50%;z-index:3;box-shadow:0 0 10px #d8a94e80,inset 0 0 12px #c68a3766;animation:r9-waist-orbit 5.5s linear infinite}
.r9-orbit-secondary{width:min(58%,270px);height:24%;opacity:.5;animation-duration:8s;animation-direction:reverse}
@keyframes r9-waist-orbit{from{transform:translate(-50%,-50%) rotateX(68deg) rotate(0)}to{transform:translate(-50%,-50%) rotateX(68deg) rotate(360deg)}}
.r9-archer{animation:none!important;transform:perspective(850px) rotateY(-9deg);transition:none}
.r9-cinema.r9-aiming .r9-archer{animation:r9-v2-draw .82s ease-out both!important}
.r9-cinema.r9-returning .r9-archer{animation:r9-v2-reset .4s ease-out both!important}
@keyframes r9-v2-draw{0%{transform:perspective(850px) rotateY(-9deg) translateX(0)}65%,100%{transform:perspective(850px) rotateY(-13deg) translateX(-5px)}}
@keyframes r9-v2-reset{from{transform:perspective(850px) rotateY(-13deg) translateX(-5px)}to{transform:perspective(850px) rotateY(-9deg)}}
.r9-beam{width:2px;box-shadow:0 0 6px 2px #fff2c2,0 0 18px 5px #e3ae49;}
.r9-cinema.r9-firing .r9-arrow{display:block;animation:r9-v2-arrow .48s ease-out both}
@keyframes r9-v2-arrow{0%{opacity:0;transform:translate(-25px,0) scale(.7)}15%{opacity:1}100%{opacity:0;transform:translate(125px,0) scale(1)}}
.r9-food img{object-position:center}.r9-controls button,.r9-food-controls button{touch-action:manipulation;min-width:40px;min-height:40px}
@media(max-width:700px){.r9-cinema{display:flex;flex-direction:column;height:auto;overflow:hidden}.r9-left{display:contents}.r9-character{height:clamp(235px,64vw,345px);order:0}.r9-archer{height:88%;width:70%}.r9-orbit{width:min(55%,230px);height:24%;top:53%}.r9-orbit-secondary{width:min(52%,215px)}.r9-right{order:1;height:clamp(245px,70vw,380px)}.r9-food{order:2;height:205px}.r9-scene-title{font-size:clamp(22px,6vw,32px);bottom:62px}.r9-arrow{top:49%;right:8%;font-size:30px}.r9-filmstrip{padding:8px;gap:7px}.r9-filmstrip button{flex:0 0 42%;height:92px}.r9-food-heading{gap:5px}.r9-food-label{bottom:13px;max-width:58%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(min-width:701px) and (max-width:1024px){.r9-cinema{height:clamp(480px,66vw,620px)}.r9-filmstrip button{height:75px}.r9-archer{width:95%}.r9-orbit{width:67%}}
@media(prefers-reduced-motion:reduce){.r9-orbit,.r9-orbit-secondary,.r9-cinema.r9-aiming .r9-archer,.r9-cinema.r9-returning .r9-archer,.r9-cinema.r9-firing .r9-arrow{animation:none!important}.r9-orbit{opacity:.65}}

/* R9 V3: approved stationary archer after initial entrance, three independent effects. */
.r9-archer{animation:r9-v3-entrance .95s cubic-bezier(.2,.75,.25,1) 1 both!important;transform:perspective(850px) rotateY(-9deg)}
@keyframes r9-v3-entrance{0%{opacity:.75;transform:perspective(850px) rotateY(28deg) scale(.95)}100%{opacity:1;transform:perspective(850px) rotateY(-9deg) scale(1)}}
/* The torso does not rotate on later shots. Bowstring and arrow remain independent. */
.r9-cinema.r9-aiming .r9-archer,.r9-cinema.r9-returning .r9-archer{animation:none!important;transform:perspective(850px) rotateY(-9deg)}
.r9-orbit,.r9-orbit-secondary{top:57%;z-index:3;pointer-events:none}
.r9-bow-action{z-index:5}
.r9-right .r9-next-scene.r9-wiping{animation-duration:1.1s}
.r9-cinema.r9-reveal .r9-beam{animation-duration:1.1s}
.r9-filmstrip button:focus-visible,.r9-food-controls button:focus-visible,.r9-controls button:focus-visible{outline:3px solid #ffe7a3;outline-offset:2px}
@media(max-width:700px){.r9-orbit,.r9-orbit-secondary{top:57%}.r9-character{min-height:245px}.r9-right{min-height:245px}.r9-filmstrip{-webkit-overflow-scrolling:touch}.r9-food-controls button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.r9-archer{animation:none!important}.r9-orbit,.r9-orbit-secondary{animation:none!important}}

/* R9 V4: pose-sheet character sequence; overrides previous whole-image rotation. */
.r9-character .r9-archer{width:98%;height:100%;animation:none!important;transform:none!important;filter:drop-shadow(0 0 10px #a97d2b)}
.r9-character .r9-archer img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:opacity .13s ease-out}
.r9-cinema.r9-aiming .r9-archer,.r9-cinema.r9-returning .r9-archer{animation:none!important;transform:none!important}
.r9-bow-action{display:none!important} /* pose art includes the real bow and string */
.r9-character .r9-orbit,.r9-character .r9-orbit-secondary{top:62%;height:19%;width:75%;z-index:5;opacity:.85}
.r9-character .r9-orbit-secondary{width:70%;opacity:.35}
.r9-arrow{right:0;top:38%;z-index:8;font-size:38px;display:block!important}
.r9-cinema.r9-firing .r9-arrow{animation:r9-v4-arrow .46s linear both!important}
@keyframes r9-v4-arrow{0%{opacity:0;transform:translateX(-70px) scale(.7)}18%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(180px) scale(1)}}
@media(max-width:700px){.r9-character .r9-archer{width:94%;height:100%}.r9-character .r9-orbit{width:68%;top:64%}.r9-character .r9-orbit-secondary{width:65%;top:64%}.r9-arrow{top:39%;font-size:26px}}
@media(prefers-reduced-motion:reduce){.r9-cinema.r9-firing .r9-arrow{animation:none!important}}


/* R9 V6: layout-safe frame animation. V4 two-column grid and all hero children unchanged. */
.r9-cinema{grid-template-columns:40% 60%!important;}
.r9-cinema>.r9-left{grid-column:1;grid-row:1;min-width:0;min-height:0;}
.r9-cinema>.r9-right{grid-column:2;grid-row:1;min-width:0;min-height:0;}
.r9-cinema .r9-archer{animation:none!important;transform:none!important;filter:drop-shadow(0 0 11px #b18a3c)}
.r9-cinema .r9-archer img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transition:opacity .08s linear}
.r9-cinema.r9-intro .r9-archer{animation:r9-v6-intro .95s ease-out both!important}
@keyframes r9-v6-intro{from{transform:perspective(800px) rotateY(12deg) scale(.96)}to{transform:perspective(800px) rotateY(0) scale(1)}}
.r9-character .r9-orbit,.r9-character .r9-orbit-secondary{top:57%;left:50%;width:57%;height:17%;border-width:2px;z-index:5;pointer-events:none;animation:r9-v6-orbit 5s linear infinite}
.r9-character .r9-orbit-secondary{width:53%;height:15%;animation-duration:7s;animation-direction:reverse;opacity:.48}
@keyframes r9-v6-orbit{from{transform:translate(-50%,-50%) rotateX(68deg) rotate(0)}to{transform:translate(-50%,-50%) rotateX(68deg) rotate(360deg)}}
.r9-cinema .r9-arrow{display:block;right:0;top:42%;font-size:38px}
.r9-cinema.r9-arrow-flight .r9-arrow{animation:r9-v6-flight .38s linear both}
@keyframes r9-v6-flight{0%{opacity:0;transform:translateX(-25px) scale(.75)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(12vw) scale(1)}}
@media(max-width:700px){.r9-cinema{display:flex!important;flex-direction:column;height:auto}.r9-cinema>.r9-left{display:contents}.r9-cinema>.r9-right{order:1;width:100%}.r9-cinema .r9-character{order:0;width:100%}.r9-cinema .r9-food{order:2;width:100%}.r9-cinema .r9-arrow{top:44%;font-size:25px}@keyframes r9-v6-flight{0%{opacity:0;transform:translateX(-20px)}15%,85%{opacity:1}100%{opacity:0;transform:translateX(20vw)}}}
@media(prefers-reduced-motion:reduce){.r9-cinema .r9-orbit,.r9-cinema .r9-orbit-secondary,.r9-cinema.r9-arrow-flight .r9-arrow,.r9-cinema.r9-intro .r9-archer{animation:none!important}}

/* R9 V7 controlled animation repair. V6 layout, food and gallery are preserved. */
.r9-cinema .r9-character{isolation:isolate;overflow:hidden}
.r9-cinema .r9-archer{position:absolute;inset:0;width:100%;height:100%;z-index:3;display:flex;align-items:center;justify-content:center;animation:none!important;transform:none!important;filter:drop-shadow(0 0 11px #b58b3b)}
.r9-cinema .r9-archer img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;max-width:none;max-height:none;transition:none}
.r9-cinema.r9-intro .r9-archer{animation:r9-v7-entrance 1.05s ease-out both!important}
@keyframes r9-v7-entrance{0%{opacity:.7;transform:perspective(850px) rotateY(34deg) scale(.94)}55%{opacity:1;transform:perspective(850px) rotateY(10deg) scale(.98)}100%{opacity:1;transform:perspective(850px) rotateY(0deg) scale(1)}}
/* Flattened ellipses intentionally cross the character at belt height. */
.r9-cinema .r9-character .r9-orbit,.r9-cinema .r9-character .r9-orbit-secondary{position:absolute;left:50%;top:66%;height:13%;width:66%;z-index:4;opacity:.83;transform-origin:center center;animation:r9-v7-ring 5.2s linear infinite!important;pointer-events:none}
.r9-cinema .r9-character .r9-orbit-secondary{top:65%;width:61%;height:11%;opacity:.42;animation-duration:7.4s!important;animation-direction:reverse!important}
@keyframes r9-v7-ring{from{transform:translate(-50%,-50%) rotateX(70deg) rotate(0deg)}to{transform:translate(-50%,-50%) rotateX(70deg) rotate(360deg)}}
/* Gold arrow crosses from the bow toward the vertical wipe. It is independent of the character frames. */
.r9-cinema .r9-arrow{position:absolute;top:37%;left:72%;right:auto;z-index:8;display:block!important;opacity:0;font-size:0;line-height:1;width:clamp(45px,6vw,95px);height:3px;background:linear-gradient(90deg,transparent,#ffdc78 30%,#fff7c8);box-shadow:0 0 9px #f7c45a;pointer-events:none}
.r9-cinema .r9-arrow::after{content:'';position:absolute;right:-3px;top:-7px;border-left:19px solid #ffe8a2;border-top:8px solid transparent;border-bottom:8px solid transparent;filter:drop-shadow(0 0 7px #f3b52e)}
.r9-cinema .r9-arrow::before{content:'';position:absolute;left:0;top:-5px;border-right:10px solid #d9a64b;border-top:6px solid transparent;border-bottom:6px solid transparent}
.r9-cinema.r9-firing .r9-arrow,.r9-cinema.r9-arrow-flight .r9-arrow{animation:r9-v7-arrow .48s linear both!important}
@keyframes r9-v7-arrow{0%{opacity:0;transform:translateX(-18px)}10%,75%{opacity:1}100%{opacity:0;transform:translateX(clamp(90px,17vw,280px))}}
.r9-cinema .r9-beam{width:3px;background:#fff1b4;box-shadow:0 0 9px 3px #ffe5a2,0 0 22px 5px #d8a33e}
.r9-cinema.r9-reveal .r9-beam{animation:r9-beam-cross 1.1s linear forwards!important}
.r9-right .r9-next-scene.r9-wiping{animation:r9-image-wipe 1.1s linear forwards!important}
@media(max-width:700px){.r9-cinema .r9-character .r9-orbit{top:66%;width:65%}.r9-cinema .r9-character .r9-orbit-secondary{top:65%;width:60%}.r9-cinema .r9-arrow{top:39%;left:75%;width:43px}@keyframes r9-v7-arrow{0%{opacity:0;transform:translateX(-10px)}10%,75%{opacity:1}100%{opacity:0;transform:translateX(28vw)}}}
@media(prefers-reduced-motion:reduce){.r9-cinema .r9-character .r9-orbit,.r9-cinema .r9-character .r9-orbit-secondary,.r9-cinema.r9-intro .r9-archer,.r9-cinema.r9-firing .r9-arrow,.r9-cinema.r9-arrow-flight .r9-arrow{animation:none!important}.r9-cinema .r9-arrow{display:none!important}}
