/* ============================================================
   初至科技官网 · 全局共享样式
   ============================================================ */

/* 国内部署：不依赖 Google Fonts，回退到系统字体栈 */
:root {
    --font-sans: 'Inter', 'PingFang SC', 'Hiragino Sans GB',
                 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #000000; }
::-webkit-scrollbar-thumb { background: #222226; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #333339; }

/* Left-top ambient glow beam */
.beam-left {
    position: absolute;
    top: 0; left: 0;
    width: 60vw; height: 80vh;
    transform-origin: top left;
    transform: rotate(20deg);
    background: radial-gradient(circle at top left, rgba(242,212,32,0.45) 0%, rgba(242,212,32,0.15) 50%, rgba(242,212,32,0) 85%);
    filter: blur(120px);
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Right-top ambient glow beam */
.beam-right {
    position: absolute;
    top: 0; right: 0;
    width: 60vw; height: 80vh;
    transform-origin: top right;
    transform: rotate(-20deg);
    background: radial-gradient(circle at top right, rgba(242,212,32,0.45) 0%, rgba(242,212,32,0.15) 50%, rgba(242,212,32,0) 85%);
    filter: blur(120px);
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 2s cubic-bezier(0.16, 1, 0.3, 1);
}

.beam-active { opacity: 1; }

/* White-to-grey top-down text gradient */
.gradient-title {
    background: linear-gradient(to bottom, #FFFFFF 0%, #71717A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Premium Yellow to White gradient button */
.btn-yellow-to-white {
    background: linear-gradient(135deg, #F2D420 0%, #FFFFFF 100%);
    color: #000000;
    background-size: 200% auto;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-yellow-to-white:hover {
    background-position: right center;
    box-shadow: 0 0 35px rgba(242, 212, 32, 0.45);
    transform: translateY(-2px);
}

/* Content slide-up entrance animation */
@keyframes fadeSlideUp {
    0%   { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0); }
}
.entrance-item { opacity: 0; }
.entrance-active {
    animation: fadeSlideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Radar dot pulsing animation */
@keyframes radar-pulse {
    0%   { transform: scale(0.9); opacity: 0.8; }
    50%  { transform: scale(1.8); opacity: 0.15; }
    100% { transform: scale(0.9); opacity: 0.8; }
}
.radar-pulse-effect {
    animation: radar-pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.map-glow-pulse { animation: map-glow 5s infinite ease-in-out; }
@keyframes map-glow {
    0%, 100% { filter: drop-shadow(0 0 2px rgba(242,212,32,0.1)); }
    50%       { filter: drop-shadow(0 0 10px rgba(242,212,32,0.25)); }
}
