/* ═══════════════════════════════════════════════
   NELTHAR PRIVATE LIMITED — styles.css
   Clean consolidated build
   ═══════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --bg:       #FFFFFF;
  --bg-2:     #F4F6FF;
  --bg-3:     #E8ECFF;
  --card:     #FFFFFF;
  --ink:      #0A0C18;
  --ink-2:    #4A4E6A;
  --ink-3:    #8A8FA8;
  --border:   rgba(0,0,0,0.09);
  --border-2: rgba(0,0,0,0.16);
  --accent:   #1D4ED8;
  --accent-2: rgba(29,78,216,0.08);
  --hdr:      rgba(255,255,255,0.93);
  --max:      1280px;
  --hh:       78px;
  --rad:      14px;
}
[data-theme="dark"] {
  --bg:       #0A0C14;
  --bg-2:     #111422;
  --bg-3:     #181C2E;
  --card:     #1C2136;
  --ink:      #EEF0FF;
  --ink-2:    #A0A6C8;
  --ink-3:    #666B90;
  --border:   rgba(255,255,255,0.10);
  --border-2: rgba(255,255,255,0.18);
  --accent:   #7090FF;
  --accent-2: rgba(112,144,255,0.14);
  --hdr:      rgba(10,12,20,0.93);
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  transition: background 0.35s, color 0.35s;
}
a { color:inherit; text-decoration:none; }
button { cursor:pointer; font-family:inherit; background:none; border:none; }
img { display:block; }

/* ── AMBIENT BACKGROUND BLOBS ── */
body::before, body::after {
  content:''; position:fixed; pointer-events:none; z-index:0;
}
body::before {
  inset: auto auto 0 0;
  width: 900px; height: 700px;
  background: radial-gradient(ellipse at 0% 100%, rgba(175,200,255,0.16) 0%, transparent 70%);
  filter: blur(20px);
}
body::after {
  inset: 0 0 auto auto;
  width: 800px; height: 600px;
  background: radial-gradient(ellipse at 100% 0%, rgba(175,200,255,0.12) 0%, transparent 70%);
  filter: blur(20px);
}
[data-theme="dark"] body::before { background: radial-gradient(ellipse at 0% 100%, rgba(30,55,160,0.18) 0%, transparent 70%); }
[data-theme="dark"] body::after  { background: radial-gradient(ellipse at 100% 0%, rgba(30,55,160,0.14) 0%, transparent 70%); }
header, main, footer, .m-overlay { position:relative; z-index:1; }

/* ── HEADER ── */
.header {
  position: fixed; top:0; left:0; right:0;
  height: var(--hh);
  display: flex; align-items:center; justify-content:space-between;
  padding: 0 max(20px, 3vw);
  background: var(--hdr);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 300;
  transition: background 0.35s, border-color 0.35s;
}
.logo-wrap img { height:54px; width:auto; }
.h-nav { display:flex; align-items:center; gap:24px; }
.h-nav a { font-size:14px; font-weight:500; color:var(--ink-2); transition:color 0.18s; letter-spacing:0.02em; }
.h-nav a:hover { color:var(--ink); }
.h-right { display:flex; align-items:center; gap:12px; }

/* Theme toggle */
.theme-toggle {
  background: var(--bg-2); border:1px solid var(--border-2);
  border-radius:50%; width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-2);
  transition: background 0.2s, color 0.2s;
}
.theme-toggle:hover { background:var(--bg-3); color:var(--ink); }
.sun-and-moon { width:1.25rem; height:1.25rem; }
.sun-and-moon > :is(.moon,.sun,.sun-beams) { transform-origin:center; }
.sun-and-moon > .sun { fill:currentColor; }
.sun-and-moon > .sun-beams { stroke:currentColor; stroke-width:2px; }
[data-theme="dark"] .sun-and-moon > .sun { transform:scale(1.75); }
[data-theme="dark"] .sun-and-moon > .sun-beams { opacity:0; }
[data-theme="dark"] .sun-and-moon > .moon > circle { transform:translateX(-7px); }
@media (prefers-reduced-motion:no-preference) {
  .sun-and-moon > .sun { transition:transform .5s cubic-bezier(.5,1.25,.75,1.25); }
  .sun-and-moon > .sun-beams { transition:transform .5s cubic-bezier(.5,1.5,.75,1.25), opacity .5s ease; }
  .sun-and-moon > .moon > circle { transition:transform .25s ease-out; }
  [data-theme="dark"] .sun-and-moon > .sun { transition-timing-function:ease; transition-duration:.25s; }
  [data-theme="dark"] .sun-and-moon > .sun-beams { transform:rotateZ(-25deg); transition-duration:.15s; }
  [data-theme="dark"] .sun-and-moon > .moon > circle { transition-delay:.25s; transition-duration:.5s; }
}

