/* =========================================================
   NEXORA — Version C · "Immersive"
   Full-screen particle logo, centered cinematic layout,
   gradient-edged cards. Loaded after styles.css; only overrides.
   ========================================================= */
body.theme-c {
  --bg: #020308;
  --panel: rgba(10, 16, 34, .7);
  --card: #070c1a;
  background: var(--bg);
}

/* ---------- HERO C ---------- */
.hero-c { min-height: 100svh; align-items: flex-end; padding: clamp(300px, 44vh, 440px) 0 72px; text-align: center; }
.hero-c .hero-bg {
  background:
    radial-gradient(900px 640px at 50% 34%, rgba(47, 123, 255, .22), transparent 62%),
    linear-gradient(180deg, #02040b, var(--bg));
}
.hero-c #hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.hero-c::after {
  content: ''; position: absolute; inset: auto 0 0; height: 55%; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(2, 3, 8, .85) 55%, var(--bg));
}
.hero-c-inner { position: relative; z-index: 2; display: grid; gap: 22px; justify-items: center; max-width: 980px; }
.hero-c .hero-title { font-size: clamp(2.6rem, 6.6vw, 5.6rem); line-height: .98; }
.hero-c .hero-sub { max-width: 640px; margin-inline: auto; }
.hero-c .hero-ctas, .hero-c .hero-points { justify-content: center; }
.hero-c-fallback {
  position: absolute; left: 50%; top: clamp(190px, 25vh, 260px); width: min(380px, 60vw); aspect-ratio: 350 / 282; transform: translate(-50%, -50%);
  color: #fff; filter: drop-shadow(0 0 40px rgba(47, 123, 255, .8)); z-index: 0;
}
.hero-c-fallback svg { width: 100%; height: 100%; }
.webgl-on .hero-c-fallback { display: none; }
.hero-c .scroll-cue { display: none; }
.hero-stats {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px;
}
.hero-stats > span {
  display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 16px; border-radius: 999px;
  background: rgba(10, 16, 34, .7); border: 1px solid var(--line-2); backdrop-filter: blur(10px); font-size: .82rem; color: var(--muted);
}
.hero-stats b { font: 600 1.05rem var(--font-d); color: var(--text); }
.hero-stats em { font-style: normal; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-2); }

/* ---------- centered cinematic sections ---------- */
.theme-c .section-head { margin-inline: auto; text-align: center; justify-items: center; }
.theme-c .h2 { font-size: clamp(2.2rem, 4.8vw, 3.8rem); }
.theme-c .section { padding: clamp(110px, 14vw, 180px) 0; }
.theme-c .section::before {
  content: ''; position: absolute; left: 50%; top: 0; width: min(560px, 80%); height: 1px; transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(47, 123, 255, .6), transparent);
}

/* gradient-edged cards */
.theme-c :is(.p-card, .ind, .w-card, .step, .sys-step, .contact-list, .svc-panel, .ex, .lead-form, .legal-doc) {
  border: 1px solid transparent;
  background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(150deg, rgba(91, 155, 255, .55), rgba(255, 255, 255, .04) 38%, rgba(47, 123, 255, .3)) border-box;
}

/* problems: two columns of large numbered rows */
.theme-c .problem-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.theme-c .p-card { display: flex; align-items: center; gap: 22px; min-height: 0; padding: 24px 26px; }
.theme-c .p-num { font: 700 2rem/1 var(--font-d); letter-spacing: -.02em; min-width: 52px; }

/* services: pill tabs on top, panel below */
.theme-c .svc { grid-template-columns: 1fr; gap: 26px; }
.theme-c .svc-tabs { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.theme-c .svc-tab { width: auto; padding: 10px 16px; border-radius: 999px; border-color: var(--line-2); font-size: .88rem; }
.theme-c .svc-tab .svc-n { display: none; }
.theme-c .svc-tab.is-active { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: var(--glow); }
.theme-c .svc-panel { min-height: 460px; }

/* industries: denser grid with centered content */
.theme-c .ind { justify-items: center; text-align: center; }
.theme-c .ind > svg { width: 52px; height: 52px; padding: 12px; border-radius: 50%; background: radial-gradient(circle, rgba(47, 123, 255, .35), rgba(47, 123, 255, .05)); color: #fff; }

/* why: cards row under centered copy */
.theme-c .why-grid { grid-template-columns: 1fr; gap: 50px; }
.theme-c .why-copy { position: static; justify-items: center; text-align: center; max-width: 820px; margin-inline: auto; }
.theme-c .why-photo { max-width: 760px; }
.theme-c .why-cards { grid-template-columns: repeat(4, 1fr); }
.theme-c .why-cards .w-card:nth-child(even) { transform: rotateX(var(--rx, 0)) rotateY(var(--ry, 0)); }

/* contact */
.theme-c .contact-grid { align-items: center; }

@media (max-width: 1020px) {
  .theme-c .why-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hero-c { padding-bottom: 48px; }
  .hero-c-fallback { top: 190px; width: min(240px, 60vw); }
  .theme-c .problem-grid { grid-template-columns: 1fr; }
  .theme-c .p-card { padding: 18px; gap: 16px; }
  .theme-c .p-num { font-size: 1.5rem; min-width: 36px; }
  .theme-c .svc-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; }
  .theme-c .svc-tab { flex: none; }
  .hero-stats > span { padding: 8px 12px; }
}
