/* Jugger Taiwan — Motion layer. Preserves original Framer styles. */
:root { --jt-ease:cubic-bezier(.2,.85,.25,1); --jt-accent:#e4fe00; }
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }
/* Thin kinetic reading indicator */
#jt-progress { position:fixed;top:0;left:0;height:3px;width:100%;z-index:99999;pointer-events:none;transform:scaleX(0);transform-origin:left;background:var(--jt-accent);box-shadow:0 0 12px rgba(228,254,0,.55);transition:transform .09s linear; }
/* Interstitial top line during page entry */
#jt-entry-line {position:fixed;top:0;left:0;width:100%;height:3px;z-index:99998;pointer-events:none;background:#fff;transform-origin:left;animation:jt-loading .85s var(--jt-ease) both;}
@keyframes jt-loading {0%{transform:scaleX(0);opacity:1}75%{transform:scaleX(.86);opacity:1}100%{transform:scaleX(1);opacity:0}}
/* Page hero's original composition is intact; only animate children */
header[data-framer-name="hero-container"] [data-framer-background-image-wrapper] img {animation:jt-hero-zoom 1.8s var(--jt-ease) both; }
@keyframes jt-hero-zoom {from{scale:1.065;filter:brightness(.73) saturate(.85)}to{scale:1;filter:brightness(1) saturate(1)}}
header[data-framer-name="hero-container"] h1, [data-framer-name="hero-container"] h1 {animation:jt-title-in .85s .16s var(--jt-ease) both;}
@keyframes jt-title-in {from{opacity:0;translate:0 26px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:blur(0)}}
/* Mark main content sections for visibility-triggered introduction */
.jt-reveal {opacity:0;translate:0 26px;transition:opacity .75s var(--jt-ease),translate .75s var(--jt-ease);}
.jt-reveal.jt-visible {opacity:1;translate:0 0;}
/* Card treatment: no layouts, dimensions, radius or backgrounds overridden */
a:has(> [data-framer-background-image-wrapper]), a:has(> div [data-framer-background-image-wrapper]) {transition:filter .35s ease,scale .4s var(--jt-ease);}
@media (hover:hover) and (pointer:fine) {
 a:has(> [data-framer-background-image-wrapper]):hover, a:has(> div [data-framer-background-image-wrapper]):hover {scale:1.016;filter:drop-shadow(0px 14px 22px rgba(0,0,0,.13));}
 a[href]:not(.framer-1sjflut):focus-visible{outline:2px solid #82a000;outline-offset:4px;}
}
/* Subtle image response to pointers */
[data-framer-background-image-wrapper] img {transition:scale .75s var(--jt-ease),filter .7s var(--jt-ease);}
@media (hover:hover) and (pointer:fine){
 a:hover [data-framer-background-image-wrapper] img {scale:1.045;}
}
/* Nav and button hover; keep Framer's own border and spacing */
nav a, [data-framer-name="link-container"] a {transition:opacity .22s ease,filter .22s ease;}
nav a:hover{filter:brightness(1.18);}
/* Mobile menu panel already present in replica, enhance its animation */
.replica-mobile-panel{transition:opacity .28s ease,visibility .28s ease,translate .32s var(--jt-ease);translate:0 -14px;}
.replica-mobile-panel.open{translate:0 0;}
/* Small active hover on FAQ toggles if Framer source markup contains interactive buttons */
[role="button"], button { -webkit-tap-highlight-color:transparent; }
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
 .jt-reveal{opacity:1!important;translate:none!important}
 #jt-progress,#jt-entry-line{display:none!important}
}
