/* ============================================
   DGTL DEPOT — Global Design Tokens v3.0
   Static Site Build — May 2026
   ============================================ */

:root {
  --dd-purple: #7B2FBE;
  --dd-purple-light: #9B4FD8;
  --dd-purple-dark: #5A1F8E;
  --dd-blue: #2D34D6;
  --dd-blue-light: #4A50E0;
  --dd-blue-dark: #1E22A0;
  --dd-cyan: #30A8EC;
  --dd-cyan-light: #38F1F6;
  --dd-cyan-dark: #1B7BB8;
  --dd-bg: #08080F;
  --dd-surface: #161628;
  --dd-card: #1E1E36;
  --dd-border: #2A2A45;
  --dd-text-muted: rgba(255,255,255,0.45);
  --dd-text: rgba(255,255,255,0.75);
  --dd-text-light: rgba(255,255,255,0.9);
  --dd-white: #FFFFFF;
  --dd-gradient: linear-gradient(135deg, #30A8EC, #2D34D6, #7B2FBE);
  --dd-gradient-hover: linear-gradient(135deg, #38F1F6, #4A50E0, #9B4FD8);
  --dd-error: #E53E3E;
  --dd-warning: #ECC94B;
  --dd-success: #38A169;
  --dd-space: 8px;
  --dd-radius-sm: 8px;
  --dd-radius-md: 12px;
  --dd-radius-lg: 16px;
  --dd-transition: 0.3s ease;
  --dd-transition-slow: 0.6s ease-out;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { background-color: var(--dd-bg); color: var(--dd-text); font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: 'Space Grotesk', sans-serif; color: var(--dd-white); line-height: 1.1; letter-spacing: -0.02em; }
a { color: var(--dd-cyan); text-decoration: none; transition: color var(--dd-transition); }
a:hover { color: var(--dd-cyan-light); }
img { max-width: 100%; height: auto; }

.dd-h1 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(40px, 6vw, 64px); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }
.dd-h2 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(28px, 4vw, 40px); font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; }
.dd-h3 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(20px, 3vw, 28px); font-weight: 600; line-height: 1.2; }
.dd-h4 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(16px, 2vw, 20px); font-weight: 500; line-height: 1.3; }
.dd-body-lg { font-size: 18px; font-weight: 400; line-height: 1.6; }
.dd-body { font-size: 16px; font-weight: 400; line-height: 1.6; }
.dd-caption { font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: 0.01em; }
.dd-overline { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 500; line-height: 1.2; letter-spacing: 0.08em; text-transform: uppercase; }

.dd-btn { display: inline-flex; align-items: center; gap: 8px; font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: 0.02em; padding: 14px 32px; border-radius: var(--dd-radius-sm); border: none; cursor: pointer; transition: all var(--dd-transition); text-decoration: none; position: relative; overflow: hidden; }
.dd-btn-primary { background: var(--dd-gradient); color: var(--dd-white); box-shadow: 0 4px 24px rgba(123, 47, 190, 0.35); }
.dd-btn-primary:hover { background: var(--dd-gradient-hover); transform: translateY(-2px); box-shadow: 0 8px 40px rgba(123, 47, 190, 0.5); color: var(--dd-white); }
.dd-btn-secondary { background: transparent; color: var(--dd-cyan); border: 1px solid rgba(48, 168, 236, 0.4); }
.dd-btn-secondary:hover { background: rgba(48, 168, 236, 0.1); transform: translateY(-2px); color: var(--dd-cyan-light); border-color: var(--dd-cyan-light); }
.dd-btn-ghost { background: transparent; color: var(--dd-text-light); padding: 14px 0; }
.dd-btn-ghost:hover { color: var(--dd-cyan); }

.dd-reveal { opacity: 0; transform: translateY(30px) scale(0.97); transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1); }
.dd-reveal.revealed { opacity: 1; transform: translateY(0) scale(1); }
.dd-reveal-logo { opacity: 0; transform: translateY(40px) scale(0.9); transition: opacity 1.8s cubic-bezier(0.16, 1, 0.3, 1), transform 1.8s cubic-bezier(0.16, 1, 0.3, 1); transition-delay: 0.3s; }
.dd-reveal-logo.revealed { opacity: 1; transform: translateY(0) scale(1); }
.dd-reveal-delay-1 { transition-delay: 0.8s; }
.dd-reveal-delay-2 { transition-delay: 1.1s; }
.dd-reveal-delay-3 { transition-delay: 1.4s; }
.dd-reveal-delay-4 { transition-delay: 1.7s; }
.dd-reveal-delay-5 { transition-delay: 2.0s; }

