/* Title, verse, actions and caption share one grid; nothing is independently bottom-anchored. */
.opening-copy{position:absolute;inset:5% auto 9% 50%;transform:translateX(-50%);width:min(540px,84%);height:auto;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;align-items:center;justify-items:center;row-gap:clamp(7px,1.3dvh,15px);text-align:center;color:#fff0cb;text-shadow:0 2px 15px #102d30;z-index:2}
.opening-kicker{font-size:clamp(11px,1.6dvh,15px);letter-spacing:4px;color:#ecd3a0;line-height:1.5}
.opening-copy h1{position:relative;margin:0;min-height:0;font-weight:400;display:flex;align-items:center;flex-direction:column;line-height:1.1;align-self:center}
.opening-copy h1 small{font-size:clamp(19px,3.1dvh,31px);letter-spacing:9px;font-weight:400;line-height:1.3;white-space:nowrap}
.opening-copy h1>span{font-size:clamp(36px,9dvh,105px);writing-mode:vertical-rl;letter-spacing:5px;margin:clamp(7px,1.3dvh,15px) 0 0;line-height:1.05;white-space:nowrap}
.opening-copy h1 i{position:absolute;right:-35px;top:clamp(47px,7.5dvh,75px);writing-mode:vertical-rl;background:#b54a3c;font-style:normal;font-size:clamp(11px,1.5dvh,14px);letter-spacing:4px;padding:8px 5px;color:#fff0cb;border:1px solid #efd6a5;border-radius:2px}
.opening-verse{font-size:clamp(12px,1.9dvh,18px);letter-spacing:2px;line-height:1.8;margin:0;max-width:100%}
.opening-actions{display:flex;flex-direction:column;align-items:center;width:100%;gap:clamp(8px,1.1dvh,13px);margin:0}
.opening-start{display:block;flex-shrink:0;width:min(380px,100%);height:clamp(44px,6.8dvh,66px);min-height:44px;background:#263d32;color:#ffe4a0;font-size:clamp(25px,3.5dvh,33px);line-height:1.2;letter-spacing:18px;padding:5px 10px 5px 28px;text-shadow:0 0 13px #f1bc60;transition:background .25s,transform .25s}
.opening-start:hover{background:#b54a3c;transform:scale(1.02)}
.opening-resume{font-size:clamp(12px,1.6dvh,16px);line-height:1.5;color:#f1dcad;text-decoration:underline;text-underline-offset:5px;padding:0 5px}
.opening-caption{position:static;margin:0;width:100%;max-width:100%;font-size:clamp(11px,1.6dvh,16px);line-height:1.6;letter-spacing:2px;color:#f2dcb1;text-align:center;text-wrap:balance}
@media(max-width:760px){.opening-copy{inset:6% auto 9% 50%;width:82%;row-gap:clamp(7px,1.2dvh,12px)}.opening-kicker{letter-spacing:2px}.opening-copy h1 small{letter-spacing:7px}.opening-copy h1>span{font-size:clamp(36px,8.8dvh,84px);letter-spacing:5px}.opening-copy h1 i{right:-27px;padding:7px 4px;letter-spacing:3px}.opening-verse{font-size:clamp(11px,1.7dvh,14px);letter-spacing:0;line-height:1.7}.opening-start{width:min(310px,100%);height:clamp(44px,6.3dvh,56px);font-size:clamp(25px,3.3dvh,29px)}.opening-caption{font-size:clamp(10px,1.45dvh,12px);letter-spacing:1px}}
/* Short landscape windows keep the title beside controls instead of squeezing the start button. */
@media(max-height:540px) and (min-width:480px){.opening-copy{inset:5% auto 12% 50%;width:min(630px,84%);grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);grid-template-rows:auto minmax(0,1fr) auto auto;column-gap:36px;row-gap:7px}.opening-kicker{grid-column:1/-1;font-size:11px;letter-spacing:2px}.opening-copy h1{grid-column:1;grid-row:2/5}.opening-copy h1 small{font-size:18px;letter-spacing:5px}.opening-copy h1>span{font-size:clamp(30px,9dvh,47px);margin-top:6px;letter-spacing:3px}.opening-copy h1 i{right:-24px;top:40px;font-size:10px;padding:5px 3px}.opening-verse{grid-column:2;grid-row:2;align-self:end;font-size:12px;line-height:1.6;letter-spacing:0}.opening-actions{grid-column:2;grid-row:3;gap:6px}.opening-start{height:40px;min-height:40px;font-size:24px;letter-spacing:12px;padding-left:22px}.opening-resume{font-size:11px;line-height:1.3}.opening-caption{grid-column:2;grid-row:4;font-size:10px;letter-spacing:0;line-height:1.4}}
@media(prefers-reduced-motion:reduce){.opening-start{transition:none}.opening-start:hover{transform:none}}