/* Contact button */
.btn-contact {
  display:inline-flex; align-items:center; gap:6px;
  padding: 10px 20px; background:var(--ink); color:var(--bg);
  border-radius:8px; font-size:13.5px; font-weight:600;
  letter-spacing:0.03em; border:none; transition:opacity 0.18s;
}
.btn-contact:hover { opacity:0.82; }

/* ── HERO ── */
.hero {
  min-height:100svh; position:relative; overflow:hidden;
  background:#060810; color:#fff;
  display:flex; align-items:flex-end;
}
.hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  will-change:opacity;
}
.hero-bg-1 {
  background-image: url('assets/system-aerial.jpg');
  filter: brightness(0.82) saturate(0.88);
  animation: hfade 14s ease-in-out infinite;
  animation-delay:0s;
}
.hero-bg-2 {
  background-image: url('assets/system-space.jpg');
  filter: brightness(0.82) saturate(0.88);
  animation: hfade 14s ease-in-out infinite;
  animation-delay:7s;
  opacity:0;
}
@keyframes hfade {
  0%        { opacity:0; }
  10%,44%   { opacity:1; }
  55%,100%  { opacity:0; }
}
.hero-fade {
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(6,8,16,0.80) 0%, rgba(6,8,16,0.38) 46%, rgba(6,8,16,0.04) 100%),
    linear-gradient(to top,  rgba(6,8,16,0.80) 0%, transparent 38%);
}
.hero-body {
  position:relative; z-index:2;
  padding: calc(var(--hh) + 80px) 8vw 100px;
  max-width:820px;
}
.hero h1 {
  font-family:'Space Grotesk',sans-serif;
  font-size: clamp(52px,8vw,108px);
  font-weight:700; letter-spacing:-0.055em; line-height:0.92;
  color:#fff; margin-bottom:28px;
}
.hero h1 em { color:rgba(255,255,255,0.42); font-style:normal; }
.hero-sub {
  font-size:18px; line-height:1.7; color:rgba(255,255,255,0.78);
  max-width:500px; margin-bottom:40px;
}
.hero-btns { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.btn-hero {
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 30px; background:#fff; color:#0A0C18;
  border-radius:8px; font-size:14px; font-weight:700;
  letter-spacing:0.03em; transition:opacity 0.18s;
}
.btn-hero:hover { opacity:0.88; }
.btn-ghost {
  font-size:14px; font-weight:600; color:rgba(255,255,255,0.78);
  border-bottom:1px solid rgba(255,255,255,0.36);
  padding-bottom:3px; transition:color 0.18s;
}
.btn-ghost:hover { color:#fff; }

/* ── SECTION WRAPPER ── */
.s {
  max-width:var(--max); margin:0 auto;
  padding: 108px 44px;
}
.s-hd {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:end; margin-bottom:64px;
  padding-bottom:48px; border-bottom:1px solid var(--border);
}
.s-num {
  font-family:'Space Grotesk',sans-serif;
  font-size:20px; font-weight:700; letter-spacing:-0.01em;
  color:var(--ink-3); margin-bottom:16px;
}
.s-h2 {
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(38px,5vw,68px); font-weight:700;
  letter-spacing:-0.05em; line-height:0.96; color:var(--ink);
}
.s-note {
  font-size:16px; line-height:1.78; color:var(--ink-2);
  align-self:end;
}

/* ── SYSTEM LIST ── */
.sys-list { border-top:1px solid var(--border); }
.sys-art {
  display:grid; grid-template-columns:minmax(340px, 44%) 1fr;
  gap:44px; min-height:300px; border-bottom:1px solid var(--border);
  align-items:center; padding:28px 0; transition:background 0.18s;
}
.sys-art:hover { background:var(--bg-2); }
.sys-art-img {
  width:100%; height:280px; border-radius:14px; overflow:hidden;
  position:relative; margin:0; flex-shrink:0;
}
.sys-art-img img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(0.92) saturate(0.90);
  transition:transform 0.5s cubic-bezier(.25,.46,.45,.94), filter 0.4s;
}
.sys-art:hover .sys-art-img img { transform:scale(1.03); filter:brightness(0.85); }
.sys-art-copy {
  padding:12px 20px 12px 0; border-left:none;
  display:flex; flex-direction:column; justify-content:center;
}
.stag {
  font-size:9px; font-weight:700; letter-spacing:0.22em;
  color:var(--ink-3); text-transform:uppercase; margin-bottom:14px;
}
.sys-art-copy h3 {
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(28px,3.4vw,44px); font-weight:700;
  letter-spacing:-0.04em; line-height:0.96; color:var(--ink);
  margin-bottom:14px;
}
.sp { font-size:15px; line-height:1.72; color:var(--ink-2); max-width:400px; margin-bottom:22px; }
.art-link {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:700; color:var(--ink);
  border-bottom:1px solid var(--border-2); padding-bottom:4px; width:fit-content;
  transition:color 0.18s, border-color 0.18s;
}
.art-link:hover { color:var(--accent); border-color:var(--accent); }

/* ── ENGINEERING BAND ── */
.eng-band {
  background:var(--bg-2);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  transition:background 0.35s;
}
.eng-tbl { border-top:1px solid var(--border); }
.eng-row {
  display:grid; grid-template-columns:minmax(180px,260px) 1fr;
  border-bottom:1px solid var(--border);
  align-items:center; transition:background 0.18s;
  min-height:72px;
}
.eng-row:hover { background:var(--accent-2); }
.eng-d {
  font-size:15px; font-weight:600; color:var(--ink);
  padding:20px 24px 20px 0;
  align-self:stretch; display:flex; align-items:center;
}
.eng-x {
  font-size:14px; line-height:1.68; color:var(--ink-2);
  padding:20px 18px 20px 24px; border-left:1px solid var(--border);
  align-self:stretch; display:flex; align-items:center;
}
.tech-stack { margin-top:60px; }
.tech-stack-lbl {
  font-size:10px; font-weight:700; letter-spacing:0.22em;
  color:var(--ink-3); text-transform:uppercase;
  margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--border);
}
.tech-stack-grid {
  display:grid; grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--border); border-left:1px solid var(--border);
}
.tech-chip {
  padding:20px 14px; border-right:1px solid var(--border);
  border-bottom:1px solid var(--border); font-size:13px; color:var(--ink-2);
  letter-spacing:0.03em;
}

