:root{
  --bg: #0f1720;
  --surface: #0f1729;
  --muted: #9aa4b2;
  --text: #e6eef6;
  --accent: #0ea5ff;
  --accent-2: #7c3aed;
  --link-neon: #f4fbff;
  --glass: rgba(255,255,255,0.04);
  --radius: 12px;
  --container: 1100px;
}

/* белый неон для обычных текстовых ссылок */
a{
  color: var(--link-neon);
  text-shadow:
    0 0 4px rgba(255,255,255,0.35),
    0 0 10px rgba(255,255,255,0.18);
  transition: text-shadow 0.2s ease, color 0.2s ease;
}
a:hover{
  color:#ffffff;
  text-shadow:
    0 0 6px rgba(255,255,255,0.6),
    0 0 16px rgba(255,255,255,0.35),
    0 0 28px rgba(255,255,255,0.18);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: linear-gradient(180deg,var(--bg) 0%, #08101a 100%);
  background-attachment: scroll;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}

html, body {
  overflow-x: hidden;
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* контейнер */
.container{
  width:calc(100% - 40px);
  max-width:var(--container);
  margin:0 auto;
  padding:40px 20px;
}

/* header */
.site-header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter: blur(6px);
  background: rgba(15,19,32,0.55);
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
}

/* бренд */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--text);
  text-shadow:none;
}

.brand-mark{
  width:48px;
  height:48px;
  object-fit:contain;
  border-radius:10px;
  box-shadow: 0 6px 18px rgba(14,165,255,0.06), 0 1px 0 rgba(255,255,255,0.02) inset;
  background: rgba(255,255,255,0.03);
}

/* логотип DG */
.brand-name{font-weight:600; font-size:18px}
.dg-neon{
  display:inline-block;
  font-weight:900;
  letter-spacing:0.02em;
  margin-right:6px;
  font-size:20px;
  color:#c6f7ff;
  padding:2px 6px;
  border-radius:6px;
  background: rgba(255,255,255,0.02);
  text-shadow:
    0 0 6px rgba(198,247,255,0.35),
    0 0 18px rgba(14,165,255,0.15),
    0 0 30px rgba(14,165,255,0.08);
  animation: neon-flicker 6s infinite ease-in-out;
}

@keyframes neon-flicker{
  0%, 92%, 100%{
    text-shadow:
      0 0 6px rgba(198,247,255,0.35),
      0 0 18px rgba(14,165,255,0.15),
      0 0 30px rgba(14,165,255,0.08);
  }
  94%{
    text-shadow:
      0 0 2px rgba(198,247,255,0.15),
      0 0 8px rgba(14,165,255,0.06),
      0 0 12px rgba(14,165,255,0.03);
  }
}

/* навигация */
.main-nav{display:flex;gap:18px;align-items:center}
.main-nav a{
  position:relative;
  color:var(--muted);
  text-decoration:none;
  text-shadow:none;
  font-weight:600;
  transition: color 0.2s ease;
}
.main-nav a:not(.cta)::after{
  content:'';
  position:absolute;
  left:0; right:0; bottom:-6px;
  height:2px;
  background: linear-gradient(90deg,var(--accent), var(--accent-2));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.main-nav a:not(.cta):hover::after{transform:scaleX(1)}
.main-nav a:hover{
  color:var(--text);
  opacity:0.95;
}
.main-nav .cta{
  padding:8px 12px;
  border-radius:10px;
  background: rgba(255,255,255,0.05);
  color:var(--text);
  box-shadow: 0 6px 18px rgba(14,165,255,0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.main-nav .cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(14,165,255,0.14);
}

/* мобильное меню */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:40px;
  height:36px;
  background:transparent;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  cursor:pointer;
  padding:0;
}
.nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  margin:0 auto;
  background:var(--text);
  border-radius:2px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.nav-toggle.is-open span:nth-child(1){transform: translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform: translateY(-7px) rotate(-45deg)}

/* hero */
.hero{
  position:relative;
  padding:80px 0 100px 0;
  overflow: hidden;
}
.hero-content{max-width:780px}
.hero h1{
  margin:0 0 12px 0;
  font-size:40px;
  line-height:1.03;
  letter-spacing:-0.01em;
}
.lead{
  color:var(--muted);
  font-size:18px;
  margin:0 0 18px 0;
}

.reveal{
  opacity:0;
  transform: translateY(18px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}
.hero-content > *{transition-delay: 0.05s}
.hero-content > *:nth-child(2){transition-delay: 0.15s}
.hero-content > *:nth-child(3){transition-delay: 0.25s}

/* кнопки */
.btn{
  display:inline-block;
  text-decoration:none;
  text-shadow:none;
  padding:10px 16px;
  border-radius:10px;
  font-weight:700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.btn-primary{
  background:linear-gradient(90deg,var(--accent), #7dd3fc);
  color:#021021;
  box-shadow: 0 10px 30px rgba(14,165,255,0.18);
}
.btn-primary:hover{
  color:#021021;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(14,165,255,0.28);
}
.btn-ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,0.04);
  color:var(--text);
}
.btn-ghost:hover{
  color:var(--text);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-2px);
}
.btn-disabled{
  display:inline-block;
  padding:10px 16px;
  border-radius:10px;
  font-weight:700;
  background: rgba(255,255,255,0.06);
  color: var(--muted);
  text-shadow:none;
  cursor:not-allowed;
}
.status-note{
  color:var(--muted);
  margin-top:10px;
}

/* неоновый фон в hero */
.hero-neon{
  position:absolute;
  right:-8%;
  top:-10%;
  width:520px;
  height:520px;
  border-radius:50%;
  filter: blur(40px) saturate(120%);
  background: radial-gradient(circle at 30% 30%, rgba(14,165,255,0.18), transparent 25%),
              radial-gradient(circle at 70% 70%, rgba(124,58,237,0.09), transparent 20%);
  transform: rotate(12deg);
  pointer-events:none;
  opacity:0.9;
  animation: drift 12s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes drift{
  0%{ transform: rotate(12deg) translate(0,0); }
  100%{ transform: rotate(18deg) translate(-16px, 12px); }
}

/* секции */
.section{
  padding:40px 0;
  background:none;
}

.card{
  position: relative;
  background: rgba(255,255,255,0.035);
  border-radius: var(--radius);
  padding: 22px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;

  /* основной объём */
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.06),
    0 10px 30px rgba(2,6,23,0.6),
    0 0 18px rgba(255,255,255,0.04);

  border: 1px solid rgba(255,255,255,0.08);
}

.project.card{
  display:block;
  transform-style: preserve-3d;
  will-change: transform;
  color: var(--text);
  text-decoration: none;
  text-shadow: none;
}
.project.card:hover{
  color: var(--text);
  border-color: rgba(14,165,255,0.35);
  box-shadow:
    0 0 0 1px rgba(14,165,255,0.18),
    0 16px 40px rgba(2,6,23,0.7),
    0 0 24px rgba(14,165,255,0.08);
}
.project.card p{color:var(--muted)}
.project.card .link-more{
  color: var(--link-neon);
  text-shadow:
    0 0 4px rgba(255,255,255,0.35),
    0 0 10px rgba(255,255,255,0.18);
}
.project.card .link-more:hover{
  color:#ffffff;
  text-shadow:
    0 0 6px rgba(255,255,255,0.6),
    0 0 16px rgba(255,255,255,0.35),
    0 0 28px rgba(255,255,255,0.18);
}

/* грид проектов */
.grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:18px;
}
.project h3{margin:0 0 8px 0}
.link-more{
  display:inline-block;
  margin-top:12px;
  text-decoration:none;
  font-weight:700;
  transition: transform 0.2s ease, text-shadow 0.2s ease, color 0.2s ease;
}
.link-more:hover{transform: translateX(3px)}

