.site-intro{animation-name:intro-clean-away;animation-duration:1.85s}.site-intro .intro-mark,.site-intro strong,.site-intro small{animation:intro-content-away 1.85s ease forwards}.site-intro strong b{color:#47d7ac;font-weight:inherit}
.intro-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.intro-route-frame{fill:#101922;stroke:#263644;stroke-width:1.5}
.intro-route-base,.intro-route-live{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:7}
.intro-route-base{stroke:#23433b}
.intro-route-live{stroke:#58e0b8;stroke-dasharray:142;stroke-dashoffset:142;filter:drop-shadow(0 0 7px rgba(71,215,172,.75));animation:intro-route-draw 1.08s .28s cubic-bezier(.65,0,.35,1) forwards}
.intro-route-node{fill:#0f171f;stroke:#8af0d1;stroke-width:4;opacity:0;animation:intro-node-in .24s .22s ease-out forwards}
.intro-route-node-end{animation-delay:1.22s}
.language-switch{display:inline-flex;align-items:center;gap:8px;flex:none;margin-right:14px;color:#7f8d99;font-size:.72rem;font-weight:800;letter-spacing:.08em}.language-switch a,.language-switch span{padding:5px 1px;color:inherit;text-decoration:none}.language-switch a{transition:color .18s ease}.language-switch a:hover,.language-switch a:focus-visible{color:#8af0d1;outline:none}.language-switch span[aria-current="page"]{color:#47d7ac}.language-switch i{width:1px;height:14px;background:#30414d}
.hero-visual{position:relative;min-height:610px;border:1px solid rgba(100,132,150,.2);border-radius:32px;background:linear-gradient(180deg,rgba(19,30,40,.96),rgba(8,14,20,.88));box-shadow:0 34px 80px rgba(0,0,0,.32);overflow:hidden;isolation:isolate}
.hero-visual:after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:32%;background:linear-gradient(transparent,#0a1117 86%);pointer-events:none}
.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 3%;filter:saturate(.9) contrast(1.04);opacity:.94}
.signal{position:absolute;z-index:2;width:220px;height:220px;border:1px solid rgba(71,215,172,.18);border-radius:50%;pointer-events:none}
.signal:before,.signal:after{content:"";position:absolute;inset:22%;border:inherit;border-radius:inherit}.signal:after{inset:43%}
.signal-a{right:-70px;top:-62px}.signal-b{left:-110px;bottom:72px}
.floating-card{position:absolute;z-index:3;width:min(230px,calc(100% - 36px));padding:15px 16px;border:1px solid rgba(138,240,209,.22);border-radius:16px;background:rgba(8,17,22,.9);backdrop-filter:blur(16px);box-shadow:0 18px 44px rgba(0,0,0,.32)}
.floating-card small{display:block;color:#47d7ac;font-size:.58rem;font-weight:850;letter-spacing:.13em}.floating-card strong{display:block;margin-top:5px;font-size:.9rem}.floating-card span{color:#9cabba;font-size:.7rem}.card-reading{left:18px;top:72px}.card-rule{right:18px;bottom:58px}
@keyframes intro-route-draw{to{stroke-dashoffset:0}}
@keyframes intro-node-in{from{opacity:0;transform:scale(.55);transform-origin:center}to{opacity:1;transform:scale(1);transform-origin:center}}
@keyframes intro-content-away{0%,64%{opacity:1;transform:translateY(0)}76%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes intro-clean-away{0%,76%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.intro-route-live{animation:none;stroke-dashoffset:0}.intro-route-node{animation:none;opacity:1}}
@media(max-width:880px){.hero-visual{min-height:580px}}
@media(max-width:560px){.hero-visual{min-height:500px;border-radius:24px}.floating-card{width:190px;padding:12px}.card-reading{left:10px;top:28px}.card-rule{right:10px;bottom:26px}}