/* ── PROJECTS ── */
.proj-card {
  display:grid; grid-template-columns:1.3fr 0.8fr;
  min-height:480px; border:1px solid var(--border);
  border-radius:var(--rad); overflow:hidden;
}
.proj-vis { position:relative; overflow:hidden; background:var(--bg-3); }
.proj-vis img { width:100%; height:100%; object-fit:cover; filter:brightness(0.92); }
.proj-wm {
  position:absolute; right:-16px; bottom:-40px;
  font-family:'Space Grotesk',sans-serif;
  font-size:160px; font-weight:800; line-height:0.8;
  color:rgba(255,255,255,0.12); letter-spacing:-0.08em; pointer-events:none;
}
.proj-body { padding:56px 48px; border-left:1px solid var(--border); display:flex; flex-direction:column; justify-content:center; }
.proj-lbl { font-size:9px; font-weight:700; letter-spacing:0.22em; color:var(--ink-3); text-transform:uppercase; margin-bottom:16px; }
.proj-h3 {
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(38px,4.5vw,60px); font-weight:800;
  letter-spacing:-0.05em; line-height:0.94; color:var(--ink); margin-bottom:20px;
}
.proj-p { font-size:15px; line-height:1.72; color:var(--ink-2); margin-bottom:28px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.chip {
  font-size:10px; font-weight:700; letter-spacing:0.16em;
  border:1px solid var(--border-2); color:var(--ink-2);
  padding:6px 12px; border-radius:100px;
}
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 26px; background:var(--ink); color:var(--bg);
  border-radius:8px; font-size:14px; font-weight:700;
  letter-spacing:0.03em; transition:opacity 0.18s; width:fit-content;
}
.btn-primary:hover { opacity:0.82; }

/* ── ABOUT ── */
.about-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start;
}
.about-bigcopy {
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(20px,2.6vw,30px); font-weight:600;
  letter-spacing:-0.025em; line-height:1.38; color:var(--ink); margin:24px 0 20px;
}
.about-p { font-size:15px; line-height:1.8; color:var(--ink-2); margin-bottom:14px; }
.about-meta { display:flex; flex-direction:column; gap:5px; margin-top:28px; padding-top:20px; border-top:1px solid var(--border); }
.about-meta-row { font-size:12.5px; color:var(--ink-3); }
.about-meta-row strong { color:var(--ink-2); font-weight:600; }

/* ── CAREERS BAND ── */
.careers-band {
  background:var(--bg-2); color:var(--ink);
  display:flex; justify-content:space-between; align-items:flex-end;
  padding:90px max(32px,calc((100% - var(--max))/2 + 44px));
  gap:60px; flex-wrap:wrap;
  border-top:1px solid var(--border);
  transition:background 0.35s;
}
.car-lbl { font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; letter-spacing:-0.01em; color:var(--ink-3); margin-bottom:18px; }
.careers-band h2 {
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(34px,4.2vw,56px); font-weight:700;
  letter-spacing:-0.045em; line-height:1.0; color:var(--ink); margin-bottom:16px;
}
.car-p { font-size:15px; line-height:1.75; color:var(--ink-2); max-width:420px; }
.btn-careers {
  flex-shrink:0; display:inline-flex; align-items:center; gap:8px;
  padding:15px 28px; background:var(--ink); color:var(--bg);
  border-radius:8px; font-size:14px; font-weight:700; transition:opacity 0.18s;
}
.btn-careers:hover { opacity:0.82; }

