*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header-height); font-size:16px; -webkit-font-smoothing:antialiased; }
body {
    font-family:var(--font-body); background-color:var(--bg-deep); color:var(--text-primary);
    line-height:1.7; overflow-x:hidden; min-height:100vh; position:relative;
}
body::before {
    content:''; position:fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0;
    background: radial-gradient(ellipse at 20% 20%, rgba(123,92,252,0.06) 0%, transparent 60%),
                radial-gradient(ellipse at 80% 60%, rgba(92,156,252,0.05) 0%, transparent 55%),
                radial-gradient(ellipse at 50% 90%, rgba(61,212,200,0.04) 0%, transparent 50%),
                radial-gradient(ellipse at 70% 10%, rgba(212,168,83,0.03) 0%, transparent 45%);
    animation: bgPulse 12s ease-in-out infinite;
}
.section { position:relative; z-index:1; padding:80px 24px; }
.section-inner { max-width:var(--max-width); margin:0 auto; }
.section-header { text-align:center; margin-bottom:56px; }
.section-label {
    display:inline-block; font-family:var(--font-mono); font-size:0.8rem; font-weight:600;
    letter-spacing:0.15em; text-transform:uppercase; color:var(--accent-light);
    background:rgba(123,92,252,0.08); padding:6px 16px; border-radius:var(--radius-full); margin-bottom:16px;
}
.section-title { font-family:var(--font-heading); font-size:clamp(2rem,4.5vw,3rem); font-weight:800; letter-spacing:-0.03em; line-height:1.2; margin-bottom:12px; }
.section-subtitle { font-size:1.1rem; color:var(--text-muted); max-width:600px; margin:0 auto; line-height:1.6; }
.btn {
    display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-weight:600;
    font-size:0.95rem; padding:14px 28px; border-radius:var(--radius-full); text-decoration:none;
    cursor:pointer; border:none; transition:var(--transition-bounce); white-space:nowrap; letter-spacing:0.01em;
}
.btn-primary { background:var(--gradient-accent); color:#fff; box-shadow:0 8px 32px rgba(123,92,252,0.35); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(123,92,252,0.5); }
.btn-outline { background:transparent; color:var(--text-primary); border:2px solid var(--border-glow); }
.btn-outline:hover { border-color:var(--accent-light); background:rgba(123,92,252,0.06); transform:translateY(-3px); }
.btn-gold { background:var(--gradient-gold); color:#1a1a0a; box-shadow:0 8px 28px rgba(212,168,83,0.3); }
.btn-gold:hover { transform:translateY(-3px); box-shadow:0 14px 36px rgba(212,168,83,0.45); }
#loading-screen {
    position:fixed; top:0; left:0; width:100%; height:100%; background:var(--bg-deep);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    z-index:99999; transition:opacity 0.6s ease, visibility 0.6s ease; pointer-events:all;
}
#loading-screen.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.loader-logo { width:80px; height:80px; border-radius:50%; object-fit:contain; animation:loaderPulse 1.6s ease-in-out infinite; margin-bottom:28px; filter:drop-shadow(0 0 30px rgba(123,92,252,0.5)); }
.loader-spinner { width:48px; height:48px; border:3px solid var(--border-subtle); border-top-color:var(--accent); border-radius:50%; animation:spin 0.8s linear infinite; }
.loader-text { margin-top:20px; font-family:var(--font-mono); font-size:0.85rem; color:var(--text-muted); letter-spacing:0.25em; text-transform:uppercase; }