/* Balkeum Labs – styles.css */
:root{
  --bg:#ffffff;
  --bg-alt:#f6f9fc;
  --card:#ffffff;
  --text:#0b0f14;
  --muted:#5b6470;
  --accent-start:#00e5ff;
  --accent-end:#3a7bd5;
  --accent:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  --brand-bg:#f3faff;
  --brand-bg-2:#eaf4ff;
  --strong-bg-start:#0d2030;
  --strong-bg-end:#0a1622;
  --border:rgba(0,0,0,.08);
  --mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --radius:14px;
  --shadow:0 12px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:var(--bg),
             radial-gradient(1200px 600px at 15% -20%, rgba(0,229,255,.06), transparent 70%),
             radial-gradient(1000px 500px at 120% 20%, rgba(58,123,213,.05), transparent 70%);
  line-height:1.6;
}

/* Layout */
.container{width:min(1120px, calc(100% - 2rem)); margin:0 auto}
.section{padding:96px 0; position:relative}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.02), transparent)}
.full-viewport{min-height:100svh; display:flex; align-items:center;}

/* Header */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(140%) blur(8px); background:rgba(255,255,255,.85); border-bottom:1px solid var(--border)}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.logo{display:inline-flex; align-items:center; text-decoration:none}
.logo img{height:32px; width:auto; display:block}
.nav a{color:var(--muted); margin-left:18px; text-decoration:none; font-weight:500}
.nav a:hover{color:var(--text)}

/* Hero */
#particles{position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none}
.hero-content{max-width:900px}
.hero h1{font-size:clamp(28px, 5.2vw, 56px); line-height:1.1; margin:0 0 16px; letter-spacing:.2px}
.subhead{color:var(--muted); font-size:clamp(16px, 2.2vw, 20px); margin:0 0 28px}
.cta-group{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-block; padding:12px 18px; border-radius:10px; text-decoration:none; font-weight:600; transition:.2s transform ease, .2s box-shadow ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent); color:#ffffff; box-shadow:var(--shadow)}
.btn-ghost{border:1px solid var(--border); color:var(--text); background:rgba(0,0,0,.02)}

/* Hero badge & chips */
.hero-badge{display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.92); box-shadow:var(--shadow); color:var(--text); font-weight:600; font-size:13px; letter-spacing:.2px; margin:0 0 12px}
.hero-badge::before{content:""; width:8px; height:8px; border-radius:50%; background:radial-gradient(circle at 30% 30%, var(--accent-start), var(--accent-end)); box-shadow:0 0 0 3px rgba(0,229,255,.18)}
.hero-chips{list-style:none; display:flex; gap:10px; flex-wrap:wrap; padding:0; margin:14px 0 8px}
.chip{padding:8px 12px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.9); font-weight:600; font-size:12px; color:#0b3a5c}
@media (max-width:640px){.hero-chips{gap:6px}.chip{font-size:11px; padding:7px 10px}}

/* Partners moving gallery */
.partners{margin-top:22px; position:relative; overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:rgba(0,0,0,.02)}
.partners-track{display:flex; align-items:center; gap:34px; padding:12px 0; will-change:transform; animation:marquee 28s linear infinite}
.partners:hover .partners-track{animation-play-state:paused}
.partner{display:inline-flex; align-items:center; justify-content:center; opacity:.9; transition:opacity .2s ease}
.partner:hover{opacity:1}
.partner img{height:84px; width:auto; display:block; filter:brightness(1.2) contrast(1.05); opacity:.95}