/* ── FOOTER ── */
footer { border-top:1px solid var(--border); }
.foot-in {
  max-width:var(--max); margin:0 auto; padding:28px 44px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.foot-brand { display:flex; align-items:center; gap:20px; }
.foot-brand img { height:36px; width:auto; opacity:0.85; }
.foot-div { width:1px; height:24px; background:var(--border-2); }
.foot-tag { font-size:11px; font-weight:600; letter-spacing:0.18em; color:var(--ink-3); text-transform:uppercase; }
.foot-links { display:flex; align-items:center; gap:24px; }
.foot-links a, .foot-links button {
  font-size:13px; color:var(--ink-3); font-weight:500;
  transition:color 0.18s; background:none; border:none;
}
.foot-links a:hover, .foot-links button:hover { color:var(--ink); }
.foot-copy {
  max-width:var(--max); margin:0 auto; padding:12px 44px 24px;
  font-size:11px; color:var(--ink-3); letter-spacing:0.08em; text-transform:uppercase;
}

/* ── PAGE HERO (team, contact) ── */
.pg-hero {
  padding: calc(var(--hh) + 72px) 44px 56px;
  max-width:var(--max); margin:0 auto;
}
.pg-lbl {
  font-family:'Space Grotesk',sans-serif;
  font-size:22px; font-weight:700; letter-spacing:-0.01em;
  color:var(--ink-3); margin-bottom:20px;
}
.pg-hero h1 {
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(40px,5.5vw,72px); font-weight:700;
  letter-spacing:-0.05em; line-height:0.96; color:var(--ink); margin-bottom:18px;
}
.pg-hero p { font-size:16px; line-height:1.75; color:var(--ink-2); max-width:560px; }

/* ── TEAM ── */
.t-s { max-width:var(--max); margin:0 auto; padding:20px 44px 80px; }
.t-grp-lbl {
  font-family:'Space Grotesk',sans-serif;
  font-size:18px; font-weight:700; letter-spacing:-0.01em;
  color:var(--ink-3); margin-bottom:24px; padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.dir-list { display:flex; flex-direction:column; gap:0; margin-bottom:60px; }
.team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.member-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rad);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.member-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}
[data-theme="dark"] .member-card:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.35);
}
.member-av {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--bg-2);
  border: 2px solid var(--border-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  flex-shrink: 0;
}
.member-info {
  display: flex;
  flex-direction: column;
}
.member-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin-bottom: 4px;
}
.member-role {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.member-card .li-link {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-3);
  text-decoration: underline;
  width: fit-content;
  transition: color 0.18s;
}
.member-card .li-link:hover {
  color: var(--accent);
}

/* ── CONTACT FORM & LAYOUT ── */
.contact-layout {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 44px 100px;
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 64px;
  align-items: start;
}

/* Left: Contact Info Column */
.contact-info {
  padding: 8px 0;
}
.ci-ttl {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin-bottom: 12px;
}
.ci-desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-2);
  margin-bottom: 32px;
  max-width: 420px;
}
.c-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.c-line {
  display: flex;
  flex-direction: column;
}
.c-lbl {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--ink-3);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.c-val {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  transition: color 0.18s;
  word-break: break-word;
}
a.c-val:hover {
  color: var(--accent);
}
.c-val.sm {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-2);
  line-height: 1.6;
}
.c-val.plain {
  font-weight: 500;
}

/* Right: Form Card */
.f-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rad);
  padding: 40px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}