/* команда */
.team-list{
  margin:0;
  padding-left:18px;
  color:var(--muted);
}

/* футер */
.site-footer{
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,0.02);
  color:var(--muted);
}

/* адаптив */
@media (max-width:980px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:32px}
  .brand-mark{width:44px;height:44px}
}

@media (max-width:640px){
  .header-inner{flex-direction:row;gap:8px}
  .nav-toggle{display:flex}
  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    padding:10px 20px 16px;
    background: rgba(10,14,24,0.97);
    border-bottom:1px solid rgba(255,255,255,0.06);
    transform: translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .main-nav.is-open{
    transform:none;
    opacity:1;
    pointer-events:auto;
  }
  .main-nav a{padding:10px 0; width:100%}
  .main-nav .cta{width:100%; text-align:center; margin-top:6px}
  .grid{grid-template-columns:1fr}
  .hero{padding:50px 0 70px}
  .container{padding:24px}
}

@media (max-width: 768px) {
  .hero-neon {
    width: 280px;
    height: 280px;
    right: -120px;
    top: -120px;
    opacity: 0.6;
  }
}

/* твой id */
.card-img {
  border-radius: 15%;
}

/* --- страница Ады --- */
.ada-hero{
  position:relative;
  padding:70px 0 60px;
  overflow:hidden;
}
.ada-hero .hero-neon{
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,0.22), transparent 25%),
              radial-gradient(circle at 70% 70%, rgba(14,165,255,0.12), transparent 20%);
}
.ada-badge{
  display:inline-block;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--accent);
  background: rgba(14,165,255,0.08);
  border:1px solid rgba(14,165,255,0.2);
  border-radius:999px;
  padding:5px 12px;
  margin-bottom:14px;
}
.ada-orb{
  width:120px;
  height:120px;
  margin:0 0 24px;
  border-radius:50%;
  background: radial-gradient(circle at 35% 30%, #c6f7ff, var(--accent) 45%, var(--accent-2) 100%);
  box-shadow: 0 0 40px rgba(14,165,255,0.35), 0 0 80px rgba(124,58,237,0.2);
  animation: pulse 3.2s ease-in-out infinite;
}
@keyframes pulse{
  0%, 100%{ transform: scale(1); box-shadow: 0 0 40px rgba(14,165,255,0.35), 0 0 80px rgba(124,58,237,0.2); }
  50%{ transform: scale(1.05); box-shadow: 0 0 55px rgba(14,165,255,0.5), 0 0 100px rgba(124,58,237,0.3); }
}

.feature-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap:18px;
}
.feature-grid .card h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:0;
}
.feature-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:8px;
  background: rgba(14,165,255,0.1);
  color:var(--accent);
  font-size:16px;
  flex-shrink:0;
}

.stack-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.stack-list li{
  padding:6px 12px;
  border-radius:8px;
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.06);
  font-size:14px;
  color:var(--muted);
}

.back-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  text-decoration:none;
  text-shadow:none;
  font-weight:600;
  margin-bottom:18px;
  transition: color 0.2s ease, transform 0.2s ease;
}
.back-link:hover{
  color:var(--text);
  transform: translateX(-3px);
}

@media (max-width:640px){
  .feature-grid{grid-template-columns:1fr}
}

.project-hero-img{
  width:180px;
  height:180px;
  object-fit:cover;
  border-radius:15%;
  margin-bottom:20px;
  box-shadow: 0 10px 30px rgba(2,6,23,0.6);
}
