:root{
  --bg:#0b1020;--bg2:#0e1430;--panel:rgba(255,255,255,0.06);--ink:#e8ebf4;--muted:#a8b3cf;
  --brand:#7c6cff;--brand2:#60a5fa;--border:rgba(148,163,184,0.18);--shadow:0 10px 30px rgba(0,0,0,.35);

  /* fluid defaults */
  --space:clamp(12px,2.5vw,20px);
  --radius:clamp(10px,1.6vw,16px);
  --radius-lg:clamp(14px,2vw,20px);
}

/* =============== Base & Utilities =============== */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:radial-gradient(1200px 500px at 100% -20%,#182045,transparent 60%),linear-gradient(180deg,var(--bg),#0a0f1f);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1160px;margin:0 auto;padding:0 var(--space)}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:12px;top:12px;z-index:999;background:#fff;color:#000;padding:8px 10px;border-radius:8px}
:focus-visible{outline:2px solid color-mix(in oklab, var(--brand) 70%, white 30%);outline-offset:2px;border-radius:8px}
.responsive-media{width:100%;height:auto;border-radius:12px}

/* Optional: wider tap targets on lists/links */
.trust li{padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.04)}

/* =============== Header / Navigation =============== */

/* Buttons */
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:800;
  border-radius:12px;
  padding:12px 16px;
  border:1px solid var(--border);
  background:var(--panel);
  cursor:pointer;
  min-height:44px;
  transition:background .2s ease, transform .15s ease;
  text-decoration:none;
}

.btn:hover {
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}

.btn--primary {
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  border-color:transparent;
  color:#fff;
}

.btn--primary:hover {
  filter:brightness(1.1);
}

.btn--ghost {
  background:transparent;
  border:1px solid var(--border);
  color:var(--ink);
}

.btn--ghost:hover {
  background:var(--panel);
}





.topbar{
  position:sticky; top:0; z-index:40;
  background:rgba(10,12,26,.6);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  min-height:64px; padding-inline:var(--space);
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800}
.brand__logo{
  display:grid; place-items:center; width:28px; height:28px; border-radius:8px;
  background:linear-gradient(135deg,var(--brand),var(--brand2)); box-shadow:var(--shadow)
}

/* Desktop menu (≥901px) */
.nav--desktop { display:none; }
.nav--desktop .menu{
  display:flex; gap:12px; list-style:none; margin:0; padding:0; flex-wrap:wrap;
}
.nav--desktop .menu a{
  padding:10px 12px; border-radius:10px; white-space:nowrap;
}
.nav--desktop .menu a:hover,
.nav--desktop .menu a.active{ background:var(--panel) }

/* Mobile toggle (≤900px) */
.nav__toggle{
  display:inline-grid; place-items:center;
  width:38px; height:34px; border-radius:10px;
  border:1px solid var(--border);
  background:var(--panel);
}
.nav__toggle svg rect{ fill:var(--ink); opacity:.9 }

/* Drawer menu (≤900px) */
.menu--drawer{
  position: fixed; top: 0; right: -100%;
  height: 100vh; width: min(86%, 340px);
  padding: 80px 20px 20px;
  background:#0f172a;
  border-left:1px solid var(--border);
  box-shadow: var(--shadow);
  transition: right .25s ease;
  z-index: 60;
}
.menu--drawer.open{ right:0; }
.menu--drawer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.menu--drawer a{ font-size:1.05rem; padding:14px 12px; border-radius:12px; display:block; }
.menu--drawer a:hover{ background:var(--panel); }

/* Backdrop */
.nav__scrim{
  position:fixed; inset:0;
  background:rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  opacity:0; pointer-events:none;
  transition:opacity .2s ease; z-index:50;
}
.nav__scrim.show{ opacity:1; pointer-events:auto; }

/* Prevent page scroll when drawer open */
body.noscroll { overflow: hidden; }

/* Show desktop / hide mobile pieces ≥901px */
@media (min-width:901px){
  .nav--desktop{ display:block; }
  .nav__toggle{ display:none; }
  .menu--drawer{ display:none; }
}

