:root {
--acid: #BCFF00;
--acid-dim: #8ec900;
--dark: #0A0A0A;
--dark2: #111111;
--dark3: #1A1A1A;
--grey: #2a2a2a;
--muted: #666;
--white: #F5F5F0;
--red: #FF2D2D;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
background: var(--dark);
color: var(--white);
font-family: 'Barlow', sans-serif;
font-weight: 300;
overflow-x: hidden;
cursor: default;
}

/* ===== NOISE OVERLAY ===== */
body::before {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 9999;
opacity: 0.4;
}

/* ===== NAV ===== */
nav {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 60px;
background: linear-gradient(to bottom, rgba(10,10,10,0.95), transparent);
backdrop-filter: blur(4px);
}

.logo {
font-family: 'Bebas Neue', sans-serif;
font-size: 28px;
letter-spacing: 4px;
color: var(--white);
}

.logo span { color: var(--acid); }

nav ul {
display: flex;
gap: 40px;
list-style: none;
}

nav ul a {
color: var(--white);
text-decoration: none;
font-size: 13px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
opacity: 0.7;
transition: opacity 0.2s, color 0.2s;
}

nav ul a:hover { opacity: 1; color: var(--acid); }

.nav-cta {
background: var(--acid);
color: var(--dark) !important;
padding: 10px 24px;
opacity: 1 !important;
font-weight: 700 !important;
transition: background 0.2s !important;
}

.nav-cta:hover { background: var(--acid-dim) !important; color: var(--dark) !important; }

/* ===== HERO ===== */
.hero {
min-height: 100vh;
position: relative;
display: flex;
align-items: flex-end;
padding: 0 60px 80px;
overflow: hidden;
}

.hero-bg {
position: absolute;
inset: 0;
background:
  radial-gradient(ellipse 60% 50% at 70% 40%, rgba(188,255,0,0.07) 0%, transparent 70%),
  radial-gradient(ellipse 40% 60% at 20% 80%, rgba(188,255,0,0.04) 0%, transparent 60%),
  linear-gradient(160deg, #0f0f0f 0%, #050505 100%);
}

/* Animated bubbles */
.bubbles {
position: absolute;
inset: 0;
overflow: hidden;
}

.bubble {
position: absolute;
border-radius: 50%;
border: 1px solid rgba(188,255,0,0.15);
animation: floatUp linear infinite;
}

@keyframes floatUp {
0% { transform: translateY(110vh) scale(0.8); opacity: 0; }
10% { opacity: 1; }
90% { opacity: 0.3; }
100% { transform: translateY(-20vh) scale(1.2); opacity: 0; }
}

.hero-content {
position: relative;
z-index: 2;
max-width: 800px;
}

.hero-tag {
display: inline-block;
font-size: 11px;
font-weight: 700;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--acid);
border: 1px solid var(--acid);
padding: 6px 14px;
margin-bottom: 30px;
animation: fadeInUp 0.8s ease both;
}

.hero-title {
font-family: 'Bebas Neue', sans-serif;
font-size: clamp(72px, 10vw, 130px);
line-height: 0.92;
letter-spacing: 2px;
animation: fadeInUp 0.8s 0.2s ease both;
}

.hero-title em {
font-style: normal;
color: var(--acid);
-webkit-text-stroke: 0px;
}

.hero-title .outline {
-webkit-text-stroke: 1px var(--white);
color: transparent;
}

.hero-sub {
margin-top: 24px;
font-size: 18px;
font-weight: 300;
opacity: 0.6;
max-width: 480px;
line-height: 1.6;
animation: fadeInUp 0.8s 0.4s ease both;
}

.hero-actions {
margin-top: 40px;
display: flex;
gap: 16px;
align-items: center;
animation: fadeInUp 0.8s 0.6s ease both;
}

.btn-primary {
background: var(--acid);
color: var(--dark);
font-family: 'Barlow', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
padding: 16px 36px;
border: none;
cursor: pointer;
transition: all 0.2s;
text-decoration: none;
display: inline-block;
}

.btn-primary:hover {
background: var(--white);
transform: translateY(-2px);
}