.f-card-ttl {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin-bottom: 24px;
}
.fg {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.fl {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.10em;
  color: var(--ink-3);
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.fi, .fs, .ft {
  width: 100%;
  padding: 13px 16px;
  background: var(--bg-2);
  border: 1px solid var(--border-2);
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
  color: var(--ink);
  transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;
  box-sizing: border-box;
}
.fs {
  height: 48px;
  cursor: pointer;
  appearance: auto;
}
.ft {
  height: 130px;
  min-height: 110px;
  resize: vertical;
  line-height: 1.6;
}
.fi:focus, .fs:focus, .ft:focus {
  outline: none;
  background: var(--card);
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}
[data-theme="dark"] .fi:focus,
[data-theme="dark"] .fs:focus,
[data-theme="dark"] .ft:focus {
  border-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.12);
}
.fi::placeholder, .ft::placeholder {
  color: var(--ink-3);
  opacity: 0.6;
}

/* Submit Button */
.f-btn, .f-sub {
  width: 100%;
  padding: 15px 24px;
  background: var(--ink);
  color: var(--bg);
  border-radius: 8px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: opacity 0.18s, transform 0.18s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
}
.f-btn:hover, .f-sub:hover {
  opacity: 0.88;
}
.f-btn:active, .f-sub:active {
  transform: scale(0.99);
}
.f-btn:disabled, .f-sub:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Success Card */
.f-success {
  display: none;
  text-align: center;
  padding: 40px 20px;
}
.f-success.on {
  display: block;
}
.f-success-ico {
  width: 52px;
  height: 52px;
  line-height: 52px;
  border-radius: 50%;
  background: rgba(37,99,235,0.12);
  color: var(--accent);
  font-size: 24px;
  font-weight: 700;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.f-success h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 12px;
}
.f-success p {
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.7;
}

/* ── MODALS ── */
.m-overlay {
  display:none; position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,0.55); align-items:center; justify-content:center;
  backdrop-filter:blur(6px);
}
.m-overlay.on { display:flex; }
.m-box {
  background:var(--card); border:1px solid var(--border-2);
  border-radius:var(--rad); width:min(560px,90vw); max-height:80vh;
  overflow:hidden; display:flex; flex-direction:column;
}
.m-top {
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 28px; border-bottom:1px solid var(--border);
}
.m-top h3 { font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; color:var(--ink); }
.m-x { font-size:18px; color:var(--ink-3); transition:color 0.18s; }
.m-x:hover { color:var(--ink); }
.m-body { padding:28px; overflow-y:auto; }
.m-body h4 { font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; color:var(--ink); margin-bottom:8px; margin-top:20px; }
.m-body h4:first-child { margin-top:0; }
.m-body p { font-size:14px; line-height:1.72; color:var(--ink-2); }

/* ── ANIMATIONS ── */
.header { animation:slideDown 0.7s cubic-bezier(.22,.68,0,1.2) both; }
@keyframes slideDown { from{opacity:0;transform:translateY(-100%)} to{opacity:1;transform:translateY(0)} }
.hero h1   { animation:fadeUp 0.9s cubic-bezier(.22,.68,0,1.2) 0.28s both; }
.hero-sub  { animation:fadeUp 0.9s cubic-bezier(.22,.68,0,1.2) 0.44s both; }
.hero-btns { animation:fadeUp 0.9s cubic-bezier(.22,.68,0,1.2) 0.58s both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .7s cubic-bezier(.22,.68,0,1.2), transform .7s cubic-bezier(.22,.68,0,1.2); }
.reveal.in { opacity:1; transform:translateY(0); }
.s-hd { opacity:0; transform:translateY(20px); transition:opacity .65s ease, transform .65s ease; }
.s-hd.in { opacity:1; transform:translateY(0); }
.sys-art { opacity:0; transform:translateY(22px); transition:opacity .65s cubic-bezier(.22,.68,0,1.2), transform .65s cubic-bezier(.22,.68,0,1.2), background 0.18s; }
.sys-art.in { opacity:1; transform:translateY(0); }
.sys-art:nth-child(1){transition-delay:0s} .sys-art:nth-child(2){transition-delay:.1s} .sys-art:nth-child(3){transition-delay:.2s} .sys-art:nth-child(4){transition-delay:.3s}
.eng-row { opacity:0; transform:translateX(-16px); transition:opacity .5s ease, transform .5s ease, background 0.18s; }
.eng-row.in { opacity:1; transform:translateX(0); }
.eng-row:nth-child(1){transition-delay:0s} .eng-row:nth-child(2){transition-delay:.06s} .eng-row:nth-child(3){transition-delay:.12s} .eng-row:nth-child(4){transition-delay:.18s} .eng-row:nth-child(5){transition-delay:.24s} .eng-row:nth-child(6){transition-delay:.3s} .eng-row:nth-child(7){transition-delay:.36s} .eng-row:nth-child(8){transition-delay:.42s}
.dir-card { opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.22,.68,0,1.2), transform .6s cubic-bezier(.22,.68,0,1.2), box-shadow .25s; }
.dir-card.in { opacity:1; transform:translateY(0); }
.dir-card:nth-child(1){transition-delay:0s} .dir-card:nth-child(2){transition-delay:.12s}
.eng-card { opacity:0; transform:translateY(18px); transition:opacity .6s cubic-bezier(.22,.68,0,1.2), transform .6s cubic-bezier(.22,.68,0,1.2), box-shadow .25s, transform .25s; }
.eng-card.in { opacity:1; transform:translateY(0); }
.eng-card:nth-child(1){transition-delay:0s} .eng-card:nth-child(2){transition-delay:.1s} .eng-card:nth-child(3){transition-delay:.2s}
.proj-card { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,.68,0,1.2), transform .8s cubic-bezier(.22,.68,0,1.2); }
.proj-card.in { opacity:1; transform:translateY(0); }
.about-grid > div:first-child { opacity:0; transform:translateX(-28px); transition:opacity .7s cubic-bezier(.22,.68,0,1.2), transform .7s cubic-bezier(.22,.68,0,1.2); }
.about-grid > div:last-child  { opacity:0; transform:translateX(28px);  transition:opacity .7s cubic-bezier(.22,.68,0,1.2) .14s, transform .7s cubic-bezier(.22,.68,0,1.2) .14s; }
.about-grid.in > div:first-child, .about-grid.in > div:last-child { opacity:1; transform:translateX(0); }
.tech-chip { opacity:0; transition:opacity .4s ease; }
.tech-chip.in { opacity:1; }