/* =============== Sections / Hero =============== */
.section{padding:clamp(56px,8vw,100px) 0}
.display{font-size:clamp(1.9rem,4.8vw,3.2rem);line-height:1.1;margin:.2rem 0 .8rem}
.lead{font-size:clamp(1rem,2.4vw,1.25rem);color:#d7dbeb;max-width:72ch}

.hero{position:relative;overflow:hidden}
.hero__wrap{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(18px,3vw,32px);
  align-items:center;
}
.trust{display:flex;gap:12px;flex-wrap:wrap;list-style:none;margin:16px 0 0;padding:0;color:var(--muted)}
.hero__art{position:relative;min-height:360px}
.blob{position:absolute;filter:blur(40px);opacity:.7}
.blob--1{width:320px;height:320px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#7c6cff,transparent 60%),#7c6cff;left:-40px;top:-20px;animation:float 8s ease-in-out infinite}
.blob--2{width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at 60% 40%,#60a5fa,transparent 60%),#60a5fa;right:-30px;bottom:-20px;animation:float 9s ease-in-out infinite reverse}
@keyframes float{50%{transform:translateY(-12px) scale(1.02)}}

/* Glass cards */
.glass{position:relative;margin:10px auto;max-width:520px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow)}
.glass__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0}
.glass__card{background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:14px;padding:12px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#1e293b;font-weight:800;color:#c7d2fe;font-size:.78rem}
.badge--alt{color:#bbf7d0;background:#052e1e}
.grad--hero{position:absolute;inset:0;background:radial-gradient(800px 400px at 100% 0,rgba(124,108,255,.18),transparent 60%);pointer-events:none}

/* =============== Tools Layout =============== */
.appgrid{
  display:grid;
  grid-template-columns:280px 1.1fr .9fr;
  gap:20px;
  margin-top:20px;
}
.card.panel{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.toolnav{display:grid;gap:8px;margin:10px 0 14px}
.tab{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.04);text-align:left;font-weight:700;cursor:pointer}
.tab.active{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent}
.input,.textarea,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#0f172a;color:var(--ink);outline:none;min-height:44px}
.textarea{min-height:140px;resize:vertical}
.label{font-weight:700;margin:6px 0}
.label.sm{font-size:.86rem;color:var(--muted)}
.range-hint{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-top:6px}
.mt-2{margin-top:10px}
.grid{display:grid;gap:12px;margin:12px 0}
.g1{grid-template-columns:1fr}
.g2{grid-template-columns:1fr 1fr}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.outputbox{min-height:300px;background:#0c1328;border-radius:12px;padding:14px;line-height:1.55;font-family:ui-monospace, SFMono, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;white-space:pre-wrap}
.toast{padding:10px;border-radius:12px;background:#0b132b;border:1px solid var(--border);color:#cbd5e1}
.loader{display:none;align-items:center}
.loader.show{display:inline-flex}
.dots{display:inline-flex;gap:4px;margin-left:6px}
.dots i{width:6px;height:6px;border-radius:50%;background:#cbd5e1;opacity:.6;animation:pulse 1.2s infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes pulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}

/* =============== Footer =============== */
.site-footer{border-top:1px solid var(--border);background:#0f172a}
.footer__wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:36px 0}
.footnote{border-top:1px solid var(--border);padding:12px 0;color:var(--muted);text-align:center}

/* =============== Responsive Breakpoints =============== */

/* XL → L fallback for huge screens */
@media (min-width:1400px){
  .container{max-width:1280px}
}

/* ≤ 1100px: collapse tool grid, give hero more space */
@media (max-width:1100px){
  .appgrid{grid-template-columns:1fr}
  .hero__wrap{grid-template-columns:1fr;gap:28px}
  .hero__copy{text-align:center}
  .cta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
  .glass{max-width:640px}
}

/* ≤ 900px: tighten paddings; mobile nav uses drawer */
@media (max-width:900px){
  .topbar__inner{min-height:60px}
  .footer__wrap{grid-template-columns:1fr 1fr}
}

/* ≤ 780px: 2-col → 1-col blocks */
@media (max-width:780px){
  .g2{grid-template-columns:1fr}
  .glass__row{grid-template-columns:1fr}
  .hero__art{min-height:300px}
  .blob--1{width:260px;height:260px;left:-30px;top:-10px}
  .blob--2{width:220px;height:220px;right:-20px;bottom:-10px}
}

/* ≤ 560px: mobile comfort sizing & stacking */
@media (max-width:560px){
  :root{ --space:16px }
  .section{padding:52px 0}
  .display{font-size:clamp(1.7rem,7.5vw,2.2rem)}
  .lead{font-size:1rem}
  .trust{gap:10px}
  .btn{width:100%;justify-content:center}
  .cta{display:grid;grid-template-columns:1fr;gap:10px}
  .glass{padding:12px;border-radius:16px}
  .glass__card{padding:10px}
  .input,.textarea,select{min-height:46px}
  .footer__wrap{grid-template-columns:1fr;gap:16px}
}

/* ≤ 380px: micro screens */
@media (max-width:380px){
  .badge{font-size:.72rem}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ===== Ventures ===== */
.ventures-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-bottom:18px;
}
.vgrid{
  display:grid; gap:16px;
  grid-template-columns: 1fr;
}
@media (min-width:640px){ .vgrid{ grid-template-columns: repeat(2, 1fr); } }
@media (min-width:1024px){ .vgrid{ grid-template-columns: repeat(4, 1fr); } }

.vcard{
  text-align:center;
  background: var(--panel);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.vcard:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
  border-color: color-mix(in oklab, var(--border) 60%, white 40%);
  background: color-mix(in oklab, var(--panel) 88%, white 12%);
}

.vlogo{
  width:72px; height:72px; border-radius:999px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#fff; margin:0 auto 12px;
}
.vlogo img{ width:100%; height:100%; object-fit:cover; }

.vtitle{ font-size:18px; margin:6px 0 4px; }
.vdesc{ font-size:14px; color: var(--muted); min-height:54px; }

.vlink{
  display:inline-block; margin-top:10px;
  color:#fff; font-weight:800; text-decoration:none;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  padding:10px 12px; border-radius:12px;
  border: 1px solid transparent;
}
.vlink:hover{ filter:brightness(1.06); }

