/* ChainNextGen — dark theme only */
:root {
  color-scheme: dark;
  --ink: #0c1221;
  --glass: rgba(15, 23, 42, 0.62);
  --glass-soft: rgba(15, 23, 42, 0.42);
  --glass-card: rgba(15, 23, 42, 0.72);
  --text: #eef2f7;
  --text-muted: #9aa8be;
  --text-dim: #6b7a94;
  --text-on-media: #f8fafc;
  --accent: #38bdf8;
  --accent-2: #818cf8;
  --accent-soft: #7dd3fc;
  --border: rgba(148, 163, 184, 0.14);
  --radius-lg: 20px;
  --section-veil: linear-gradient(180deg, rgba(12, 18, 33, 0.72) 0%, rgba(12, 18, 33, 0.84) 100%);
  --hero-shade: linear-gradient(180deg, rgba(12, 18, 33, 0.32) 0%, rgba(12, 18, 33, 0.52) 100%),
    linear-gradient(100deg, rgba(12, 18, 33, 0.94) 0%, rgba(12, 18, 33, 0.78) 34%, rgba(12, 18, 33, 0.22) 68%, rgba(12, 18, 33, 0.08) 100%);
  --hero-fade-duration: 1.8s;
  --hero-photo-filter: saturate(0.96) brightness(0.96) contrast(1.08);
  --photo-filter: saturate(0.72) brightness(0.74) contrast(1.04);
  --shadow-sm: 0 8px 30px rgba(0, 0, 0, 0.32);
  --shadow-md: 0 20px 50px rgba(0, 0, 0, 0.38);
  --head-shadow: 0 2px 24px rgba(0, 0, 0, 0.55);
  --body-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
  --panel-fill: rgba(15, 23, 42, 0.55);
  --panel-overlay: linear-gradient(to right, transparent 45%, rgba(12, 18, 33, 0.88));
  --panel-overlay-mobile: linear-gradient(to top, rgba(12, 18, 33, 0.9), transparent);
  --culture-overlay: linear-gradient(to top, rgba(8, 12, 22, 0.94) 0%, rgba(8, 12, 22, 0.28) 52%, transparent 100%);
  --culture-overlay-hover: linear-gradient(to top, rgba(8, 12, 22, 0.97) 0%, rgba(8, 12, 22, 0.5) 62%, transparent 100%);
  --header-bg: rgba(12, 18, 33, 0.9);
  --header-border: rgba(148, 163, 184, 0.1);
  --header-shadow: 0 4px 28px rgba(0, 0, 0, 0.42);
  --burger-fg: #eef2f7;
  --btn-line-bg: rgba(148, 163, 184, 0.06);
  --btn-line-border: rgba(148, 163, 184, 0.22);
  --btn-line-color: #eef2f7;
  --btn-line-hover: rgba(148, 163, 184, 0.12);
  --badge-bg: rgba(56, 189, 248, 0.14);
  --badge-border: rgba(56, 189, 248, 0.32);
  --badge-color: #7dd3fc;
  --stat-grid-line: rgba(148, 163, 184, 0.08);
  --chip-logo-filter: brightness(1.05) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
  --list-item: #c5d0e0;
  --list-strong: #dce4f0;
  --list-mark: #22d3ee;
  --metric-bg: rgba(8, 12, 22, 0.82);
  --metric-color: #f8fafc;
  --year-bg: rgba(8, 12, 22, 0.82);
  --year-color: #f8fafc;
  --roadmap-marker-border: rgba(12, 18, 33, 0.95);
  --dot-idle: rgba(148, 163, 184, 0.28);
  --dot-active: #6366f1;
  --hero-dot-idle: rgba(148, 163, 184, 0.32);
  --hero-dot-active: #38bdf8;
  --ambient-grid: rgba(148, 163, 184, 0.05);
  --ambient-orb-opacity: 0.26;
  --nav-mobile-bg: rgba(12, 18, 33, 0.98);
  --tag-bg: rgba(56, 189, 248, 0.12);
  --tag-border: rgba(56, 189, 248, 0.26);
  --tag-color: #7dd3fc;
  --tech-bg: rgba(56, 189, 248, 0.1);
  --tech-border: rgba(56, 189, 248, 0.22);
  --tech-color: #7dd3fc;
  --meta-bg: rgba(148, 163, 184, 0.06);
  --status-bg: rgba(148, 163, 184, 0.08);
  --round-btn-hover: rgba(148, 163, 184, 0.14);
  --round-btn-border: rgba(148, 163, 184, 0.18);
  --img-broken: linear-gradient(135deg, #0f172a, #1e293b);
  --svc-tab-bg: rgba(148, 163, 184, 0.06);
}

.svc-panel__media-overlay{background:var(--panel-overlay)!important}
.svc-panel__body{background:var(--panel-fill)!important}
.svc-panel__body li{color:var(--list-item)!important}
.svc-panel__body li::before{color:var(--list-mark)!important}
.svc-panel__metric{color:var(--metric-color)!important;background:var(--metric-bg)!important}
.svc-panel__meta{background:var(--meta-bg)!important}
.svc-meta-block ul li::before{color:var(--accent)!important}
.tech-tags span{color:var(--tech-color)!important;background:var(--tech-bg)!important;border-color:var(--tech-border)!important}
.svc-tab{background:var(--svc-tab-bg)!important}
.round-btn{border-color:var(--round-btn-border)!important}
.round-btn:hover{background:var(--round-btn-hover)!important}
.work-card__body{background:var(--panel-fill)!important}
.work-card__year{color:var(--year-color)!important;background:var(--year-bg)!important}
.work-card__tags span{color:var(--tag-color)!important;background:var(--tag-bg)!important;border-color:var(--tag-border)!important}
.work-card__client strong{color:var(--list-strong)!important}
.work-card__results li{color:var(--list-item)!important}
.work-card__results li::before{color:var(--list-mark)!important}
.roadmap__marker{border-color:var(--roadmap-marker-border)!important}
.roadmap__status{background:var(--status-bg)!important}
.culture-card__overlay{background:var(--culture-overlay)!important}
.culture-card:hover .culture-card__overlay{background:var(--culture-overlay-hover)!important}
.culture-card h3,.culture-card__date{color:var(--text-on-media)!important}
.culture-card__loc{color:rgba(248,250,252,.78)!important}
.culture-card__cap{color:rgba(248,250,252,.9)!important}
.team-card__body{background:var(--panel-fill)!important}
.t-dots button{background:var(--dot-idle)!important}
.t-dots button.is-active{background:var(--dot-active)!important}
.hero__dots button{background:var(--hero-dot-idle)!important}
.hero__dots button.is-active{background:var(--hero-dot-active)!important}
.stats-bar__grid{background:var(--stat-grid-line)!important}
.marquee-section__label{text-shadow:var(--body-shadow)!important}
.block__head h2{text-shadow:var(--head-shadow)!important}
.block__head p,.block__head .label{text-shadow:var(--body-shadow)!important}
.hero h1{text-shadow:var(--head-shadow)!important}
.hero__box p{text-shadow:var(--body-shadow)!important}
.hero__shade{background:var(--hero-shade)!important}
.badge{color:var(--badge-color)!important;background:var(--badge-bg)!important;border-color:var(--badge-border)!important}
.partner-chip img{filter:var(--chip-logo-filter)!important}
.cta-banner h2{text-shadow:var(--head-shadow)!important}
.btn--line{border-color:var(--btn-line-border)!important;color:var(--btn-line-color)!important;background:var(--btn-line-bg)!important}
.btn--line:hover{background:var(--btn-line-hover)!important}
.burger{border-color:var(--border)!important}
.burger span,.burger::before,.burger::after{background:var(--burger-fg)!important}
@media(max-width:640px){.nav{background:var(--nav-mobile-bg)!important;border-bottom-color:var(--border)!important}}
@media(max-width:960px){.svc-panel__media-overlay{background:var(--panel-overlay-mobile)!important}}