@media (prefers-reduced-motion:reduce) {
  .reveal,.s-hd,.sys-art,.eng-row,.dir-card,.eng-card,.proj-card,.about-grid>div,.tech-chip,
  .header,.hero h1,.hero-sub,.hero-btns { opacity:1!important; transform:none!important; animation:none!important; transition:none!important; }
}

/* ── RESPONSIVE ── */
@media (max-width:900px) {
  .s-hd { grid-template-columns:1fr; gap:20px; }
  .sys-art { grid-template-columns:1fr; gap:20px; padding:20px 0; }
  .sys-art-img { width:100%; height:240px; margin:0; }
  .sys-art-copy { padding:0; border-left:none; border-top:none; }
  .eng-row { grid-template-columns:1fr; padding:16px 0; gap:8px; }
  .eng-d { padding:0; border-left:none; }
  .eng-x { padding:0; border-left:none; border-top:none; }
  .tech-stack-grid { grid-template-columns:repeat(3,1fr); }
  .proj-card { grid-template-columns:1fr; }
  .proj-body { border-left:none; border-top:1px solid var(--border); padding:32px 28px; }
  .about-grid { grid-template-columns:1fr; gap:40px; }
  .team-grid { grid-template-columns:1fr; }
  .careers-band { flex-direction:column; align-items:flex-start; }
  .contact-layout { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:600px) {
  .header { padding:0 20px; height:66px; }
  :root { --hh:66px; }
  .h-nav { display:none; }
  .btn-contact { display:none; }
  .logo-wrap img { height:44px; }
  .s { padding:60px 20px; }
  .s-hd { padding-bottom:28px; margin-bottom:32px; }
  .hero-body { padding:calc(var(--hh) + 44px) 20px 72px; }
  .hero h1 { font-size:clamp(38px,11vw,56px); }
  .hero-btns { flex-direction:column; align-items:flex-start; gap:12px; }
  .sys-art { grid-template-columns:1fr; }
  .sys-art-n { display:none; }
  .tech-stack-grid { grid-template-columns:repeat(2,1fr); }
  .eng-team { grid-template-columns:1fr; }
  .proj-body { padding:24px 20px; }
  .pg-hero { padding:calc(var(--hh)+48px) 20px 40px; }
  .t-s { padding:20px 20px 60px; }
  .contact-layout { padding:0 20px 60px; gap:36px; }
  .f-card { padding:28px 20px; }
  .foot-in { flex-direction:column; align-items:flex-start; padding:24px 20px; }
  .foot-copy { padding:8px 20px 20px; }
  .careers-band { padding:60px 20px; }
  .fr { grid-template-columns:1fr; }
}

/* ── LEGAL PAGES (privacy, terms) ── */
.legal-body {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 44px 100px;
}
.legal-sec { margin-bottom: 44px; }
.legal-sec h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px; font-weight: 700;
  letter-spacing: -0.025em; color: var(--ink);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
.legal-sec p {
  font-size: 15px; line-height: 1.82; color: var(--ink-2);
}
@media (max-width: 600px) {
  .legal-body { padding: 0 20px 60px; }
}

/* ══ DITTO LIGHT/DARK IMAGES ══ */
.img-dark { display: none !important; width:100%; height:100%; object-fit:cover; }
.img-light { display: block !important; width:100%; height:100%; object-fit:cover; }

[data-theme="dark"] .img-dark { display: block !important; }
[data-theme="dark"] .img-light { display: none !important; }

/* Hero background light vs dark */
.hero-bg-1 {
  background-image: url('assets/system-aerial-light.jpg') !important;
  filter: brightness(0.92) saturate(1.02) !important;
}
.hero-bg-2 {
  background-image: url('assets/system-space-light.jpg') !important;
  filter: brightness(0.92) saturate(1.02) !important;
}
[data-theme="dark"] .hero-bg-1 {
  background-image: url('assets/system-aerial.jpg') !important;
  filter: brightness(0.72) saturate(0.85) !important;
}
[data-theme="dark"] .hero-bg-2 {
  background-image: url('assets/system-space.jpg') !important;
  filter: brightness(0.72) saturate(0.85) !important;
}

/* ══ MOBILE NAVIGATION BAR & HAMBURGER ══ */
.menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: var(--bg-2);
  border: 1px solid var(--border-2);
  cursor: pointer;
  padding: 0;
  gap: 5px;
  z-index: 350;
  transition: background 0.2s, border-color 0.2s;
}
.menu-toggle:hover {
  background: var(--bg-3);
}
.m-line {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: transform 0.28s ease, opacity 0.2s ease;
}