.btn-ghost {
color: var(--white);
font-size: 13px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
text-decoration: none;
opacity: 0.5;
transition: opacity 0.2s;
display: flex;
align-items: center;
gap: 8px;
}

.btn-ghost:hover { opacity: 1; }
.btn-ghost::before { content: '→'; font-size: 18px; }

/* hero stats */
.hero-stats {
position: absolute;
right: 60px;
bottom: 80px;
display: flex;
flex-direction: column;
gap: 30px;
animation: fadeInUp 0.8s 0.8s ease both;
}

.stat {
text-align: right;
border-right: 2px solid var(--acid);
padding-right: 20px;
}

.stat-num {
font-family: 'Bebas Neue', sans-serif;
font-size: 42px;
color: var(--acid);
line-height: 1;
}

.stat-label {
font-size: 11px;
letter-spacing: 1px;
text-transform: uppercase;
opacity: 0.5;
}

.scroll-line {
position: absolute;
bottom: 0;
left: 60px;
width: 1px;
height: 80px;
background: linear-gradient(to bottom, var(--acid), transparent);
animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }

@keyframes fadeInUp {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}

/* ===== MARQUEE ===== */
.marquee-wrap {
background: var(--acid);
overflow: hidden;
padding: 14px 0;
}

.marquee-track {
display: flex;
gap: 0;
animation: marquee 20s linear infinite;
width: max-content;
}

.marquee-item {
font-family: 'Bebas Neue', sans-serif;
font-size: 20px;
letter-spacing: 3px;
color: var(--dark);
padding: 0 40px;
white-space: nowrap;
}

.marquee-dot {
color: rgba(0,0,0,0.3);
padding: 0 10px 0 0;
}

@keyframes marquee {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}

/* ===== SECTIONS ===== */
section { padding: 120px 60px; }

.section-label {
font-size: 11px;
font-weight: 700;
letter-spacing: 4px;
text-transform: uppercase;
color: var(--acid);
margin-bottom: 16px;
}

.section-title {
font-family: 'Bebas Neue', sans-serif;
font-size: clamp(48px, 6vw, 80px);
line-height: 0.95;
letter-spacing: 1px;
}

/* ===== USP STRIP ===== */
.usp {
background: var(--dark2);
padding: 80px 60px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1px;
background-color: var(--grey);
}

.usp-item {
background: var(--dark2);
padding: 50px 40px;
position: relative;
overflow: hidden;
transition: background 0.3s;
}

.usp-item:hover { background: var(--dark3); }

.usp-item::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 3px;
height: 0;
background: var(--acid);
transition: height 0.4s ease;
}

.usp-item:hover::before { height: 100%; }

.usp-icon {
font-size: 36px;
margin-bottom: 20px;
display: block;
}

.usp-num {
font-family: 'Bebas Neue', sans-serif;
font-size: 56px;
color: var(--acid);
line-height: 1;
margin-bottom: 8px;
}

.usp-title {
font-size: 14px;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
margin-bottom: 10px;
}

.usp-desc {
font-size: 14px;
opacity: 0.5;
line-height: 1.6;
}

/* ===== PRODUCTS ===== */
.products { background: var(--dark); }

.products-header {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 60px;
}

.products-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: var(--grey);
}

.product-card {
background: var(--dark2);
padding: 50px 40px;
position: relative;
overflow: hidden;
cursor: pointer;
transition: background 0.3s;
}

.product-card:hover { background: #161616; }

.product-card:hover .product-arrow { transform: translateX(8px); }

.product-card::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(188,255,0,0.03) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.3s;
}

.product-card:hover::after { opacity: 1; }

.product-num {
font-family: 'Bebas Neue', sans-serif;
font-size: 72px;
color: var(--grey);
line-height: 1;
margin-bottom: 20px;
transition: color 0.3s;
}

.product-card:hover .product-num { color: rgba(188,255,0,0.15); }

.product-cat {
font-size: 10px;
font-weight: 700;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--acid);
margin-bottom: 12px;
}

.product-name {
font-family: 'Bebas Neue', sans-serif;
font-size: 28px;
letter-spacing: 1px;
line-height: 1.1;
margin-bottom: 16px;
}