@keyframes marquee {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* Grids */
.grid{display:grid; gap:18px}
.grid-3{grid-template-columns:repeat(3, 1fr)}
.grid-4{grid-template-columns:repeat(4, 1fr)}
.roadmap{display:grid; gap:22px; margin-top:14px; grid-template-columns:repeat(2, minmax(0, 1fr))}
@media (max-width: 960px){.grid-3{grid-template-columns:1fr 1fr}.grid-4{grid-template-columns:repeat(2, 1fr)}}
@media (max-width: 900px){.roadmap{grid-template-columns:1fr}}
@media (max-width: 640px){.grid-3,.grid-4{grid-template-columns:1fr}}

/* Cards */
.cards .card{background:var(--card); padding:20px; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--border)}
.icon{font-size:24px; opacity:.9}
.card.hover{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.card.hover:hover{transform:translateY(-4px); border-color:rgba(58,123,213,.35)}

/* Key Technologies */
.tech-cards .card{min-height:140px}

/* Theming */
.section.theme-brand{background:linear-gradient(180deg, var(--brand-bg), var(--brand-bg-2))}
.section.theme-brand .muted{color:#5b6470}
.section.theme-brand .cards .card,
.section.theme-brand .product-grid .product{background:rgba(255,255,255,.92); border:1px solid var(--border); box-shadow:0 8px 24px rgba(0,0,0,.06)}

.section.theme-strong{background:linear-gradient(180deg, var(--strong-bg-start), var(--strong-bg-end)); color:#f2f7ff}
.section.theme-strong h2,
.section.theme-strong h3{color:#ffffff}
.section.theme-strong .muted{color:#cfe0f4}
.section.theme-strong .cards .card,
.section.theme-strong .product-grid .product{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); box-shadow:0 8px 24px rgba(0,0,0,.18)}
.section.theme-strong a{color:#9edcff}
.section.theme-strong .btn-ghost{border-color:transparent; color:#0b0f14; background:#ffffff}
.section.theme-strong .btn-ghost:hover{filter:brightness(0.96)}

/* Products */
.product-grid .product{background:linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.04)); padding:22px; border:1px solid var(--border); border-radius:var(--radius)}
.product .link{color:#0b6ed1; text-decoration:none; font-weight:600}
.product .link:hover{text-decoration:underline}

/* Market chart */
.chart{margin-top:12px}
.chart .bar{--h:0; position:relative; height:280px; width:72px; background:rgba(0,0,0,.06); border-radius:10px; overflow:hidden; box-shadow:var(--shadow)}
.chart .bar::before{content:""; position:absolute; inset:calc(100% - var(--h)) 0 0 0; background:var(--accent)}
.chart .bar span{position:absolute; bottom:calc(var(--h) + 8px); left:50%; transform:translateX(-50%); font-weight:700}
.chart .caption{color:var(--muted); margin-top:10px}

/* Compare table */
.table-scroll{overflow:auto; border-radius:var(--radius); border:1px solid var(--border)}
.compare{width:100%; border-collapse:collapse; min-width:520px; background:rgba(0,0,0,.1)}
.compare th,.compare td{padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.08); text-align:left}
.compare thead th{font-size:14px; color:#cfe7ff}
.compare tbody tr.highlight{background:linear-gradient(90deg, rgba(0,229,255,.08), rgba(58,123,213,.08))}

/* Roadmap */
.roadmap{display:grid; gap:22px; margin-top:14px}
.phase{background:var(--card); border:1px solid var(--border); border-radius:14px; padding:18px}
.phase-header{display:flex; align-items:baseline; gap:10px; margin-bottom:10px}
.phase-header .icon{font-size:18px; opacity:.9}
.phase-header h3{margin:0; font-size:18px}
.phase-header .sub{color:var(--muted); font-family:var(--mono); font-size:13px}
.milestones{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.milestones li{padding:10px 12px; border-radius:10px; background:var(--bg-alt); border:1px solid var(--border)}
.milestones li.done{border-left:3px solid #4fd1ff; background:linear-gradient(90deg, rgba(0,229,255,.06), rgba(58,123,213,.04))}
.milestones li .todo{color:var(--muted); margin-left:8px}
.demo-link{color:#9edcff; text-decoration:none}
.demo-link:hover{text-decoration:underline}

/* Team */
.team-grid .member{background:var(--card); padding:18px; border-radius:var(--radius); text-align:center; border:1px solid rgba(255,255,255,.06)}
.avatar{width:72px; height:72px; border-radius:50%; margin:6px auto 10px; display:grid; place-items:center; background:radial-gradient(circle at 30% 30%, rgba(0,229,255,.35), transparent 40%), radial-gradient(circle at 70% 70%, rgba(58,123,213,.35), transparent 40%), #0f151e; color:#d8f7ff; font-weight:800}
.name{font-weight:700}
.role{font-family:var(--mono); color:#9cb1c9; font-size:14px}

/* CTA */
.section.cta{background:linear-gradient(180deg, rgba(0,229,255,.06), rgba(58,123,213,.06)); text-align:center}
.section.cta h2{font-size:clamp(22px, 4vw, 34px); margin:0 0 16px}

/* Footer */
.site-footer{border-top:1px solid var(--border); background:#ffffff}
.footer-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 0; color:var(--muted)}
.footer-inner a{color:#0b6ed1; text-decoration:none}
.footer-inner a:hover{text-decoration:underline}

/* Animations */
[data-animate]{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}
[data-animate].visible{opacity:1; transform:none}

/* Accessibility tweaks */
:focus-visible{outline:2px solid #6bdcff; outline-offset:2px; border-radius:8px}

/* Utilities */
hr{border:none; height:1px; background:rgba(255,255,255,.08)}
small, .muted{color:var(--muted)}
