:root{--bg:#050505;--panel:#0c0d10;--panel2:#121318;--text:#f5f5f2;--muted:#b9bbc2;--subtle:#838792;--line:rgba(255,255,255,.13);--red:#d11212;--red2:#7c0909;--gold:#d8b56a;--max:1180px;--shadow:0 24px 80px rgba(0,0,0,.55)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0%,rgba(209,18,18,.22),transparent 30%),radial-gradient(circle at 10% 20%,rgba(255,255,255,.05),transparent 24%),var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}.topbar{border-bottom:1px solid var(--line);background:rgba(0,0,0,.74);backdrop-filter:blur(16px);position:sticky;top:0;z-index:100}.contact-strip{font-size:13px;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.08)}.contact-strip .wrap{display:flex;justify-content:space-between;gap:18px;padding:8px 0;flex-wrap:wrap}.strip-left,.strip-right{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.badge-dot{width:4px;height:4px;background:var(--red);border-radius:50%;display:inline-block}.nav{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:14px 0}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand img{width:238px;max-height:64px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:24px;font-size:14px;color:#d9dbe1}.nav-links a{opacity:.9}.nav-links a:hover,.nav-links .active{color:#fff;opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 18px;font-weight:700;font-size:14px;border:1px solid rgba(255,255,255,.16);transition:.2s ease;white-space:nowrap}.btn-red{background:linear-gradient(135deg,var(--red),#8d0808);border-color:rgba(255,255,255,.08);box-shadow:0 14px 40px rgba(209,18,18,.25)}.btn-red:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-ghost:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.05)}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(209,18,18,.28),transparent 32%),#060607}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 100%,rgba(255,255,255,.025),transparent 35%);pointer-events:none}.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;min-height:690px;padding:84px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.eyebrow:before{content:"";width:42px;height:2px;background:var(--red)}h1,h2,h3{line-height:1.05;margin:0 0 18px}h1{font-size:clamp(42px,7vw,82px);letter-spacing:-.06em;max-width:880px}h2{font-size:clamp(30px,4.5vw,56px);letter-spacing:-.04em}h3{font-size:22px;letter-spacing:-.02em}.lead{font-size:clamp(18px,2.2vw,23px);color:#d6d8de;max-width:780px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.proof-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.proof-pill{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);padding:9px 12px;border-radius:999px;color:#e7e8ec;font-size:13px}.hero-card{position:relative;background:linear-gradient(160deg,rgba(18,19,24,.78),rgba(0,0,0,.58));border:1px solid rgba(255,255,255,.15);border-radius:30px;box-shadow:var(--shadow);padding:30px;min-height:440px;overflow:hidden}.hero-card .lion{width:78%;margin:0 auto 12px;opacity:.95;filter:drop-shadow(0 16px 50px rgba(209,18,18,.2))}.node-map{display:grid;gap:12px;margin-top:16px}.node{display:grid;grid-template-columns:94px 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(0,0,0,.25)}.node strong{color:#fff}.node span{color:var(--muted);font-size:13px}.section{padding:92px 0;border-bottom:1px solid var(--line)}.section-tight{padding:62px 0}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:start}.kicker{color:var(--red);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin-bottom:14px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:26px;min-height:100%;box-shadow:0 12px 45px rgba(0,0,0,.18)}.card .num{color:var(--red);font-weight:900;font-size:42px;line-height:1}.card p{color:var(--muted);margin:0}.method{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.step{position:relative;padding:22px;border-radius:20px;background:var(--panel);border:1px solid rgba(255,255,255,.12)}.step:before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;background:linear-gradient(90deg,var(--red),transparent)}.step h3{font-size:18px;margin-bottom:10px}.step p{font-size:14px;color:var(--muted);margin:0}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.cap{background:linear-gradient(160deg,rgba(18,19,24,.92),rgba(7,7,8,.94));border:1px solid rgba(255,255,255,.12);border-radius:28px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.25)}.cap-img{height:178px;background:radial-gradient(circle at 70% 30%,rgba(209,18,18,.4),transparent 32%),#09090b;display:flex;align-items:center;justify-content:center}.cap-img img{max-height:138px;max-width:78%;object-fit:contain;opacity:.95}.cap-body{padding:26px}.cap ul{padding-left:20px;color:#d7d8dc;margin:16px 0 0}.cap li{margin:7px 0}.terrain{background:linear-gradient(135deg,rgba(209,18,18,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);border-radius:34px;padding:30px;display:grid;grid-template-columns:1fr 280px 1fr;gap:20px;align-items:center}.terrain-col{display:grid;gap:12px}.terrain-item{padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(0,0,0,.28)}.terrain-item strong{display:block}.terrain-item span{color:var(--muted);font-size:13px}.terrain-center{border-radius:26px;background:rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.12);padding:22px;text-align:center}.terrain-center img{width:210px;margin:0 auto 12px}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch;margin-top:34px}.arrow{display:flex;align-items:center;color:var(--red);font-weight:900}.experience{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.exp-card{border-left:3px solid var(--red);padding:22px;background:rgba(255,255,255,.045);border-radius:0 20px 20px 0}.exp-card p{color:var(--muted);margin-bottom:0}.contract-strip-lg{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}.contract-pill{padding:16px;border-radius:16px;text-align:center;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-weight:800}.footer{background:#030303;padding:52px 0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:38px}.footer img{width:300px;margin-bottom:18px}.footer a,.footer p{color:var(--muted)}.footer h3{font-size:16px}.copyright{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;color:var(--subtle);font-size:13px}.page-hero{padding:86px 0 56px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 90% 0%,rgba(209,18,18,.22),transparent 28%),#060607}.page-hero h1{font-size:clamp(38px,6vw,68px)}.service-detail{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;padding:34px 0;border-bottom:1px solid var(--line)}.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.check{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}.about-profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.profile-logo{border-radius:30px;background:#000;border:1px solid rgba(255,255,255,.12);padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-weight:800;font-size:13px;color:#e9e9e9}input,textarea,select{width:100%;border:1px solid rgba(255,255,255,.14);background:#0b0c10;color:#fff;border-radius:14px;padding:14px 15px;font:inherit}textarea{min-height:150px;resize:vertical}.notice{padding:18px;border-radius:18px;border:1px solid rgba(209,18,18,.35);background:rgba(209,18,18,.08);color:#f0dede}.mobile-menu{display:none}
@media (max-width:980px){.nav{align-items:flex-start}.nav-links{display:none}.mobile-menu{display:block;color:var(--muted);font-size:13px}.brand img{width:220px}.hero .wrap,.split,.about-profile{grid-template-columns:1fr}.hero .wrap{min-height:auto;padding:70px 0}.hero-card{min-height:auto}.cards,.cap-grid,.experience{grid-template-columns:1fr}.method{grid-template-columns:repeat(2,1fr)}.terrain{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.arrow{justify-content:center;transform:rotate(90deg);padding:2px}.contract-strip-lg{grid-template-columns:repeat(2,1fr)}.service-detail{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}}
@media (max-width:560px){.wrap{width:min(100% - 28px,var(--max))}.contact-strip .wrap{gap:6px}.strip-left,.strip-right{gap:10px}.brand img{width:190px}.hero-actions{display:grid}.btn{width:100%}h1{font-size:40px}.method{grid-template-columns:1fr}.contract-strip-lg{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.node{grid-template-columns:1fr}.section{padding:70px 0}.hero-card{padding:20px}.proof-row{gap:8px}.proof-pill{font-size:12px}.footer img{width:230px}}

/* ── Polish & Enhancements (merged from v25) ──────────────────────────────── */

/* Smooth fade-in for sections */
.section, .hero, .page-hero { animation: fadeIn .6s ease-out both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Card hover micro-interaction */
.card, .cap, .exp-card, .step, .check { transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.card:hover, .cap:hover, .step:hover { transform: translateY(-3px); border-color: rgba(209,18,18,.32); }
.exp-card:hover { background: rgba(255,255,255,.06); }

/* Better link hover on nav */
.nav-links a:not(.btn) { position: relative; padding-bottom: 2px; }
.nav-links a:not(.btn):not(.active):hover::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  background: var(--red); border-radius: 2px;
}
.nav-links .active::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  background: var(--red); border-radius: 2px;
}

/* Icon accent in eyebrow/kicker */
.eyebrow svg, .kicker svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }

/* Specific framework chips */
.framework-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.framework-chip {
  padding: 7px 12px; border-radius: 8px; font-size: 12px; font-weight: 700;
  background: rgba(209,18,18,.12); border: 1px solid rgba(209,18,18,.32); color: #f4cdcd;
  letter-spacing: .04em;
}

/* Award/Recognition card */
.award-card {
  display: flex; align-items: center; gap: 18px; padding: 18px 22px;
  background: linear-gradient(135deg, rgba(216,181,106,.12), rgba(216,181,106,.04));
  border: 1px solid rgba(216,181,106,.28); border-radius: 18px; margin-top: 22px;
}
.award-icon {
  flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, #d8b56a, #b8923f);
  display: flex; align-items: center; justify-content: center; color: #1a1a1a; font-size: 22px;
  box-shadow: 0 6px 24px rgba(216,181,106,.32);
}
.award-content strong { display: block; color: #fff; font-size: 15px; margin-bottom: 2px; }
.award-content span { color: var(--muted); font-size: 13px; }

/* SBIRS / featured card */
.feature-card {
  background: linear-gradient(140deg, rgba(209,18,18,.08), rgba(255,255,255,.025));
  border: 1px solid rgba(209,18,18,.24); border-radius: 24px;
  padding: 28px; margin-top: 22px; box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.feature-card h3 { margin-bottom: 8px; }
.feature-card .feature-meta { color: var(--red); font-weight: 800; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; }

/* Mobile drawer */
.mobile-toggle {
  display: none; background: none; border: 1px solid rgba(255,255,255,.18); border-radius: 10px;
  padding: 8px 12px; color: #fff; cursor: pointer; font: inherit;
}
.mobile-toggle:hover { border-color: var(--red); }
.mobile-drawer {
  display: none; position: fixed; inset: 0; background: rgba(5,5,5,.96); backdrop-filter: blur(18px);
  z-index: 200; padding: 80px 28px 28px;
}
.mobile-drawer.open { display: block; }
.mobile-drawer .close-btn {
  position: absolute; top: 18px; right: 22px; background: none; border: none; color: #fff; font-size: 28px; cursor: pointer;
}
.mobile-drawer a {
  display: block; padding: 16px 0; color: #fff; font-size: 20px; font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.mobile-drawer a:hover { color: var(--red); }
.mobile-drawer .btn { margin-top: 22px; width: 100%; }

@media (max-width: 980px) {
  .mobile-toggle { display: inline-flex; }
  .mobile-menu { display: none !important; }
}

/* Form polish */
input:focus, textarea:focus, select:focus {
  outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(209,18,18,.2);
}
.btn:active { transform: translateY(1px) scale(.99); }

/* Section header anchor accent */
h2 .accent-bar {
  display: inline-block; width: 36px; height: 4px; background: var(--red); border-radius: 2px;
  vertical-align: middle; margin-right: 12px;
}

/* Footer polish */
.footer h3 { color: #fff; }
.footer a:hover { color: var(--red); }
.footer .proof-pill { font-size: 12px; padding: 7px 11px; }

/* Larger lion on hero card */
.hero-card .lion { transition: transform .8s ease; }
.hero-card:hover .lion { transform: scale(1.03); }

/* Page hero stronger contrast */
.page-hero {
  background: radial-gradient(circle at 90% -10%, rgba(209,18,18,.32), transparent 35%),
              linear-gradient(180deg, rgba(0,0,0,.85), #060607);
}

/* About profile lion glow */
.profile-logo {
  background: radial-gradient(circle at center, rgba(209,18,18,.18), transparent 60%), #000;
  position: relative;
}

/* Better spacing on small */
@media (max-width: 560px) {
  h2 { font-size: 30px !important; }
  .section { padding: 56px 0; }
  .hero .wrap { padding: 50px 0; }
}

/* ── Capability cards without lion images (post-cleanup) ──────────────── */
.cap { padding: 0; }
.cap-body { padding: 32px 28px; position: relative; }
.cap-body:before {
  content: "";
  position: absolute;
  top: 0; left: 28px; right: 28px; height: 3px;
  background: linear-gradient(90deg, var(--red), transparent);
  border-radius: 0 0 3px 3px;
}
.cap-body h3 { margin-top: 8px; }
.cap-body ul { padding-left: 20px; color: #d7d8dc; margin: 16px 0 0; }
.cap-body li { margin: 7px 0; }

/* ── Hero cyber composition: SVG cyber bg + lion overlay ───────────────── */
.hero-cyber {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 600px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-cyber .cyber-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-cyber .hero-lion-img {
  position: relative;
  z-index: 2;
  width: 64%;
  max-width: 380px;
  filter: drop-shadow(0 20px 60px rgba(209,18,18,.45))
          drop-shadow(0 0 40px rgba(209,18,18,.25));
  animation: lionPulse 6s ease-in-out infinite;
}
@keyframes lionPulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-6px) scale(1.015); }
}
@media (max-width: 980px) {
  .hero-cyber {
    max-width: 440px;
    margin: 0 auto;
  }
  .hero-cyber .hero-lion-img {
    width: 60%;
    max-width: 280px;
  }
}
@media (max-width: 560px) {
  .hero-cyber { max-width: 340px; }
}
