@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700;900&display=swap');
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
	font-family: 'Roboto Mono', monospace;
	background: #0a0a0a;
	color: #e0e0e0;
	overflow-x: hidden;
	min-height: 100vh;
}
body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15) 1px, transparent 1px, transparent 2px); pointer-events: none; z-index: 1000; }
body::after { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px); background-size: 50px 50px; pointer-events: none; z-index: 0; }
.container { max-width: 1400px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 1; }
nav { padding: 30px 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #1a1a1a; margin-bottom: 80px; position: relative; }
.logo { font-size: 2em; font-weight: 900; letter-spacing: 6px; background: linear-gradient(90deg, #ff0000, #0066ff, #ffa500); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.nav-links { display: flex; gap: 40px; font-size: 0.9em; }
.nav-link { color: #666; text-decoration: none; text-transform: uppercase; letter-spacing: 2px; transition: color 0.3s; cursor: pointer; padding: 16px 0; }
.nav-link:hover { color: #0066ff; }
.hamburger { display: none; flex-direction: column; justify-content: center; align-items: center; width: 40px; height: 40px; cursor: pointer; z-index: 1001; }
.hamburger span { display: block; width: 28px; height: 4px; background: #666; margin: 4px 0; border-radius: 2px; transition: background 0.3s; }
@media (max-width: 900px) {
	.nav-links { display: none; position: absolute; top: 70px; right: 0; background: #181818; flex-direction: column; gap: 0; width: 100vw; box-shadow: 0 8px 32px rgba(0,0,0,0.3); border-bottom: 1px solid #222; }
	.nav-links.open { display: flex; }
	.nav-link { padding: 20px; border-bottom: 1px solid #222; font-size: 1.2em; }
	.hamburger { display: flex; }
}
@media (max-width: 600px) {
	.logo { font-size: 1.3em; }
	nav { padding: 18px 0; margin-bottom: 40px; }
}
.hero { text-align: center; padding: 80px 0 120px 0; position: relative; }
.hero-title { font-size: 5em; font-weight: 900; letter-spacing: 8px; margin-bottom: 30px; line-height: 1.2; }
.hero-subtitle { font-size: 1.4em; color: #666; letter-spacing: 4px; text-transform: uppercase; margin-bottom: 20px; }
.hero-description { font-size: 1.1em; color: #999; max-width: 800px; margin: 0 auto 50px auto; line-height: 1.8; }
.trinity-badge { display: inline-flex; gap: 20px; margin-bottom: 40px; }
.badge { padding: 12px 24px; border: 2px solid; font-size: 0.85em; text-transform: uppercase; letter-spacing: 2px; font-weight: 700; }
.badge.foundation { border-color: #ff0000; color: #ff0000; background: rgba(255, 0, 0, 0.1); }
.badge.corporation { border-color: #0066ff; color: #0066ff; background: rgba(0, 102, 255, 0.1); }
.badge.labs { border-color: #ffa500; color: #ffa500; background: rgba(255, 165, 0, 0.1); }
.cta-button { display: inline-block; padding: 20px 50px; background: linear-gradient(135deg, #0066ff, #003380); color: #fff; text-decoration: none; text-transform: uppercase; letter-spacing: 3px; font-weight: 700; font-size: 1em; transition: transform 0.3s, box-shadow 0.3s; border: none; cursor: pointer; }
.cta-button:hover { transform: translateY(-2px); box-shadow: 0 10px 40px rgba(0, 102, 255, 0.4); }
.trinity-section { padding: 100px 0; border-top: 2px solid #1a1a1a; position: relative; }
.trinity-section::before { content: ''; position: absolute; top: -2px; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #ff0000 33%, #0066ff 33%, #0066ff 66%, #ffa500 66%); }
.section-header { text-align: center; margin-bottom: 80px; }
.section-title { font-size: 3em; font-weight: 700; letter-spacing: 6px; margin-bottom: 20px; }
.section-subtitle { font-size: 1.1em; color: #666; letter-spacing: 2px; text-transform: uppercase; }
.trinity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 60px; }
.trinity-card {
	background: linear-gradient(135deg, #181818 60%, #222 100%);
	padding: 50px 40px;
	border: 1px solid;
	position: relative;
	transition: transform 0.3s, box-shadow 0.3s, background 1.2s cubic-bezier(0.77,0,0.175,1);
	box-shadow: 0 2px 24px rgba(0,0,0,0.18);
	cursor: pointer;
}
.trinity-card:hover {
	background: linear-gradient(120deg, #222 60%, #333 100%);
	transform: translateY(-12px) scale(1.03);
	box-shadow: 0 12px 48px rgba(0,102,255,0.18), 0 2px 24px rgba(0,0,0,0.18);
}
.trinity-card:hover { transform: translateY(-8px); }
.trinity-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; }
.trinity-card.foundation { border-color: #ff0000; }
.trinity-card.foundation::before { background: #ff0000; box-shadow: 0 0 20px #ff0000; }
.trinity-card.foundation:hover { box-shadow: 0 20px 60px rgba(255, 0, 0, 0.3); }
.trinity-card.corporation { border-color: #0066ff; }
.trinity-card.corporation::before { background: #0066ff; box-shadow: 0 0 20px #0066ff; }
.trinity-card.corporation:hover { box-shadow: 0 20px 60px rgba(0, 102, 255, 0.3); }
.trinity-card.labs { border-color: #ffa500; }
.trinity-card.labs::before { background: #ffa500; box-shadow: 0 0 20px #ffa500; }
.trinity-card.labs:hover { box-shadow: 0 20px 60px rgba(255, 165, 0, 0.3); }
.card-icon { font-size: 4em; margin-bottom: 30px; text-align: center; }
.card-title { font-size: 2em; font-weight: 700; text-transform: uppercase; letter-spacing: 4px; margin-bottom: 15px; text-align: center; }
.card-label { text-align: center; font-size: 0.85em; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 30px; color: #666; }
.card-description { line-height: 1.8; color: #999; margin-bottom: 30px; }
.card-features { list-style: none; padding: 0; }
.card-features li { padding: 12px 0; border-bottom: 1px solid #1a1a1a; color: #ccc; }
.card-features li:last-child { border-bottom: none; }
.card-features li::before { content: '▸ '; margin-right: 10px; font-weight: 700; }
.foundation .card-features li::before { color: #ff0000; }
.corporation .card-features li::before { color: #0066ff; }
.labs .card-features li::before { color: #ffa500; }
.infra-viz { background: #0d0d0d; border: 1px solid #1a1a1a; padding: 60px; text-align: center; }
.viz-title { font-size: 1.5em; font-weight: 700; letter-spacing: 3px; margin-bottom: 40px; color: #666; text-transform: uppercase; }
.flow-diagram { display: flex; justify-content: center; align-items: center; gap: 60px; margin: 40px 0; }
.flow-node {
	width: 200px;
	height: 200px;
	border: 3px solid;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	background: linear-gradient(120deg, #0a0a0a 60%, #1a1a2a 100%);
	box-shadow: 0 2px 24px rgba(0,0,0,0.18);
	transition: background 1.2s cubic-bezier(0.77,0,0.175,1), box-shadow 0.3s;
	cursor: pointer;
}
.flow-node:hover {
	background: linear-gradient(120deg, #1a1a2a 60%, #222 100%);
	box-shadow: 0 12px 48px rgba(255,0,0,0.12), 0 2px 24px rgba(0,0,0,0.18);
	transform: scale(1.04);
}
.flow-node.foundation { border-color: #ff0000; }
.flow-node.corporation { border-color: #0066ff; }
.flow-node.labs { border-color: #ffa500; }
.flow-node-title { font-size: 1.5em; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; }
.flow-node.foundation .flow-node-title { color: #ff0000; }
.flow-node.corporation .flow-node-title { color: #0066ff; }
.flow-node.labs .flow-node-title { color: #ffa500; }
.flow-node-desc { font-size: 0.8em; color: #666; text-transform: uppercase; letter-spacing: 1px; }
.flow-arrow { font-size: 3em; color: #333; }
.products-section { padding: 100px 0; background: #0d0d0d; }
.products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.product-card { background: #0a0a0a; border: 1px solid #1a1a1a; padding: 40px; transition: transform 0.3s; }
.product-card:hover { transform: translateX(10px); border-color: #0066ff; }
.product-title { font-size: 1.8em; font-weight: 700; letter-spacing: 3px; margin-bottom: 15px; }
.product-subtitle { color: #666; font-size: 0.9em; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; }
.product-description { line-height: 1.8; color: #999; }
footer { padding: 80px 0 40px 0; border-top: 2px solid #1a1a1a; text-align: center; position: relative; }
footer::before { content: ''; position: absolute; top: -2px; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #ff0000 33%, #0066ff 33%, #0066ff 66%, #ffa500 66%); }
.footer-logo { font-size: 2.5em; font-weight: 900; letter-spacing: 8px; background: linear-gradient(90deg, #ff0000, #0066ff, #ffa500); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 20px; }
.footer-tagline { color: #666; font-size: 0.9em; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 40px; }
.footer-links { display: flex; justify-content: center; gap: 40px; margin-bottom: 40px; }
.footer-link { color: #666; text-decoration: none; text-transform: uppercase; letter-spacing: 2px; font-size: 0.85em; transition: color 0.3s; }
.footer-link:hover { color: #0066ff; }
.copyright { color: #333; font-size: 0.8em; letter-spacing: 2px; }
