:root {
    --lab-bg: #f8fafc;
    --lab-dark: #0f172a;
    --lab-panel: #ffffff;
    --lab-accent: #3b82f6;
    --lab-grid: #e2e8f0;
    --text-dim: #64748b;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background-color: var(--lab-bg);
    color: var(--lab-dark);
    font-family: 'SF Pro Display', -apple-system, sans-serif;
    line-height: 1.6;
}

/* Precision Grid Background */
body::before {
    content: ''; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background-image: 
        linear-gradient(var(--lab-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--lab-grid) 1px, transparent 1px);
    background-size: 30px 30px;
    z-index: -1; opacity: 0.5;
}

a { text-decoration: none; color: inherit; transition: 0.3s; }

/* Wrapper - strict margins */
.wrapper { max-width: 1200px; margin: 0 auto; background: var(--lab-panel); min-height: 100vh; border-left: 1px solid var(--lab-grid); border-right: 1px solid var(--lab-grid); box-shadow: 0 0 50px rgba(0,0,0,0.02);}

/* Header */
.header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 30px 50px; border-bottom: 1px solid var(--lab-grid);
}
.brand { font-size: 24px; font-weight: 800; letter-spacing: -1px; display: flex; align-items: center; gap: 10px;}
.brand::before { content: ''; width: 12px; height: 12px; background: var(--lab-accent); border-radius: 2px; }
.nav-links { display: flex; gap: 30px; }
.nav-links a { font-size: 14px; font-weight: 600; color: var(--text-dim); }
.nav-links a:hover { color: var(--lab-accent); }
.dl-btn { background: var(--lab-dark); color: #fff; padding: 10px 20px; font-size: 13px; font-weight: bold; border-radius: 4px;}

/* Layout Structure: Hero top, then a 3-column tight grid for the rest */
.hero { padding: 80px 50px; text-align: center; border-bottom: 1px solid var(--lab-grid); background: linear-gradient(180deg, rgba(59, 130, 246, 0.05) 0%, transparent 100%);}
.hero h1 { font-size: 56px; font-weight: 800; letter-spacing: -2px; margin-bottom: 20px; line-height: 1.1;}
.hero p { font-size: 18px; color: var(--text-dim); max-width: 700px; margin: 0 auto 40px;}
.h-acts { display: flex; gap: 20px; justify-content: center; }
.btn-primary { background: var(--lab-accent); color: #fff; padding: 15px 40px; font-weight: bold; font-size: 16px; border-radius: 4px; box-shadow: 0 10px 20px rgba(59,130,246,0.2);}
.btn-outline { border: 2px solid var(--lab-grid); color: var(--lab-dark); padding: 13px 40px; font-weight: bold; font-size: 16px; border-radius: 4px;}
.btn-outline:hover { border-color: var(--lab-dark); }

/* Main Grid */
.main-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; }

/* Grid Cells */
.cell { padding: 40px; border-bottom: 1px solid var(--lab-grid); border-right: 1px solid var(--lab-grid); }
.cell:nth-child(3n) { border-right: none; }
.cell.span-2 { grid-column: span 2; }
.cell.span-3 { grid-column: span 3; border-right: none; }

.c-title { font-size: 14px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-dim); margin-bottom: 30px; font-weight: 700; display: flex; align-items: center; gap: 10px;}
.c-title::before { content: ''; width: 4px; height: 15px; background: var(--lab-accent); }

/* Trust List */
.t-list { display: flex; flex-direction: column; gap: 15px; }
.t-list div { font-size: 15px; font-weight: 600; display: flex; justify-content: space-between;}
.t-list div span { color: var(--lab-accent); }

/* Stats */
.s-item { margin-bottom: 25px; }
.s-item:last-child { margin-bottom: 0; }
.s-item b { display: block; font-size: 32px; font-weight: 800; line-height: 1; margin-bottom: 5px; color: var(--lab-dark);}
.s-item span { font-size: 12px; color: var(--text-dim); text-transform: uppercase; }

/* Features */
.f-item { margin-bottom: 30px; }
.f-item h3 { font-size: 18px; margin-bottom: 10px; color: var(--lab-dark); }
.f-item p { font-size: 14px; color: var(--text-dim); }

/* Nodes - Data table style */
.n-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.n-table td { padding: 12px 0; border-bottom: 1px solid var(--lab-grid); }
.n-table tr:last-child td { border-bottom: none; }
.n-table td:last-child { text-align: right; color: var(--text-dim); font-family: monospace; }

/* Reviews */
.r-box { margin-bottom: 30px; }
.r-box .s { color: var(--lab-accent); font-size: 12px; margin-bottom: 10px; }
.r-box p { font-size: 15px; margin-bottom: 10px; font-weight: 500;}
.r-box b { font-size: 12px; color: var(--text-dim); }

/* FAQ */
.q-box { margin-bottom: 20px; border: 1px solid var(--lab-grid); border-radius: 4px;}
.q { padding: 15px 20px; font-size: 14px; font-weight: 600; cursor: pointer; background: var(--lab-bg); display: flex; justify-content: space-between;}
.a { padding: 20px; font-size: 14px; color: var(--text-dim); display: none; border-top: 1px solid var(--lab-grid); }

.footer { padding: 30px 50px; text-align: center; font-size: 12px; color: var(--text-dim); text-transform: uppercase; letter-spacing: 1px;}

@media (max-width: 900px) {
    .header { flex-direction: column; gap: 20px; padding: 20px; }
    .nav-links { display: none; }
    .hero h1 { font-size: 40px; }
    .main-grid { grid-template-columns: 1fr; }
    .cell { border-right: none !important; padding: 30px 20px; }
    .cell.span-2, .cell.span-3 { grid-column: span 1; }
}