:root {
  --green: #7cff00;
  --green-2: #21b300;
  --green-deep: #0e2a12;
  --black: #0a0a0a;
  --black-2: #111111;
  --grey-1: #1a1a1a;
  --grey-2: #6b6b6b;
  --white: #ffffff;
  --muted: #aaaead;
  --line: rgba(255,255,255,.11);
  --line-green: rgba(124,255,0,.22);
  --shadow-green: 0 0 70px rgba(124,255,0,.13);
  --radius: 24px;
  --container: min(1200px, calc(100vw - 40px));
  --ease: cubic-bezier(.16,1,.3,1);
}

* { box-sizing: border-box; }
html { scroll-behaviour: smooth; scroll-behavior: smooth; background: var(--black); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--white);
  background: var(--black);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
button { color: inherit; }
::selection { background: var(--green); color: #071000; }

.skip-link {
  position: fixed; left: 12px; top: 12px; z-index: 999;
  transform: translateY(-180%); padding: 10px 14px;
  background: var(--green); color: #071000; border-radius: 8px;
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.container { width: var(--container); margin-inline: auto; }

.ambient { position: fixed; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; background: #070807; }
.ambient__orb { position: absolute; border-radius: 999px; filter: blur(80px); opacity: .18; }
.ambient__orb--a { width: 34vw; height: 34vw; left: -10vw; top: 14vh; background: var(--green-2); }
.ambient__orb--b { width: 30vw; height: 30vw; right: -12vw; bottom: 8vh; background: var(--green-deep); }
.ambient__grid { position:absolute; inset:0; opacity:.16; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,black,transparent 72%); }
#particleCanvas { width:100%; height:100%; opacity:.34; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 90; border-bottom: 1px solid transparent; transition: background .35s ease, border-color .35s ease, backdrop-filter .35s ease; }
.site-header.is-scrolled { background: rgba(6,7,6,.75); border-color: var(--line); backdrop-filter: blur(18px); }
.nav-wrap { height: 82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { width: 176px; display:block; }
.brand img { width:100%; height:auto; }
.site-nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.site-nav > a:not(.btn) { color:#c9ccca; transition:color .2s ease; }
.site-nav > a:not(.btn):hover, .site-nav > a:not(.btn):focus-visible { color:var(--white); }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); background:rgba(255,255,255,.03); border-radius:50%; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; }
.menu-toggle span { display:block; width:17px; height:1px; background:#fff; transition:.3s ease; }

.btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border:1px solid transparent; border-radius:999px; font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:transform .3s var(--ease), box-shadow .3s ease, background .3s ease, border-color .3s ease; }
.btn:hover { transform:translateY(-2px); }
.btn:focus-visible, input:focus-visible, a:focus-visible, button:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.btn--primary { color:#081000; background:linear-gradient(180deg,#92ff2d,var(--green)); box-shadow:0 10px 30px rgba(124,255,0,.18), inset 0 1px 0 rgba(255,255,255,.45); }
.btn--primary:hover { box-shadow:0 16px 46px rgba(124,255,0,.26), 0 0 0 1px rgba(124,255,0,.26); }
.btn--ghost { border-color:rgba(124,255,0,.35); background:rgba(124,255,0,.045); color:#eaffdc; }
.btn--small { min-height:42px; padding-inline:18px; }

.hero { position:relative; min-height:100svh; display:grid; place-items:center; padding:120px 0 72px; isolation:isolate; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 41%,rgba(124,255,0,.09),transparent 26%), linear-gradient(to bottom,rgba(0,0,0,.08),#070807 88%); z-index:-2; }
.hero__light { position:absolute; width:46vw; height:46vw; min-width:420px; min-height:420px; left:var(--mx,50%); top:var(--my,40%); transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(124,255,0,.11),rgba(124,255,0,.025) 34%,transparent 68%); filter:blur(10px); z-index:-1; transition:left .15s linear,top .15s linear; }
.hero__inner { text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero__eyebrow { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--line-green); border-radius:999px; padding:8px 12px; color:#dfffc7; background:rgba(124,255,0,.04); font-size:10px; font-weight:850; letter-spacing:.25em; }
.hero__eyebrow::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 16px var(--green); }
.hero__brand { width:min(340px,62vw); margin:20px 0 10px; filter:drop-shadow(0 24px 60px rgba(0,0,0,.55)); }
.hero__brand img { width:100%; height:auto; object-fit:contain; }
.kicker { margin:0 0 16px; color:var(--green); font-size:11px; font-weight:900; letter-spacing:.28em; text-transform:uppercase; }
.display { margin:0; max-width:960px; font-size:clamp(54px,8vw,120px); line-height:.84; letter-spacing:-.065em; font-weight:900; text-transform:uppercase; text-wrap:balance; overflow-wrap:anywhere; }
.display span, h2 span { color:var(--green); text-shadow:0 0 30px rgba(124,255,0,.12); }
.lead { max-width:670px; margin:30px auto 0; color:#b9bdbb; font-size:clamp(17px,2vw,22px); }
.notify-form { width:min(680px,100%); margin-top:34px; }
.field-wrap { display:flex; gap:8px; padding:7px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.045); backdrop-filter:blur(16px); box-shadow:0 18px 70px rgba(0,0,0,.26); }
.field-wrap input { min-width:0; flex:1; height:54px; padding:0 20px; border:0; outline:0; background:transparent; color:#fff; font-size:15px; }
.field-wrap input::placeholder { color:#777d79; }
.field-wrap.is-error { border-color:#ff6868; box-shadow:0 0 0 1px rgba(255,104,104,.15); }
.form-note { margin:12px 0 0; min-height:20px; color:#7f8581; font-size:12px; }
.form-note.success { color:#caffaa; }
.form-note.error { color:#ff9292; }
.hero__meta { display:flex; gap:18px; align-items:center; margin-top:30px; color:#777d79; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hero__meta > * + * { border-left:1px solid var(--line); padding-left:18px; }
.status { display:flex; align-items:center; gap:8px; }
.status i { width:6px; height:6px; background:var(--green); border-radius:50%; box-shadow:0 0 12px var(--green); animation:pulse 2s ease-in-out infinite; }
.scroll-cue { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); display:flex; align-items:center; gap:10px; color:#737973; font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.scroll-cue span { width:1px; height:28px; background:linear-gradient(var(--green),transparent); animation:scrollCue 1.8s ease-in-out infinite; }
.energy-rings { position:absolute; z-index:-1; top:35%; left:50%; width:min(720px,86vw); aspect-ratio:1; transform:translate(-50%,-50%) rotateX(69deg); opacity:.18; }
.energy-rings span { position:absolute; inset:12%; border:1px solid rgba(124,255,0,.54); border-radius:50%; box-shadow:0 0 25px rgba(124,255,0,.12); animation:ringSpin 14s linear infinite; }
.energy-rings span:nth-child(2){ inset:25%; animation-duration:10s; animation-direction:reverse; }
.energy-rings span:nth-child(3){ inset:38%; animation-duration:7s; }

.section { position:relative; padding:150px 0; border-top:1px solid var(--line); }
.section-heading { max-width:760px; margin-bottom:70px; }
.section-heading h2, .performance h2, .launch-panel h2, .contact h2 { margin:0; font-size:clamp(46px,6vw,86px); line-height:.94; letter-spacing:-.055em; text-transform:uppercase; }
.section-heading > p:last-child, .performance__top > p, .launch-panel__box > p:not(.kicker), .contact__intro > p:last-child { max-width:620px; margin:25px 0 0; color:#9fa5a1; font-size:17px; }

.product-teaser { background:linear-gradient(to bottom,#070807,#0a0b0a 50%,#080908); }
.product-stage { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:16px; align-items:stretch; }
.product-card { position:relative; overflow:hidden; min-height:480px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid var(--line); border-radius:var(--radius); background:#111211; box-shadow:0 40px 100px rgba(0,0,0,.25); }
.product-card::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 30%,rgba(124,255,0,.06),transparent 46%); pointer-events:none; }
.product-card__image { position:absolute; inset:0 0 82px; overflow:hidden; }
.product-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease),filter .8s var(--ease); filter:saturate(.96) contrast(1.03); }
.product-card:hover .product-card__image img { transform:scale(1.035); filter:saturate(1.08) contrast(1.03); }
.product-card__caption { position:relative; z-index:2; min-height:82px; display:grid; grid-template-columns:42px 1fr; gap:10px; align-items:center; padding:18px 20px; border-top:1px solid var(--line); background:rgba(8,9,8,.84); backdrop-filter:blur(12px); }
.product-card__caption span { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.17em; }
.product-card__caption h3 { margin:0; font-size:14px; letter-spacing:.02em; }

.performance { overflow:hidden; }
.performance__top { display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; margin-bottom:82px; }
.performance__top > p { margin:0; }
.features { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.feature { position:relative; min-height:290px; padding:30px 20px 28px; border-right:1px solid var(--line); transition:background .35s ease,transform .35s var(--ease); }
.feature:last-child { border-right:0; }
.feature:hover { background:linear-gradient(to bottom,rgba(124,255,0,.06),rgba(124,255,0,.01)); transform:translateY(-4px); }
.feature svg { width:34px; height:34px; fill:none; stroke:var(--green); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 12px rgba(124,255,0,.16)); }
.feature > span { display:block; margin-top:70px; color:#5c625e; font-size:10px; font-weight:800; letter-spacing:.18em; }
.feature h3 { margin:7px 0 7px; font-size:24px; letter-spacing:-.035em; }
.feature p { margin:0; color:#7d837f; font-size:13px; }

.manifesto { min-height:82svh; display:grid; place-items:center; background:linear-gradient(180deg,#090a09,#060706); }
.manifesto__inner { display:grid; grid-template-columns:1.55fr .45fr; gap:60px; align-items:end; }
.manifesto__words { display:flex; flex-direction:column; }
.manifesto__words span { display:block; font-size:clamp(68px,10vw,148px); line-height:.78; letter-spacing:-.075em; font-weight:950; text-transform:uppercase; color:#171917; transition:color .8s var(--ease),text-shadow .8s var(--ease),transform .8s var(--ease); }
.manifesto__words span.is-active { color:#fff; transform:translateX(10px); }
.manifesto__words span:nth-child(2).is-active { color:var(--green); text-shadow:0 0 50px rgba(124,255,0,.13); }
.manifesto__inner > p { margin:0; color:#9ba19d; font-size:16px; }

.launch-panel { background:#070807; }
.launch-panel__box { position:relative; overflow:hidden; min-height:590px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:70px 28px; border:1px solid var(--line); border-radius:32px; background:radial-gradient(circle at 50% 32%,rgba(124,255,0,.1),transparent 24%),linear-gradient(145deg,#101110,#090a09); box-shadow:0 40px 120px rgba(0,0,0,.35); }
.launch-panel__box::before, .launch-panel__box::after { content:""; position:absolute; border:1px solid rgba(124,255,0,.16); border-radius:50%; width:620px; height:210px; transform:rotate(-9deg); }
.launch-panel__box::after { width:460px; height:150px; transform:rotate(8deg); }
.launch-panel__box > * { position:relative; z-index:1; }
.launch-panel__icon { width:105px; margin-bottom:28px; filter:drop-shadow(0 0 28px rgba(124,255,0,.18)); }
.launch-panel__box > p:not(.kicker) { margin-bottom:30px; }

.contact { background:#0b0c0b; }
.contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.contact__card { padding:42px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); }
.contact__card > p { margin:0 0 8px; color:#6f756f; font-size:10px; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.contact__email { display:inline-block; margin-bottom:28px; font-size:clamp(26px,3.4vw,48px); font-weight:800; letter-spacing:-.045em; border-bottom:1px solid rgba(124,255,0,.35); }
.contact__links { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:32px; border:1px solid var(--line); background:var(--line); border-radius:14px; overflow:hidden; }
.contact__links a { padding:14px 16px; background:#0d0e0d; color:#9ea49f; font-size:12px; transition:color .2s ease,background .2s ease; }
.contact__links a:hover { color:#fff; background:#101310; }

.site-footer { padding:54px 0; border-top:1px solid var(--line); background:#060706; }
.footer__grid { display:grid; grid-template-columns:1fr auto 1fr; gap:40px; align-items:end; }
 .footer__brand { width:170px; display:flex; align-items:flex-start; }
.footer__brand img { width:100%; height:auto; object-fit:contain; display:block; }
.footer__links { display:flex; gap:16px 22px; flex-wrap:wrap; justify-content:center; color:#858b87; font-size:12px; }
.footer__links a { white-space:nowrap; }
.footer__links a:hover { color:#fff; }
.footer__meta { text-align:right; color:#6e746f; font-size:11px; letter-spacing:.05em; }
.footer__meta p { margin:3px 0; }
.footer__meta span { color:var(--green); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .85s var(--ease),transform .85s var(--ease); transition-delay:var(--delay,0ms); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

@keyframes pulse { 50% { opacity:.45; box-shadow:0 0 5px var(--green); } }
@keyframes scrollCue { 0%,100%{ transform:scaleY(.45); transform-origin:top; opacity:.35; } 50%{ transform:scaleY(1); opacity:1; } }
@keyframes ringSpin { to { transform:rotate(360deg); } }

@media (max-width: 980px) {
  :root { --container:min(100% - 32px, 900px); }
  .site-nav { position:fixed; inset:82px 16px auto; display:flex; flex-direction:column; align-items:stretch; padding:18px; border:1px solid var(--line); border-radius:18px; background:rgba(7,8,7,.96); backdrop-filter:blur(18px); opacity:0; transform:translateY(-12px); pointer-events:none; transition:.28s ease; }
  .site-nav a { padding:13px 10px; }
  .site-nav .btn { margin-top:6px; }
  .site-nav.is-open { opacity:1; transform:translateY(0); pointer-events:auto; }
  .menu-toggle { display:flex; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .product-stage { grid-template-columns:1fr 1fr; }
  .product-card--machine { grid-column:1 / -1; }
  .performance__top, .manifesto__inner, .contact__grid { grid-template-columns:1fr; gap:42px; }
  .features { grid-template-columns:repeat(2,1fr); }
  .feature { border-bottom:1px solid var(--line); }
  .feature:nth-child(even) { border-right:0; }
  .feature:last-child { grid-column:1/-1; border-bottom:0; }
  .manifesto__inner > p { max-width:520px; }
  .footer__grid { grid-template-columns:1fr; align-items:start; }
  .footer__links { justify-content:flex-start; }
  .footer__meta { text-align:left; }
}

@media (max-width: 640px) {
  :root { --container:calc(100% - 24px); --radius:18px; }
  .nav-wrap { height:72px; }
  .brand { width:124px; }
  .site-nav { inset:72px 12px auto; }
  .hero { padding:105px 0 64px; }
  .hero__brand { width:min(230px,60vw); margin-top:14px; }
  .display { max-width:100%; font-size:clamp(34px,10.6vw,58px); line-height:.92; letter-spacing:-.045em; }
  .display br { display:none; }
  .display span { display:block; }
  .lead { font-size:15px; max-width:310px; margin-top:18px; }
  .notify-form { margin-top:28px; }
  .field-wrap { flex-direction:column; border-radius:18px; padding:7px; }
  .field-wrap input { height:50px; padding:0 14px; }
  .field-wrap .btn { width:100%; }
  .hero__meta { flex-direction:column; gap:9px; }
  .hero__meta > * + * { border-left:0; padding-left:0; }
  .scroll-cue { display:none; }
  .section { padding:100px 0; }
  .section-heading { margin-bottom:42px; }
  .section-heading h2, .performance h2, .launch-panel h2, .contact h2 { font-size:clamp(42px,13vw,62px); }
  .product-stage { grid-template-columns:1fr; }
  .product-card--machine { grid-column:auto; }
  .product-card { min-height:390px; }
  .features { grid-template-columns:1fr; }
  .feature, .feature:nth-child(even), .feature:last-child { grid-column:auto; border-right:0; border-bottom:1px solid var(--line); min-height:auto; padding:24px 8px 28px; }
  .feature:last-child { border-bottom:0; }
  .feature > span { margin-top:36px; }
  .manifesto { min-height:auto; }
  .manifesto__words span { font-size:clamp(58px,19vw,90px); }
  .manifesto__words span.is-active { transform:none; }
  .launch-panel__box { min-height:500px; padding:55px 20px; border-radius:22px; }
  .contact__card { padding:26px 18px; }
  .contact__links { grid-template-columns:1fr; }
  .footer__brand { width:140px; }
  .footer__grid { gap:14px; }
  .footer__links { justify-content:flex-start; gap:12px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
  .hero__light, #particleCanvas { display:none; }
}

/* Direct website email forms — no local email application required */
.contact-form { display:grid; gap:16px; margin-top:4px; }
.contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-field { display:grid; gap:7px; }
.contact-field label { color:#8f9691; font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.contact-field input,
.contact-field select,
.contact-field textarea {
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  background:#0d0f0d;
  color:#fff;
  padding:14px 15px;
  outline:0;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-field input,
.contact-field select { min-height:52px; }
.contact-field textarea { min-height:132px; resize:vertical; }
.contact-field input::placeholder,
.contact-field textarea::placeholder { color:#626863; }
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus { border-color:rgba(124,255,0,.55); box-shadow:0 0 0 3px rgba(124,255,0,.07); background:#0f120f; }
.contact-field select { color-scheme:dark; }
.contact-form__submit { width:100%; margin-top:2px; }
.contact-form__submit:disabled,
.notify-form button:disabled { opacity:.55; cursor:wait; transform:none; }
.contact-form__note { margin:0; }
.form-honey { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.contact__links button { padding:14px 16px; border:0; text-align:left; background:#0d0e0d; color:#9ea49f; font:inherit; font-size:12px; cursor:pointer; transition:color .2s ease,background .2s ease; }
.contact__links button:hover,
.contact__links button:focus-visible { color:#fff; background:#101310; }

@media (max-width:640px) {
  .contact-form__row { grid-template-columns:1fr; }
}