/* Hamburger to X transform */
.menu-toggle.open .m-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.menu-toggle.open .m-line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.menu-toggle.open .m-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Mobile Nav Drawer */
.mobile-nav {
  position: fixed;
  top: var(--hh);
  left: 0;
  right: 0;
  background: var(--hdr);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border);
  padding: 24px 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 290;
  transform: translateY(-120%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
  box-shadow: 0 16px 32px rgba(0,0,0,0.12);
}
.mobile-nav.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.mob-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mob-link {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--ink);
  padding: 12px 14px;
  border-radius: 8px;
  transition: background 0.18s, color 0.18s;
  display: block;
}
.mob-link:hover, .mob-link:active {
  background: var(--bg-2);
  color: var(--accent);
}
.mob-foot {
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

@media (max-width: 1040px) {
  .menu-toggle { display: flex; }
  .h-nav { display: none; }
  .btn-contact { display: none; }
}

/* ══ HERO LIGHT / DARK CONTRAST FIX ══ */
.hero-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 16px;
}
.hero-statement {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(24px, 3.2vw, 36px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-bottom: 20px;
}
.hero-statement em {
  font-style: italic;
  font-weight: 400;
  opacity: 0.85;
}

/* ── HERO ORGANIC SEAMLESS PRESENTATION ── */
.hero-body {
  position: relative !important;
  z-index: 2 !important;
  padding: calc(var(--hh) + 60px) 8vw 100px !important;
  max-width: 820px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  margin: 0 !important;
  overflow: visible !important;
}
.hero-body::before {
  display: none !important;
}

/* Light Mode: Crisp pure black text on soft natural fade */
:root:not([data-theme="dark"]) .hero {
  background: #F8FAFC !important;
  color: #000000 !important;
}
:root:not([data-theme="dark"]) .hero-fade {
  display: block !important;
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.48) 38%,
      rgba(255, 255, 255, 0.08) 65%,
      transparent 100%) !important;
  pointer-events: none;
}
:root:not([data-theme="dark"]) .hero-bg-1,
:root:not([data-theme="dark"]) .hero-bg-2 {
  filter: none !important;
}
:root:not([data-theme="dark"]) .hero-tag {
  color: #000000 !important;
  font-weight: 800 !important;
  letter-spacing: 0.22em !important;
}
:root:not([data-theme="dark"]) .hero h1 {
  color: #000000 !important;
  font-weight: 800 !important;
}
:root:not([data-theme="dark"]) .hero h1 em {
  color: #374151 !important;
}
:root:not([data-theme="dark"]) .hero-statement {
  color: #000000 !important;
  font-weight: 800 !important;
}
:root:not([data-theme="dark"]) .hero-statement em {
  color: #374151 !important;
}
:root:not([data-theme="dark"]) .hero-sub {
  color: #111827 !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  max-width: 540px !important;
}
:root:not([data-theme="dark"]) .btn-hero {
  background: #000000 !important;
  color: #FFFFFF !important;
  border: 2px solid #000000 !important;
}
:root:not([data-theme="dark"]) .btn-ghost {
  color: #000000 !important;
  border-bottom: 2px solid #000000 !important;
  font-weight: 700 !important;
}

/* Dark Mode: Crisp white text on dark cinematic fade */
[data-theme="dark"] .hero {
  background: #060810 !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .hero-fade {
  display: block !important;
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(6, 8, 16, 0.88) 0%,
      rgba(6, 8, 16, 0.52) 42%,
      rgba(6, 8, 16, 0.08) 70%,
      transparent 100%),
    linear-gradient(to top, rgba(6, 8, 16, 0.85) 0%, transparent 35%) !important;
  pointer-events: none;
}
[data-theme="dark"] .hero h1 {
  color: #FFFFFF !important;
}
[data-theme="dark"] .hero h1 em {
  color: rgba(255, 255, 255, 0.45) !important;
}
[data-theme="dark"] .hero-statement {
  color: #FFFFFF !important;
}
[data-theme="dark"] .hero-statement em {
  color: rgba(255, 255, 255, 0.70) !important;
}
[data-theme="dark"] .hero-sub {
  color: rgba(255, 255, 255, 0.85) !important;
}
[data-theme="dark"] .btn-hero {
  background: #FFFFFF !important;
  color: #0A0C18 !important;
}
[data-theme="dark"] .btn-ghost {
  color: rgba(255, 255, 255, 0.85) !important;
  border-bottom: 2px solid rgba(255, 255, 255, 0.4) !important;
}
[data-theme="dark"] .hero h1 {
  color: #FFFFFF !important;
}
[data-theme="dark"] .hero h1 em {
  color: rgba(255,255,255,0.45) !important;
}
[data-theme="dark"] .hero-statement {
  color: #FFFFFF !important;
}
[data-theme="dark"] .hero-statement em {
  color: rgba(255,255,255,0.70) !important;
}
[data-theme="dark"] .hero-sub {
  color: rgba(255,255,255,0.85) !important;
}
[data-theme="dark"] .btn-hero {
  background: #FFFFFF !important;
  color: #0A0C18 !important;
}
[data-theme="dark"] .btn-ghost {
  color: rgba(255,255,255,0.85) !important;
  border-bottom: 2px solid rgba(255,255,255,0.4) !important;
}

