:root{
  --bg0:#06070b;
  --bg1:#070a12;
  --text:#e9eef8;
  --muted:#a8b4ca;
  --muted2:#90a0bc;
  --border: rgba(255,255,255,.10);
  --border2: rgba(255,255,255,.14);
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --shadow: rgba(0,0,0,.45);
  --accentA:#ff4d5e;
  --accentB:#27c2ff;
  --radius:22px;
  --radius2:28px;
  --max:1160px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background:
    radial-gradient(1100px 650px at 18% 72%, rgba(255,77,94,.22), transparent 60%),
    radial-gradient(900px 600px at 78% 22%, rgba(39,194,255,.18), transparent 62%),
    radial-gradient(650px 480px at 55% 55%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
.container{width:min(var(--max), calc(100% - 44px)); margin:0 auto;}
.noise{
  position:fixed; inset:0; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='280' height='280' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size:280px 280px;
}

.btn{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding:10px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow: 0 14px 30px rgba(0,0,0,.25);
  user-select:none;
  white-space:nowrap;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.20);}
.btn-primary{
  border:0;
  background: linear-gradient(90deg, var(--accentA), var(--accentB));
  color:#071018;
}
.w100{width:100%}
.mt8{margin-top:8px}
.mt14{margin-top:14px}
.muted{color:var(--muted)}
.small{font-size:12.5px}

/* MARKETING */
.site-header{
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(8,10,16,.78), rgba(8,10,16,.42));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:18px;}
.brand{display:flex; align-items:center; gap:12px;}
.logo-wrap{
  width:66px; height:66px; /* BIGGER */
  border-radius:16px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  display:grid; place-items:center;
  overflow:hidden;
}
.logo-wrap img{width:100%; height:100%; object-fit:contain; padding:8px;}
.title strong{font-size:14px; font-weight:800;}
.title span{font-size:12px;color:var(--muted);}

.hero{padding:44px 0 24px}
.hero-grid{display:grid; grid-template-columns: 1.06fr .94fr; gap:26px; align-items:stretch}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}}
.pill{display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border-radius:999px;
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); color:var(--muted); font-size:12px;}
.dot{width:9px;height:9px;border-radius:50%; background:var(--accentA); box-shadow: 0 0 0 6px rgba(255,77,94,.10);}
h1{margin:14px 0 10px; font-size:54px; line-height:1.02; letter-spacing:-.8px;}
@media(max-width:540px){h1{font-size:40px}}
.lead{color:var(--muted); font-size:14px; line-height:1.6; max-width:56ch; margin:0 0 18px;}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:16px 0 12px;}
.tagrow{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;}
.tag{font-size:12px;color:var(--muted); padding:9px 12px; border-radius:999px; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);}

.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px;}
@media(max-width:720px){.grid-2{grid-template-columns:1fr}}
.card{
  background: radial-gradient(900px 400px at 30% 18%, rgba(255,255,255,.08), transparent 55%), rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  padding:16px;
  box-shadow: 0 26px 70px rgba(0,0,0,.35);
}
.card h3{margin:0 0 6px; font-size:13px}
.card p{margin:0; color:var(--muted); font-size:12.5px; line-height:1.55}

.preview{
  padding:18px; border-radius:var(--radius2);
  background:
    radial-gradient(880px 520px at 18% 20%, rgba(255,255,255,.10), transparent 56%),
    radial-gradient(760px 520px at 70% 74%, rgba(255,77,94,.16), transparent 55%),
    radial-gradient(720px 520px at 80% 18%, rgba(39,194,255,.12), transparent 58%),
    rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 34px 90px rgba(0,0,0,.40);
}
.seg-top{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px}
.badge{display:inline-flex; align-items:center; gap:10px; padding:8px 10px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); font-size:12px; color:var(--muted);}
.badge strong{
  color:#0b0f14;
  background: linear-gradient(90deg, var(--accentA), var(--accentB));
  padding:6px 10px; border-radius:999px; font-size:12px; letter-spacing:.2px;
}
.laptop{margin-top:12px; background: rgba(0,0,0,.12); border:1px solid rgba(255,255,255,.10);
  border-radius:22px; padding:14px; position:relative; overflow:hidden;}
.mockup-img{width:100%; height:auto; border-radius:16px; border:1px solid rgba(255,255,255,.10); display:block;
  box-shadow:0 20px 60px rgba(0,0,0,.45);}