.product-desc {
font-size: 13px;
opacity: 0.5;
line-height: 1.7;
margin-bottom: 24px;
}

.product-ratio {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(188,255,0,0.08);
border: 1px solid rgba(188,255,0,0.2);
padding: 6px 14px;
font-size: 12px;
font-weight: 600;
letter-spacing: 1px;
color: var(--acid);
margin-bottom: 24px;
}

.product-arrow {
font-size: 20px;
color: var(--acid);
transition: transform 0.3s;
display: block;
margin-top: 8px;
}

/* featured product */
.product-card.featured {
background: var(--acid);
color: var(--dark);
grid-row: span 2;
}

.product-card.featured:hover { background: #caff1a; }

.product-card.featured .product-num { color: rgba(0,0,0,0.08); }
.product-card.featured .product-cat { color: rgba(0,0,0,0.6); }
.product-card.featured .product-desc { opacity: 0.6; color: var(--dark); }
.product-card.featured .product-ratio {
background: rgba(0,0,0,0.1);
border-color: rgba(0,0,0,0.2);
color: var(--dark);
}
.product-card.featured .product-arrow { color: var(--dark); }
.product-card.featured:hover .product-num { color: rgba(0,0,0,0.06); }

/* ===== CALCULATOR ===== */
.calculator {
background: var(--dark3);
position: relative;
overflow: hidden;
}

.calculator::before {
content: '';
position: absolute;
top: -200px; right: -200px;
width: 600px; height: 600px;
border-radius: 50%;
background: radial-gradient(circle, rgba(188,255,0,0.06) 0%, transparent 70%);
pointer-events: none;
}

.calc-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 100px;
align-items: center;
}

.calc-title {
font-family: 'Bebas Neue', sans-serif;
font-size: clamp(48px, 5vw, 72px);
line-height: 0.95;
margin-bottom: 20px;
}

.calc-sub {
font-size: 16px;
opacity: 0.5;
line-height: 1.7;
margin-bottom: 40px;
}

.calc-form {
display: flex;
flex-direction: column;
gap: 20px;
}

.calc-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.form-group {
display: flex;
flex-direction: column;
gap: 8px;
}

.form-group label {
font-size: 11px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
opacity: 0.5;
}

.form-group select,
.form-group input {
background: var(--dark);
border: 1px solid var(--grey);
color: var(--white);
font-family: 'Barlow', sans-serif;
font-size: 15px;
padding: 14px 16px;
outline: none;
transition: border-color 0.2s;
appearance: none;
}

.form-group select:focus,
.form-group input:focus {
border-color: var(--acid);
}

.calc-result {
background: var(--dark);
border: 1px solid var(--grey);
padding: 28px;
display: none;
}

.calc-result.show { display: block; }

.result-label {
font-size: 11px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
opacity: 0.4;
margin-bottom: 8px;
}

.result-value {
font-family: 'Bebas Neue', sans-serif;
font-size: 52px;
color: var(--acid);
line-height: 1;
}

.result-sub {
font-size: 13px;
opacity: 0.5;
margin-top: 6px;
}

/* ===== B2B ===== */
.b2b {
background: var(--dark);
position: relative;
}

.b2b-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
margin-top: 60px;
}

.b2b-segments {
display: flex;
flex-direction: column;
gap: 2px;
}

.segment {
background: var(--dark2);
padding: 28px 32px;
display: flex;
align-items: center;
gap: 24px;
cursor: pointer;
transition: background 0.2s;
border-left: 3px solid transparent;
transition: all 0.2s;
}

.segment:hover, .segment.active {
background: var(--dark3);
border-left-color: var(--acid);
}

.segment-icon { font-size: 28px; }

.segment-name {
font-family: 'Bebas Neue', sans-serif;
font-size: 22px;
letter-spacing: 1px;
margin-bottom: 4px;
}

.segment-desc {
font-size: 13px;
opacity: 0.5;
}

.b2b-offer {
background: var(--dark2);
padding: 50px;
}

.offer-title {
font-family: 'Bebas Neue', sans-serif;
font-size: 42px;
margin-bottom: 30px;
line-height: 1;
}

.offer-title span { color: var(--acid); }