/* ══ VISION BANNER ══ */
.vision-banner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}
.vision-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  padding: 8px 16px;
  border-radius: 6px;
  background: var(--accent-2);
  color: var(--accent);
  text-transform: uppercase;
}
.vision-line {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--ink-2);
  text-transform: uppercase;
}

/* ══ SWARM PILLARS ══ */
.swarm-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.swarm-pillar {
  padding: 24px 20px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rad);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.swarm-pillar:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.swarm-pillar b {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  color: var(--accent);
}
.swarm-pillar span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--ink);
}

/* ══ ECOSYSTEM GRID ══ */
.eco-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.eco-card {
  padding: 32px 28px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--rad);
  transition: transform 0.2s, box-shadow 0.2s;
}
.eco-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.08);
}
.eco-status {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.20em;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.eco-card h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 12px;
}
.eco-card p {
  font-size: 14px;
  line-height: 1.72;
  color: var(--ink-2);
}

/* ══ IIT MADRAS COLLABORATION BOX ══ */
.collab-box {
  padding: 56px 48px;
  border: 1px solid var(--border);
  border-radius: var(--rad);
  background: var(--card);
}
.inst-banner {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 32px 0 28px;
  padding: 20px 24px;
  background: var(--bg-2);
  border-left: 3px solid var(--accent);
  border-radius: 4px;
}
.inst-banner strong {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  color: var(--ink);
}
.inst-banner span {
  font-size: 14px;
  color: var(--ink-2);
}
.collab-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.c-tag {
  font-size: 11.5px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 100px;
  background: var(--bg-2);
  border: 1px solid var(--border-2);
  color: var(--ink);
}
.collab-disclaimer {
  font-size: 11.5px;
  color: var(--ink-3);
  font-style: italic;
}

@media (max-width: 900px) {
  .swarm-strip { grid-template-columns: repeat(2, 1fr); }
  .eco-grid { grid-template-columns: 1fr 1fr; }
  .collab-box { padding: 36px 24px; }
}
@media (max-width: 600px) {
  .swarm-strip { grid-template-columns: 1fr; }
  .eco-grid { grid-template-columns: 1fr; }
}

/* ══ AUTHENTIC COLLAB SECTION STYLES ══ */
.collab-section {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.collab-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: start;
}
.institution {
  border-top: 2px solid var(--accent);
  margin-top: 48px;
  padding-top: 28px;
}
.institution strong {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.institution span {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  color: var(--ink-2);
}
.collab-topics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 32px;
  border-top: 1px solid var(--border);
}
.collab-topics span {
  padding: 18px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13.5px;
  color: var(--ink-2);
  display: flex;
  align-items: center;
}
.collab-topics b {
  color: var(--accent);
  font-size: 10px;
  font-weight: 700;
  margin-right: 14px;
  letter-spacing: 0.08em;
}
.collab-note {
  color: var(--ink-3);
  font-size: 12px;
  line-height: 1.7;
  margin-top: 28px;
  font-style: italic;
}

@media (max-width: 900px) {
  .collab-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
@media (max-width: 600px) {
  .collab-topics {
    grid-template-columns: 1fr;
  }
}

/* ══ TEAM PAGE CTA BAND & BTN-OUTLINE ══ */
.t-cta {
  margin: 80px auto 0;
  max-width: var(--max);
  padding: 0 44px;
}
.t-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 44px 48px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--rad);
  flex-wrap: wrap;
}
.t-cta-lbl {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.20em;
  color: var(--accent);
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.t-cta-note {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.02em;
  display: block;
}
.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  background: var(--ink);
  color: var(--bg);
  border: 1px solid var(--ink);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: opacity 0.18s, transform 0.18s;
  flex-shrink: 0;
}
.btn-outline:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .t-cta { padding: 0 20px; margin-top: 50px; }
  .t-cta-inner { flex-direction: column; align-items: flex-start; padding: 32px 24px; gap: 24px; }
  .btn-outline { width: 100%; }
}