.dd-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.dd-section { padding: 100px 0; }
.dd-gradient-text { background: var(--dd-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.dd-glow { box-shadow: 0 0 30px rgba(123, 47, 190, 0.2), 0 0 60px rgba(48, 168, 236, 0.1); }

.dd-nav { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 20px 0; transition: all var(--dd-transition); }
.dd-nav.scrolled { padding: 12px 0; background: rgba(8,8,15,0.9); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(42,42,69,0.4); }
.dd-nav__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; }
.dd-nav__logo { display: flex; align-items: center; gap: 10px; text-decoration: none; z-index: 1001; }
.dd-nav__logo-img { height: 36px; width: auto; }
.dd-nav__links { display: flex; align-items: center; gap: 32px; }
.dd-nav__link { font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 500; color: var(--dd-text); text-decoration: none; transition: color var(--dd-transition); position: relative; }
.dd-nav__link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--dd-gradient); transition: width var(--dd-transition); border-radius: 1px; }
.dd-nav__link:hover { color: var(--dd-white); }
.dd-nav__link:hover::after { width: 100%; }
.dd-nav__cta { padding: 10px 22px; font-size: 13px; }
.dd-nav__hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 1001; }
.dd-nav__hamburger span { display: block; width: 24px; height: 2px; background: var(--dd-white); transition: all var(--dd-transition); border-radius: 1px; }
.dd-nav__hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.dd-nav__hamburger.active span:nth-child(2) { opacity: 0; }
.dd-nav__hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }
.dd-mobile-menu { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(8,8,15,0.97); backdrop-filter: blur(20px); z-index: 999; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity var(--dd-transition); }
.dd-mobile-menu.active { opacity: 1; pointer-events: all; }
.dd-mobile-menu__inner { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.dd-mobile-menu__link { font-family: 'Space Grotesk', sans-serif; font-size: 28px; font-weight: 600; color: var(--dd-text-light); text-decoration: none; }
.dd-mobile-menu__link:hover { color: var(--dd-cyan); }

.dd-footer { position: relative; background: var(--dd-bg); padding: 80px 0 0; overflow: hidden; }
.dd-footer__top-border { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 80%; max-width: 1000px; height: 1px; background: linear-gradient(90deg, transparent 0%, var(--dd-border) 20%, rgba(48, 168, 236, 0.3) 50%, var(--dd-border) 80%, transparent 100%); }
.dd-footer__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.dd-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 64px; }
.dd-footer__brand-logo { display: block; text-decoration: none; margin-bottom: 0; margin-top: -10px; }
.dd-footer__brand-logo-img { height: 56px; width: auto; filter: drop-shadow(0 0 20px rgba(123, 47, 190, 0.1)); }
.dd-footer__brand-desc { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--dd-text); line-height: 1.6; margin: 0 0 24px; max-width: 280px; }
.dd-footer__socials { display: flex; gap: 12px; }
.dd-footer__social-link { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--dd-border); background: rgba(255, 255, 255, 0.03); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.45); text-decoration: none; transition: all 0.3s ease; }
.dd-footer__social-link:hover { border-color: rgba(48, 168, 236, 0.4); color: var(--dd-cyan); background: rgba(48, 168, 236, 0.08); transform: translateY(-2px); }
.dd-footer__col-title { font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--dd-white); margin: 0 0 20px; }
.dd-footer__links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.dd-footer__link { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--dd-text); text-decoration: none; transition: color 0.3s ease; }
.dd-footer__link:hover { color: var(--dd-cyan); }
.dd-footer__contact-item { display: flex; align-items: center; gap: 10px; font-family: 'Inter', sans-serif; font-size: 14px; color: var(--dd-text); text-decoration: none; transition: color 0.3s ease; }
.dd-footer__contact-item:hover { color: var(--dd-cyan); }
.dd-footer__contact-icon { flex-shrink: 0; color: rgba(255,255,255,0.45); transition: color 0.3s ease; }
.dd-footer__contact-item:hover .dd-footer__contact-icon { color: var(--dd-cyan); }
.dd-footer__bottom { border-top: 1px solid var(--dd-border); padding: 24px 0; display: flex; align-items: center; justify-content: space-between; }
.dd-footer__copyright { font-family: 'Inter', sans-serif; font-size: 13px; color: rgba(255,255,255,0.45); }
.dd-footer__bottom-links { display: flex; gap: 24px; }
.dd-footer__bottom-link { font-family: 'Inter', sans-serif; font-size: 13px; color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.3s ease; }
.dd-footer__bottom-link:hover { color: var(--dd-text); }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--dd-bg); }
::-webkit-scrollbar-thumb { background: var(--dd-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.3); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .dd-reveal, .dd-reveal-logo { opacity: 1; transform: none; }
}

@media (max-width: 900px) { .dd-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; } }
@media (max-width: 768px) { .dd-nav__links { display: none; } .dd-nav__cta { display: none; } .dd-nav__hamburger { display: flex; } }
@media (max-width: 600px) { .dd-footer { padding: 60px 0 0; } .dd-footer__grid { grid-template-columns: 1fr; gap: 36px; } .dd-footer__bottom { flex-direction: column; gap: 16px; text-align: center; } }