
:root{
  --bg:#0b0f0d;
  --panel:#0f1512;
  --ink:#e7f8ef;
  --muted:#a7d9bc;
  --accent:#00ff88;
  --accent-2:#19e68a;
  --line:#123a2a;
  --shadow:rgba(0,255,136,.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.site-header{position:sticky;top:0;background:linear-gradient(180deg,rgba(11,15,13,.85),rgba(11,15,13,.6) 60%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);z-index:30}
.site-header .brand{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;font-weight:700;letter-spacing:.4px;color:var(--ink)}
.site-header .brand img{width:28px;height:28px}
.nav{display:flex;align-items:center;gap:1rem;margin-left:auto;padding:1rem 1.25rem}
.nav-link{color:var(--ink);opacity:.9}
.nav-link:hover{opacity:1}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.1rem;border-radius:16px;border:1px solid var(--accent);box-shadow:0 6px 20px var(--shadow);transition:transform .25s ease,opacity .2s,background .25s;border-color:transparent}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#022b1d;font-weight:700}
.btn.primary:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn.small{padding:.55rem .8rem;border-radius:12px;font-size:.92rem}
.btn.outline{background:transparent;border:1px solid var(--line);color:var(--ink);opacity:.9}
.btn.outline:hover{opacity:1;border-color:var(--accent)}

.site-main{max-width:1160px;margin:0 auto;padding:2rem 1.25rem}
.hero{display:grid;grid-template-columns:1.3fr .9fr;gap:2rem;align-items:center;min-height:72vh;padding-top:2rem}
.hero-visual{position:relative;min-height:320px}
/* Matrix hero rectangle */
.code-rain{position:absolute;inset:0;border-radius:24px;background:radial-gradient(80% 80% at 50% 20%,rgba(0,255,136,.06),transparent 70%),#07120d;box-shadow:0 30px 80px rgba(0,0,0,.45), inset 0 0 0 1px var(--line);overflow:hidden}
.code-rain canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

.hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;margin:.5rem 0}
.hero p{max-width:60ch;color:var(--muted)}
.trust-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.badge{border:1px solid var(--line);padding:.4rem .6rem;border-radius:999px;font-size:.85rem;color:var(--muted);background:rgba(0,255,136,.06)}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2.5rem 0}
.card{background:linear-gradient(180deg,rgba(17,24,21,.6),rgba(12,18,15,.6));border:1px solid var(--line);border-radius:22px;padding:1.2rem;box-shadow:0 10px 40px var(--shadow)}
.feature h3{margin:.2rem 0 .4rem;font-size:1.1rem}
.feature p{color:var(--muted)}

.numbers{margin:3rem 0}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;align-items:end;text-align:center}
.num{font-size:2rem;font-weight:800;color:var(--accent)}
.num.big{font-size:2.6rem}
.label{color:var(--muted);margin-top:.2rem}

.page-header{margin:2rem 0 1rem}
.page-header h1{font-size:2rem;margin:.3rem 0}
.page-header p{color:var(--muted)}

.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem}

.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.form .field{display:grid;gap:.3rem;margin-bottom:1rem}
.form input,.form textarea{background:#0b1511;border:1px solid var(--line);color:var(--ink);padding:.8rem;border-radius:14px;outline:none}
.form input:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,255,136,.15)}
.hint{color:var(--muted);font-size:.9rem}

.contact-box ul{list-style:none;padding:0;margin:0}
.contact-box li+li{margin-top:.35rem}
.map-embed{margin-top:1rem;border-radius:16px;overflow:hidden;border:1px solid var(--line);height:260px}
.map-embed iframe{width:100%;height:100%;border:0}

.legal h2{margin-top:1.5rem}

.cta-row{display:flex;gap:.8rem;margin-top:1rem}
.cta-banner{margin:2.4rem 0;padding:1.4rem;border:1px solid var(--line);border-radius:24px;display:flex;align-items:center;justify-content:space-between;background:radial-gradient(100% 120% at 100% 0,rgba(0,255,136,.08),transparent 50%)}

.site-footer{margin-top:3rem;border-top:1px solid var(--line);padding:2rem 1.25rem;background:linear-gradient(180deg,rgba(6,10,8,.4),rgba(6,10,8,.8))}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1.2rem;max-width:1160px;margin:0 auto}
.footer-brand{display:flex;align-items:center;gap:.6rem;font-weight:800}
.footer-brand img{width:24px;height:24px}
.legal-links{margin-top:.8rem}

#matrix-intro{position:fixed;inset:0;background:#020806;display:grid;place-items:center;z-index:200;transition:opacity .8s ease;overflow:hidden}
#matrix-canvas{position:absolute;inset:0;width:100%;height:100%}
.intro-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 40%,rgba(0,0,0,.6));pointer-events:none}
.intro-logo{position:relative;display:flex;flex-direction:column;gap:.6rem;align-items:center;z-index:2}
.intro-logo img{width:72px;height:72px;filter:drop-shadow(0 12px 20px rgba(0,255,136,.25))}
.intro-text{color:var(--muted);font-size:.95rem}

[data-appear]{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
[data-appear].in{opacity:1;transform:none}

@media (max-width:980px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .features{grid-template-columns:1fr 1fr}
  .numbers-grid{grid-template-columns:1fr 1fr}
  .two-col,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .cta-banner{flex-direction:column;gap:1rem;align-items:flex-start}
}