.mini-actions{display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:12px;}
.preview-note{margin-top:12px; color:var(--muted2); font-size:12.5px; line-height:1.55}

.footer{padding:26px 0 34px; font-size:12px; color:rgba(168,180,202,.75)}
.footerbar{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.08); padding-top:16px}

/* AUTH */
.auth-wrap{min-height:100vh; display:grid; place-items:center; padding:24px}
.auth-card{
  width:min(520px, 100%);
  padding:18px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
}
.auth-top{display:flex; gap:14px; align-items:center}
.auth-logo{width:78px; height:78px; object-fit:contain; background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:10px;}
.auth-title{font-weight:900; letter-spacing:-.2px}
.auth-sub{color:var(--muted); font-size:12.5px}
.auth-error{margin-top:12px; padding:10px 12px; border-radius:14px; border:1px solid rgba(255,77,94,.35);
  background: rgba(255,77,94,.10); color:#ffd7db; font-size:13px;}
.auth-form{margin-top:14px; display:grid; gap:10px}
.auth-label{font-size:12px; color:var(--muted)}
.auth-input{
  width:100%;
  padding:14px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.14);
  color: var(--text);
  outline:none;
  font-size:13px;
}
.auth-fine{color:var(--muted); font-size:12px; margin-top:6px; line-height:1.6}
.auth-links{margin-top:12px}
.auth-link{color:rgba(39,194,255,.9); font-size:12.5px}

/* DEMO SHELL */
.demo-body{background: #05060a;}
.demo-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns: 300px 1fr;
}
@media(max-width:980px){.demo-shell{grid-template-columns: 1fr} .demo-sidebar{position:relative}}
.demo-sidebar{
  padding:16px;
  border-right:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(10,12,18,.92), rgba(6,7,11,.92));
  position:sticky; top:0; height:100vh;
}
.demo-main{padding:22px; background: radial-gradient(860px 520px at 25% 20%, rgba(255,255,255,.06), transparent 60%), rgba(0,0,0,.16);}

.demo-brand{display:flex; gap:12px; align-items:center; margin-bottom:14px}
.demo-logo-wrap{
  width:88px; height:88px; /* BIGGER LOGO HERE (fix screenshot issue) */
  border-radius:18px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  display:grid; place-items:center; overflow:hidden;
}
.demo-logo{width:100%; height:100%; object-fit:contain; padding:12px}
.demo-product{font-weight:950; letter-spacing:-.2px}
.demo-sub{color:var(--muted); font-size:12.5px}

.demo-nav{display:grid; gap:10px; margin-top:10px}
.demo-navlink{
  padding:12px 12px; border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: rgba(233,238,248,.92);
  font-weight:700;
  font-size:13px;
}
.demo-navlink.active{border-color: rgba(39,194,255,.35); background: rgba(39,194,255,.10);}
.demo-sidecard{
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
}
.kicker{color:var(--muted); font-size:12px}
.value{margin-top:6px; font-weight:800}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}
.demo-sidebottom{position:absolute; left:16px; right:16px; bottom:16px}

.topbar{display:flex; justify-content:space-between; gap:14px; align-items:flex-start; flex-wrap:wrap; margin-bottom:14px}
.h1{font-size:24px; font-weight:950; letter-spacing:-.3px}
.sub{color:var(--muted); font-size:12.5px}
.topbar-actions{display:flex; gap:10px; flex-wrap:wrap}
.search{display:flex; gap:10px; flex-wrap:wrap}
.search input{padding:12px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.15); color:var(--text)}

.panel{
  padding:16px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 28px 80px rgba(0,0,0,.35);
}
.panel-top{display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:12px}
.panel-title{font-weight:900}
.link{color:rgba(39,194,255,.95); font-size:12.5px}

.grid-4{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px}
@media(max-width:980px){.grid-4{grid-template-columns: repeat(2, 1fr)}}
@media(max-width:520px){.grid-4{grid-template-columns: 1fr}}