.offer-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 36px;
}

.offer-list li {
font-size: 15px;
opacity: 0.7;
padding-left: 20px;
position: relative;
line-height: 1.5;
}

.offer-list li::before {
content: '—';
position: absolute;
left: 0;
color: var(--acid);
}

/* ===== CONTACT ===== */
.contact {
background: var(--dark2);
position: relative;
overflow: hidden;
}

.contact::before {
content: '';
position: absolute;
bottom: -300px; left: -300px;
width: 800px; height: 800px;
border-radius: 50%;
background: radial-gradient(circle, rgba(188,255,0,0.04) 0%, transparent 70%);
pointer-events: none;
}

.contact-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 100px;
align-items: start;
}

.contact-info {
display: flex;
flex-direction: column;
gap: 40px;
}

.contact-item {
display: flex;
flex-direction: column;
gap: 6px;
}

.contact-item-label {
font-size: 10px;
font-weight: 700;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--acid);
}

.contact-item-value {
font-size: 18px;
opacity: 0.8;
}

.contact-form {
display: flex;
flex-direction: column;
gap: 16px;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
background: var(--dark);
border: 1px solid var(--grey);
color: var(--white);
font-family: 'Barlow', sans-serif;
font-size: 15px;
padding: 16px 20px;
outline: none;
transition: border-color 0.2s;
resize: none;
appearance: none;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
border-color: var(--acid);
}

.contact-form textarea { height: 120px; }

.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.submit-btn {
background: var(--acid);
color: var(--dark);
font-family: 'Barlow', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
padding: 18px 36px;
border: none;
cursor: pointer;
transition: all 0.2s;
align-self: flex-start;
}

.submit-btn:hover {
background: var(--white);
transform: translateY(-2px);
}

/* ===== FOOTER ===== */
footer {
background: var(--dark);
border-top: 1px solid var(--grey);
padding: 40px 60px;
display: flex;
justify-content: space-between;
align-items: center;
}

.footer-logo {
font-family: 'Bebas Neue', sans-serif;
font-size: 22px;
letter-spacing: 3px;
}

.footer-logo span { color: var(--acid); }

.footer-copy {
font-size: 12px;
opacity: 0.3;
letter-spacing: 1px;
}

.footer-links {
display: flex;
gap: 30px;
}

.footer-links a {
font-size: 11px;
letter-spacing: 2px;
text-transform: uppercase;
opacity: 0.4;
text-decoration: none;
color: var(--white);
transition: opacity 0.2s;
}

.footer-links a:hover { opacity: 1; }

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
nav { padding: 16px 24px; }
nav ul { display: none; }
.hero { padding: 0 24px 60px; }
.hero-stats { right: 24px; bottom: 60px; }
section { padding: 80px 24px; }
.usp { grid-template-columns: 1fr 1fr; padding: 60px 24px; }
.products-grid { grid-template-columns: 1fr; }
.product-card.featured { grid-row: span 1; }
.calc-inner { grid-template-columns: 1fr; gap: 60px; }
.calc-row { grid-template-columns: 1fr; }
.b2b-grid { grid-template-columns: 1fr; gap: 40px; }
.contact-inner { grid-template-columns: 1fr; gap: 60px; }
.form-row { grid-template-columns: 1fr; }
footer { flex-direction: column; gap: 20px; text-align: center; }
.footer-links { flex-wrap: wrap; justify-content: center; }
.scroll-line { left: 24px; }
.products-header { flex-direction: column; align-items: flex-start; gap: 20px; }
}

.product-card-link,
.product-card-link:link,
.product-card-link:visited,
.product-card-link:hover,
.product-card-link:active,
.product-card-link:focus {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.product-card-link .product-card {
  color: inherit;
}

/* ===== CONTACT LINKS ===== */

.contact-link,
.contact-link:link,
.contact-link:visited,
.contact-link:hover,
.contact-link:active,
.contact-link:focus {
  text-decoration: none;
  color: inherit;
}

.product-card.featured .product-name {
  color: var(--dark);
}

img.emoji {
  width: 1em;
  height: 1em;
  margin: 0 0.05em;
  vertical-align: -0.12em;
  display: inline-block;
}
