/* Entrance-only decoration. Native links remain available without JavaScript. */
.ov-landing-v2 .ov-entrance-motion-stop{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.ov-landing-v2 .ov-entrance-motion-label{position:absolute;top:6px;right:6px;z-index:2;display:flex;align-items:center;gap:5px;min-height:44px;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.88);color:#244e60;font-size:12px;line-height:1.4;cursor:pointer;}
.ov-entrance-motion-label::before{content:'Ⅱ';font-weight:700;}
.ov-entrance-motion-resume{display:none;}
.ov-entrance-motion-stop:checked~.ov-entrance-tools .ov-entrance-motion-pause{display:none;}
.ov-entrance-motion-stop:checked~.ov-entrance-tools .ov-entrance-motion-resume{display:inline;}
.ov-entrance-motion-stop:checked~.ov-entrance-tools .ov-entrance-motion-label::before{content:'▶';}
.ov-entrance-motion-stop:focus-visible~.ov-entrance-tools .ov-entrance-motion-label{outline:3px solid #f59e0b;outline-offset:-3px;}
.ov-landing-v2 .ov-entrance-trail{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:hidden;color:#24566a;}
.ov-entrance-trail .ov-entrance-print{opacity:0;animation:ov-entrance-step 7s ease-in-out infinite;animation-delay:var(--step-delay);}
.ov-landing-v2 .ov-landing-go::after{content:'';position:absolute;inset:-4px;border:2px solid #43958b;border-radius:inherit;pointer-events:none;opacity:0;animation:ov-entrance-glow 7s ease-out infinite;}
.ov-entrance-motion-stop:checked~.ov-landing-stage .ov-entrance-print,.ov-entrance-motion-stop:checked~.ov-landing-go::after{animation:none;opacity:0;}
.ov-entrance-motion-stop:checked~.ov-landing-stage .ov-entrance-cloud{animation-play-state:paused;}
@keyframes ov-entrance-step{0%,5%{opacity:0}12%,27%{opacity:.8}43%,100%{opacity:0}}
@keyframes ov-entrance-glow{0%,48%,100%{opacity:0;transform:scale(1)}58%{opacity:.55;transform:scale(1)}77%{opacity:0;transform:scale(1.08,1.2)}}
@media(prefers-reduced-motion:reduce){
 .ov-entrance-trail,.ov-entrance-motion-label{display:none!important;}
 .ov-landing-v2 .ov-landing-go::after,.ov-entrance-trail .ov-entrance-print{animation:none!important;}
 .ov-entrance-motion-stop{display:none!important;}
}

/* Compact introduction gives the illustration more space. */
.ov-landing-v2.card{max-width:860px;padding:16px 20px;}
.ov-landing-v2 .ov-landing-kicker{font-size:13px;line-height:1.4;margin:0 0 4px;}
.ov-landing-v2 h1{font-size:clamp(23px,5.8vw,36px);line-height:1.2;margin:0 0 6px;}
.ov-landing-v2 .ov-landing-desc{font-size:14px;line-height:1.5;margin:0 auto 8px;}
.ov-landing-v2 .ov-landing-stage{max-width:680px;margin:8px auto;}
.ov-entrance-cloud{animation:ov-entrance-cloud-drift 24s linear infinite;pointer-events:none;}
.ov-entrance-cloud-a{animation-delay:-6s;}
.ov-entrance-cloud-b{animation-delay:-18s;animation-duration:32s;}
@keyframes ov-entrance-cloud-drift{from{transform:translateX(-140px)}to{transform:translateX(740px)}}
.ov-entrance-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;margin:0 0 8px;}
.ov-landing-v2 .ov-entrance-tools .ov-entrance-motion-label,.ov-landing-v2 .ov-entrance-sound{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:5px;margin:0;padding:6px 10px;border:1px solid #cfdfdf;border-radius:8px;background:#f3f8f8;color:#244e60;font:inherit;font-size:12px;line-height:1.4;cursor:pointer;}
.ov-landing-v2 .ov-entrance-sound[hidden]{display:none;}
.ov-landing-v2 .ov-entrance-sound:focus-visible{outline:3px solid #f59e0b;outline-offset:2px;}
.ov-entrance-sound[aria-pressed="true"]{box-shadow:inset 0 0 0 1px #43958b;}
@media(max-width:420px){.ov-landing-v2.card{padding:12px 10px;}.ov-landing-v2 .ov-landing-desc{font-size:13px;}.ov-landing-v2 .ov-landing-stage{width:calc(100% + 8px);max-width:none;margin-left:-4px;margin-right:-4px;}}
@media(prefers-reduced-motion:reduce){.ov-entrance-cloud{animation:none!important;}.ov-landing-v2 .ov-entrance-tools .ov-entrance-motion-label{display:none!important;}}

/* Compact SVG controls: a stable 48px touch target, no visible text. */
.ov-landing-v2 .ov-entrance-tools .ov-entrance-motion-label,.ov-landing-v2 .ov-entrance-tools .ov-entrance-sound{width:48px;height:48px;min-height:48px;padding:10px;box-sizing:border-box;flex:none;}
.ov-entrance-motion-label::before,.ov-entrance-motion-stop:checked~.ov-entrance-tools .ov-entrance-motion-label::before{content:none;}
.ov-entrance-tools svg{display:block;width:24px;height:24px;fill:currentColor;pointer-events:none;}
.ov-entrance-sound-on{display:none;}
.ov-entrance-sound-off{display:block;}
.ov-entrance-sound[aria-pressed="true"] .ov-entrance-sound-on{display:block;}
.ov-entrance-sound[aria-pressed="true"] .ov-entrance-sound-off{display:none;}

/* Gate entry: only transform/opacity; fixed layout and immediate native fallback. */
.ov-is-entering .ov-landing-stage{animation:ov-gate-enter .7s ease-in forwards;transform-origin:50% 64%;}
.ov-is-entering .ov-entrance-cloud,.ov-is-entering .ov-entrance-print{animation-play-state:paused;}
.ov-is-entering .ov-landing-go::after{animation:none;opacity:0;}
.ov-is-entering .ov-landing-go{opacity:.8;cursor:progress;}
@keyframes ov-gate-enter{0%{transform:scale(1);opacity:1}70%{opacity:1}100%{transform:scale(1.065);opacity:.25}}
.ov-is-entering.ov-enter-fade .ov-landing-stage{animation:ov-gate-fade .16s ease-out forwards;}
@keyframes ov-gate-fade{from{opacity:1}to{opacity:.65}}
@media(prefers-reduced-motion:reduce){.ov-is-entering .ov-landing-stage{animation:ov-gate-fade .16s ease-out forwards;transform:none;}}