.grid-2x{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
@media(max-width:980px){.grid-2x{grid-template-columns:1fr}}

.stat{padding:14px; border-radius:18px; background: rgba(0,0,0,.14); border:1px solid rgba(255,255,255,.10)}
.stat .label{color:var(--muted); font-size:12px}
.stat .big{font-size:26px; font-weight:950; letter-spacing:-.5px}

.pill-mini{display:inline-flex; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:900; width:fit-content; margin-top:8px}
.pill-mini.danger{background: rgba(255,77,94,.18); border:1px solid rgba(255,77,94,.35); color:#ffd7db}

/* Findings */
.finding-list{display:grid; gap:10px}
.finding-item{
  display:flex; gap:12px; align-items:flex-start;
  padding:12px; border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
}
.finding-item:hover{border-color: rgba(39,194,255,.35)}
.finding-item.nohover:hover{border-color: rgba(255,255,255,.10)}
.sev{
  min-width:92px;
  padding:8px 10px;
  border-radius:999px;
  font-weight:950;
  font-size:12px;
  text-align:center;
  border:1px solid rgba(255,255,255,.08);
}
.sev.critical{background: rgba(255,77,94,.18); border-color: rgba(255,77,94,.35)}
.sev.high{background: rgba(255,163,77,.16); border-color: rgba(255,163,77,.32)}
.sev.medium{background: rgba(39,194,255,.14); border-color: rgba(39,194,255,.30)}
.sev.low{background: rgba(255,255,255,.10)}
.finding-title{font-weight:900}
.finding-meta{margin-top:4px; color:var(--muted); font-size:12.5px}

.finding-table{display:grid; gap:10px}
.finding-row{
  display:grid; grid-template-columns: 120px 120px 1fr 120px 90px;
  gap:10px;
  align-items:center;
  padding:12px 12px;
  border-radius:18px;
  background: rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.10);
}
@media(max-width:980px){.finding-row{grid-template-columns:1fr}}
.finding-row:hover{border-color: rgba(39,194,255,.35)}
.finding-row .title{font-weight:850}
.finding-row .link{justify-self:end}

/* Assets */
.asset-list{display:grid; gap:10px}
.asset-row{
  display:grid; grid-template-columns: 1fr 1fr 100px;
  gap:10px; align-items:center;
  padding:12px;
  border-radius:18px;
  background: rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.10);
}
.asset-name{font-weight:850}
.asset-tags{display:flex; gap:8px; flex-wrap:wrap}
.chip{
  display:inline-flex; padding:6px 10px; border-radius:999px;
  font-size:12px; color:var(--muted);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.asset-risk{font-weight:950; text-align:right}
.asset-risk.high{color:#ffb3ba}
.asset-risk.medium{color:#b6e4ff}

.asset-table{display:grid; gap:10px}
.asset-row2{
  display:grid;
  grid-template-columns: 110px 1fr 1fr 110px;
  gap:12px; align-items:center;
  padding:12px;
  border-radius:18px;
  background: rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.10);
}
@media(max-width:980px){.asset-row2{grid-template-columns:1fr}}
.asset-name2{font-weight:950}

/* Code blocks */
.codeblock{
  margin:0;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  overflow:auto;
  color: rgba(233,238,248,.96);
  line-height:1.6;
}
.bodytext{color: rgba(233,238,248,.92); line-height:1.65; font-size:13px}
.refs{margin-top:14px}
.chips{display:flex; gap:10px; flex-wrap:wrap}

/* Roadmap */
.roadmap{display:grid; gap:12px; margin-top:10px}
.road-step{display:flex; gap:12px; align-items:flex-start; padding:12px; border-radius:18px;
  border:1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.14);}
.road-step .num{width:36px;height:36px;border-radius:12px;
  display:grid; place-items:center; font-weight:950;
  background: linear-gradient(90deg, var(--accentA), var(--accentB));
  color:#071018;}
.road-title{font-weight:950}

/* Executive report */
.report-header{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap}
.report-title{font-weight:950; font-size:16px}
.report-score{padding:12px; border-radius:18px; background: rgba(0,0,0,.14); border:1px solid rgba(255,255,255,.10); min-width:200px}


/* =========================
   Header brand logo sizing
   ========================= */
.site-header .brand{
  display:flex;
  align-items:center;
  gap:14px;
}

/* Make logo bigger + more visible */
.site-header .brand .logo-wrap{
  width:78px;
  height:78px;
  border-radius:18px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 36px rgba(0,0,0,.45);
  flex: 0 0 auto;
}

.site-header .brand .logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  display:block;
}

/* Mobile: slightly smaller so header doesn’t feel cramped */
@media (max-width: 540px){
  .site-header .brand .logo-wrap{
    width:64px;
    height:64px;
    border-radius:16px;
  }
}

