/* Five-second cinematic entrance; kept separate from the site layout. */
html.intro-active{overflow:hidden!important;overscroll-behavior:none}
html.intro-active body{overflow:hidden!important;touch-action:none}
.intro-screen{--intro-gold:#d2b67f;--intro-ink:#071311;position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;isolation:isolate;color:#e5e7d7;background:var(--intro-ink);font-family:var(--sans,"PingFang SC","Microsoft YaHei",sans-serif);opacity:1;outline:none}
.intro-screen[hidden]{display:none!important}
.intro-atmosphere{position:absolute;inset:0;z-index:-5;background:radial-gradient(ellipse at 20% 30%,#183b34b8,transparent 47%),radial-gradient(ellipse at 85% 70%,#38294170,transparent 45%),radial-gradient(ellipse at 50% 53%,#142b24,transparent 42%),#06100f}
.intro-landscape{position:absolute;inset:-3%;z-index:-4;background:url('../assets/hero.webp') 65% 55% /cover no-repeat;opacity:.15;filter:saturate(.7);animation:intro-landscape-drift 5s ease-out both}
.intro-vignette{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(0deg,#06100fee,transparent 30%,transparent 70%,#06100fbb),radial-gradient(ellipse at center,transparent 18%,#06100fb0 82%)}
.intro-mist{position:absolute;left:calc(50% - 370px);top:calc(50% - 180px);width:740px;height:360px;z-index:-3;opacity:.38;border-radius:50%;background:radial-gradient(ellipse,#699f8744,transparent 60%);filter:blur(26px);animation:intro-mist-drift 5s ease both}
.intro-map-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(#89a58b18 1px,transparent 1px),linear-gradient(90deg,#89a58b18 1px,transparent 1px);background-size:92px 92px;mask-image:radial-gradient(ellipse at center,#000 15%,transparent 66%);-webkit-mask-image:radial-gradient(ellipse at center,#000 15%,transparent 66%)}
.intro-brand{position:absolute;top:max(34px,env(safe-area-inset-top));left:0;right:0;text-align:center;font-family:Georgia,serif;font-size:23px;letter-spacing:7px;color:#dedbc7;animation:intro-fade-up .8s both}
.intro-brand small{display:block;font-family:var(--sans,sans-serif);font-size:8px;letter-spacing:5px;color:#bda879;margin-top:7px}
.intro-orbits{position:absolute;top:50%;left:50%;width:590px;height:590px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none}
.intro-orbits svg{position:absolute;inset:0;width:100%;height:100%;stroke-width:.8;stroke:var(--intro-gold);overflow:visible}
.intro-outer-ring{opacity:.3;animation:intro-orbit-turn 28s linear infinite}
.intro-middle-ring{opacity:.45;animation:intro-orbit-turn 18s linear infinite reverse}
.intro-inner-ring{opacity:.24;animation:intro-inner-breathe 4s ease-in-out infinite}
.intro-orbits text{fill:#cbb887;stroke:none;font-family:var(--mono,monospace);font-size:9px;letter-spacing:2px}
.intro-orbits .intro-orbit-star{fill:#e7d5a4;stroke:none;filter:drop-shadow(0 0 7px #d6bc87)}
.intro-scan{position:absolute;left:50%;top:50%;width:247px;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,transparent,#b5c9a71a,#e0c68b7d);animation:intro-scan-turn 7s linear infinite;opacity:.5}
.intro-axis{position:absolute;width:710px;height:1px;top:50%;left:calc(50% - 355px);background:linear-gradient(90deg,transparent,#c4bd8b26 25%,transparent 43%,transparent 57%,#c4bd8b26 75%,transparent);transform:rotate(-20deg);z-index:-1}
.intro-axis:after{content:"";position:absolute;inset:0;transform:rotate(78deg);background:inherit}
.intro-starfield{position:absolute;inset:0;pointer-events:none;z-index:-1}
.intro-starfield span{position:absolute;width:2px;height:2px;border-radius:50%;background:#f0dab0;box-shadow:0 0 7px #dbcb9b;opacity:.1;animation:intro-star-pulse 3s ease-in-out infinite}
.intro-starfield span:nth-child(1){left:12%;top:18%;animation-delay:-.8s}.intro-starfield span:nth-child(2){left:22%;top:67%;animation-delay:-1.3s}.intro-starfield span:nth-child(3){left:75%;top:20%;animation-delay:-.3s}.intro-starfield span:nth-child(4){left:83%;top:64%;animation-delay:-1.8s}.intro-starfield span:nth-child(5){left:30%;top:34%;animation-delay:-2.2s}.intro-starfield span:nth-child(6){left:63%;top:79%;animation-delay:-.6s}.intro-starfield span:nth-child(7){left:53%;top:13%;animation-delay:-2.5s}.intro-starfield span:nth-child(8){left:67%;top:31%;animation-delay:-1.5s}.intro-starfield span:nth-child(9){left:35%;top:85%;animation-delay:-.2s}.intro-starfield span:nth-child(10){left:7%;top:49%;animation-delay:-2.7s}.intro-starfield span:nth-child(11){left:91%;top:39%;animation-delay:-.9s}.intro-starfield span:nth-child(12){left:44%;top:72%;animation-delay:-1.6s}
.intro-comet{position:absolute;left:13%;top:24%;width:95px;height:1px;background:linear-gradient(90deg,transparent,#b8cdb5aa);transform:rotate(35deg);opacity:0;animation:intro-comet-pass 4.5s ease-in-out .35s both}
.intro-stage{position:relative;width:min(370px,calc(100vw - 60px));display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;margin-top:-5px}
.intro-stage .intro-eyebrow{font-family:var(--mono,monospace);font-size:8px;letter-spacing:3px;color:#a5ae90;margin:0 0 22px;animation:intro-fade-up .85s .1s both}
.intro-compass{width:54px;height:54px;stroke:var(--intro-gold);stroke-width:1;fill:none;filter:drop-shadow(0 0 14px #c7b18033);margin-bottom:17px;animation:intro-compass-arrive 1.35s cubic-bezier(.15,.75,.2,1) both}
.intro-compass .intro-needle{transform-origin:32px 32px;animation:intro-needle-settle 2.7s cubic-bezier(.15,.65,.2,1) both}
.intro-stage h2{font-family:var(--serif,Georgia,serif);font-size:31px;font-weight:400;letter-spacing:4px;margin:0 0 8px;color:#e4e3d0;line-height:1.6;animation:intro-fade-up .6s .05s both}
.intro-subtitle{font-size:10px;letter-spacing:1.5px;color:#99ad9c;margin:0;animation:intro-fade-up 1s .3s both}
.intro-loader{width:100%;margin-top:34px;animation:none}
.intro-loadline{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:15px}
.intro-loading-label{font-size:11px;letter-spacing:3px;color:#c2c6ae}
.intro-progress-number{font-family:var(--mono,monospace);font-weight:300;color:var(--intro-gold);font-size:37px;font-variant-numeric:tabular-nums;letter-spacing:-1.8px;line-height:1}
.intro-progress-number small{font-size:14px;margin-left:5px;letter-spacing:0}
.intro-progress-track{position:relative;height:3px;width:100%;background:#b6c6a51c;box-shadow:0 0 0 1px #a8bb9810}
.intro-progress-fill{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#6f9d86 0%,#b5b78b 55%,#ead09a 100%);box-shadow:0 0 12px #c3c09480;will-change:transform}
.intro-progress-fill:after{content:"";position:absolute;right:-1px;top:-2px;width:5px;height:7px;background:#e6d4a3;box-shadow:0 0 14px #f0dbaac9;opacity:.85}
.intro-progress-ticks{height:5px;margin-top:6px;background:repeating-linear-gradient(90deg,#b5c1a936 0 1px,transparent 1px 10%);opacity:.7}
.intro-status{font-size:9px;letter-spacing:2px;color:#8ca18e;margin-top:18px;min-height:17px}
.intro-footer{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:25px;right:25px;text-align:center;color:#8c9f89;font-size:9px;letter-spacing:4px;line-height:2}
.intro-footer span{display:block;margin-top:7px;font-family:var(--mono,monospace);font-size:7px;letter-spacing:2px;color:#586f60}
.intro-corner{position:absolute;width:36px;height:36px;border-color:#a8b49338;border-style:solid;pointer-events:none}
.intro-corner.top-left{left:28px;top:28px;border-width:1px 0 0 1px}.intro-corner.top-right{right:28px;top:28px;border-width:1px 1px 0 0}.intro-corner.bottom-left{left:28px;bottom:28px;border-width:0 0 1px 1px}.intro-corner.bottom-right{right:28px;bottom:28px;border-width:0 1px 1px 0}
.intro-screen[data-stage="3"] .intro-inner-ring{opacity:.45}.intro-screen[data-stage="4"] .intro-orbits{filter:drop-shadow(0 0 16px #c8b47d40)}
.intro-screen.is-revealing{opacity:0;transition:opacity .35s ease;pointer-events:none}
@keyframes intro-orbit-turn{to{transform:rotate(360deg)}}
@keyframes intro-scan-turn{from{transform:rotate(-130deg)}to{transform:rotate(230deg)}}
@keyframes intro-inner-breathe{0%,100%{transform:scale(.98);opacity:.2}50%{transform:scale(1.02);opacity:.4}}
@keyframes intro-star-pulse{0%,100%{opacity:.12;transform:scale(.7)}50%{opacity:.85;transform:scale(1.1)}}
@keyframes intro-mist-drift{from{transform:translate(-80px,35px) scale(.8);opacity:.2}to{transform:translate(80px,-20px) scale(1.25);opacity:.5}}
@keyframes intro-landscape-drift{from{transform:scale(1.055);opacity:.09}to{transform:scale(1);opacity:.2}}
@keyframes intro-compass-arrive{from{opacity:0;transform:rotate(-35deg) scale(.8)}to{opacity:1;transform:rotate(0deg) scale(1)}}
@keyframes intro-needle-settle{0%{transform:rotate(-50deg)}45%{transform:rotate(15deg)}72%{transform:rotate(-6deg)}100%{transform:rotate(0)}}
@keyframes intro-fade-up{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-comet-pass{0%,20%{opacity:0;transform:translate(0,0) rotate(35deg)}32%{opacity:.55}60%,100%{opacity:0;transform:translate(210px,147px) rotate(35deg)}}
@media(max-width:680px){.intro-brand{top:max(35px,env(safe-area-inset-top));font-size:21px;letter-spacing:6px}.intro-brand small{font-size:7px;letter-spacing:4px}.intro-orbits{width:460px;height:460px}.intro-scan{width:194px}.intro-stage{width:calc(100vw - 88px);max-width:320px;margin-top:-9px}.intro-stage .intro-eyebrow{font-size:6px;letter-spacing:2px;margin-bottom:19px}.intro-compass{width:48px;height:48px;margin-bottom:16px}.intro-stage h2{font-size:27px;letter-spacing:2.5px}.intro-subtitle{font-size:9px;letter-spacing:.9px}.intro-loader{margin-top:31px}.intro-loading-label{font-size:10px;letter-spacing:2px}.intro-progress-number{font-size:35px}.intro-status{font-size:8px;letter-spacing:1.3px;margin-top:18px}.intro-footer{font-size:8px;letter-spacing:3px;bottom:max(36px,env(safe-area-inset-bottom))}.intro-footer span{font-size:6px;letter-spacing:1.6px}.intro-landscape{background-position:69% 50%;opacity:.1}.intro-corner{width:23px;height:23px}.intro-corner.top-left{left:18px;top:18px}.intro-corner.top-right{right:18px;top:18px}.intro-corner.bottom-left{left:18px;bottom:18px}.intro-corner.bottom-right{right:18px;bottom:18px}}
@media(max-height:580px){.intro-brand{top:20px;font-size:16px}.intro-brand small{display:none}.intro-footer{bottom:17px;font-size:7px}.intro-footer span{display:none}.intro-stage{transform:scale(.82);margin-top:0}.intro-orbits{width:400px;height:400px}.intro-stage .intro-eyebrow{margin-bottom:12px}.intro-loader{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.intro-screen *{animation:none!important;transition:none!important}.intro-screen.is-revealing{transition:none}.intro-landscape{transform:none;opacity:.15}.intro-comet{display:none}.intro-progress-fill{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.intro-screen.is-revealing{opacity:1}}
