/* ============================================================
   MGALAXY SOFTWARE - SHARED STYLESHEET
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#050c19;--cyan:#00d4ff;--purple:#7b2dff;--green:#00ff88;
  --green-dim:rgba(0,255,136,0.6);--green-glass:rgba(0,255,136,0.08);
  --green-border:rgba(0,255,136,0.15);--glass:rgba(255,255,255,0.04);
  --glass-border:rgba(255,255,255,0.08);--text:rgba(255,255,255,0.7);
  --text-bright:#e0e8f0;--text-dim:#8a9aaa;--radius:16px;
  --transition:0.3s cubic-bezier(.4,0,.2,1);
  --mono:'Courier New','Consolas','Liberation Mono',monospace;
  --sans:'Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;cursor:none;overflow-x:hidden;opacity:0;transition:opacity .35s ease}
body.loaded{opacity:1}
body.leaving{opacity:0}
a{color:inherit;text-decoration:none;cursor:none}
button,input,select,textarea{font-family:inherit;cursor:none}

/* Cursor */
.cursor-dot{position:fixed;width:8px;height:8px;background:var(--green);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:screen}
.cursor-ring{position:fixed;width:36px;height:36px;border:2px solid var(--green);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s,opacity .3s;opacity:0.4}
body:hover .cursor-dot,body:hover .cursor-ring{opacity:1}
.cursor-hover .cursor-ring{width:56px;height:56px;opacity:0.8;border-color:var(--cyan)}
.cursor-hover .cursor-dot{width:12px;height:12px;background:var(--cyan)}

#circuit-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;will-change:transform}

::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--green);border-radius:3px}

/* === TYPEWRITER EFFECT === */
.tw{font-family:var(--mono);color:var(--green);position:relative;display:inline-block;visibility:hidden}
.tw.typed{visibility:visible}
.tw .tw-text{display:inline}
.tw .tw-cursor{display:inline;animation:blink-cursor .6s step-end infinite;color:var(--green);font-weight:100}
.tw .tw-cursor.done{animation:blink-cursor .6s step-end 3;animation-fill-mode:forwards;opacity:0}
@keyframes blink-cursor{0%,100%{opacity:1}50%{opacity:0}}
.tw-title{font-size:2.5rem;font-weight:700;text-shadow:0 0 7px var(--green),0 0 20px var(--green),0 0 40px rgba(0,255,136,0.3);letter-spacing:1px}
.tw-title .tw-prefix{color:var(--green-dim);opacity:0.6}
.tw-sub{font-size:1.1rem;font-weight:400;color:var(--green-dim);text-shadow:0 0 5px rgba(0,255,136,0.2);letter-spacing:0.5px}
.tw-hero{font-size:1.4rem;font-weight:600;text-shadow:0 0 10px var(--green),0 0 30px rgba(0,255,136,0.4);letter-spacing:3px}
.typing-active{text-shadow:0 0 10px var(--green),0 0 30px var(--green),0 0 50px rgba(0,255,136,0.4) !important}

/* ============================================================
   NAV (upgraded: bigger, mono, code-style hover, active state)
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 44px;display:flex;align-items:center;justify-content:space-between;transition:var(--transition)}
.nav.scrolled{background:rgba(5,12,25,0.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--green-border)}
.nav-logo{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:1.25rem;font-weight:700;letter-spacing:2px;color:var(--green);text-shadow:0 0 10px rgba(0,255,136,0.5);z-index:1001}
.nav-logo .logo-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green),var(--cyan));font-weight:900;font-size:1.15rem;color:#050c19}
.nav-logo .logo-text{display:inline-block}

.nav-links{display:flex;gap:30px;list-style:none;align-items:center}
.nav-link{
  font-family:var(--mono);
  font-size:15px;
  font-weight:500;
  color:var(--text-dim);
  transition:color .25s ease,text-shadow .25s ease;
  position:relative;
  padding:6px 2px;
  letter-spacing:1px;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  overflow:visible;
}
/* Prefix that appears on hover/active */
.nav-link::before{
  content:'// ';
  color:var(--green);
  opacity:0;
  margin-right:0;
  width:0;
  overflow:hidden;
  display:inline-block;
  transition:opacity .25s ease,width .25s ease,margin-right .25s ease;
  font-family:var(--mono);
  text-shadow:0 0 6px rgba(0,255,136,0.5);
}
.nav-link:hover::before,.nav-link.active::before{
  opacity:1;width:22px;margin-right:2px;
}
/* Underline draw left -> right using clip-path */
.nav-link::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,var(--green),var(--cyan));
  clip-path:inset(0 100% 0 0);
  transition:clip-path .35s cubic-bezier(.4,0,.2,1);
  border-radius:1px;
  box-shadow:0 0 8px var(--green);
}
.nav-link:hover::after,.nav-link.active::after{clip-path:inset(0 0 0 0)}
.nav-link:hover{color:var(--green);text-shadow:0 0 8px rgba(0,255,136,0.5)}

/* Scan line sweep on hover */
.nav-link .scanline{
  position:absolute;left:0;right:0;top:50%;
  height:1px;background:var(--green);
  opacity:0;pointer-events:none;
  box-shadow:0 0 6px var(--green);
}
.nav-link:hover .scanline{animation:scan-sweep .6s ease-out forwards}
@keyframes scan-sweep{
  0%{opacity:.9;transform:translateY(-14px)}
  100%{opacity:0;transform:translateY(14px)}
}

/* Active state */
.nav-link.active{
  color:var(--green);
  text-shadow:0 0 10px var(--green),0 0 24px rgba(0,255,136,0.35);
}
.nav-link.active .active-bracket{
  display:inline-block;
  color:var(--green);
  opacity:1;
  margin-left:6px;
  font-size:11px;
  text-shadow:0 0 6px var(--green);
  animation:bracket-blink 1.8s ease-in-out infinite;
}
.nav-link .active-bracket{display:none}
@keyframes bracket-blink{0%,100%{opacity:1}50%{opacity:.45}}

/* Typing cursor element appended during hover code-write */
.nav-link .type-cursor{
  display:inline-block;
  width:7px;
  margin-left:2px;
  color:var(--green);
  animation:blink-cursor .5s step-end infinite;
}

/* Hamburger + Mobile menu */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;z-index:1001}
.hamburger span{width:26px;height:2px;background:var(--green);transition:var(--transition);display:block;box-shadow:0 0 6px var(--green)}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(5,12,25,0.97);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;z-index:1050;opacity:0;pointer-events:none;transition:var(--transition)}
.mobile-menu.active{opacity:1;pointer-events:all}
.mobile-menu a{font-family:var(--mono);font-size:1.6rem;font-weight:600;color:var(--green-dim);transition:var(--transition);padding:6px 12px}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--green);text-shadow:0 0 12px var(--green)}
.mobile-menu a::before{content:'// ';color:var(--green);opacity:.5}

/* ============================================================
   LAYOUT
   ============================================================ */
section{position:relative;z-index:1;padding:100px 40px}
.container{max-width:1200px;margin:0 auto}

/* Hero */
.hero-section{min-height:100vh;display:flex;align-items:center;padding-top:120px}
#particle-canvas{width:100%;max-width:900px;height:180px;margin:0 auto 20px;display:block}
.hero-content{text-align:center;width:100%}
.hero-desc{font-family:var(--mono);color:var(--green-dim);font-size:1.05rem;margin:10px 0 8px;text-shadow:0 0 5px rgba(0,255,136,0.15)}
.hero-subtitle{color:var(--text);font-size:1.1rem;margin-bottom:32px}
.hero-subtitle span{color:var(--green);font-weight:700}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}

/* Buttons */
.btn-primary{padding:14px 32px;border-radius:50px;border:none;font-weight:600;font-size:0.95rem;background:linear-gradient(135deg,var(--green),#00b86e);color:#050c19;cursor:none;transition:var(--transition);font-family:var(--mono);letter-spacing:1px;display:inline-block}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,255,136,0.3)}
.btn-glass{padding:14px 32px;border-radius:50px;border:1px solid var(--green-border);font-weight:600;font-size:0.95rem;background:var(--green-glass);color:var(--green);cursor:none;transition:var(--transition);font-family:var(--mono);letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:inline-block}
.btn-glass:hover{background:rgba(0,255,136,0.15);border-color:var(--green);box-shadow:0 0 20px rgba(0,255,136,0.15)}

.hero-stats{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.stat{text-align:center}
.stat-num{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--green);text-shadow:0 0 10px rgba(0,255,136,0.4)}
.stat-label{font-size:0.8rem;color:var(--text-dim);margin-top:4px}

/* Section header */
.section-header{text-align:center;margin-bottom:60px}
.section-header .tw-sub{display:block;margin-top:12px}

/* Glass Card */
.glass-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:32px;transition:var(--transition);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.glass-card:hover{border-color:var(--green-border);background:var(--green-glass);transform:translateY(-4px);box-shadow:0 8px 40px rgba(0,255,136,0.08)}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{text-align:center;position:relative;overflow:hidden}
.service-card .svc-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--green-glass);border:1px solid var(--green-border)}
.service-card .svc-icon svg{width:28px;height:28px;stroke:var(--green)}
.service-card h3{font-family:var(--mono);font-size:1.15rem;color:var(--green);margin-bottom:8px;text-shadow:0 0 8px rgba(0,255,136,0.3)}
.service-card .price{font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--green);text-shadow:0 0 15px rgba(0,255,136,0.4);margin:8px 0}
.service-card .price span{font-size:1rem;color:var(--green-dim)}
.service-card p{font-size:0.9rem;color:var(--text-dim);margin-bottom:16px}
.service-card .features{list-style:none;text-align:left;margin-bottom:16px}
.service-card .features li{font-size:0.85rem;color:var(--text);padding:4px 0;padding-left:20px;position:relative}
.service-card .features li::before{content:'>';position:absolute;left:0;color:var(--green);font-family:var(--mono)}
.svc-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-family:var(--mono);font-size:0.75rem;font-weight:600;color:#050c19;background:linear-gradient(135deg,var(--green),var(--cyan));margin-bottom:12px}
.svc-badge.purple{background:linear-gradient(135deg,var(--purple),var(--cyan))}
.service-card .btn-glass{margin-top:12px;padding:10px 22px;font-size:.82rem}

/* Calculator */
.calc-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:32px;flex-wrap:wrap}
.calc-tab{padding:10px 24px;border-radius:50px;border:1px solid var(--glass-border);background:var(--glass);font-family:var(--mono);font-size:0.85rem;color:var(--text-dim);cursor:pointer;transition:var(--transition)}
.calc-tab.active{background:var(--green-glass);border-color:var(--green);color:var(--green);box-shadow:0 0 15px rgba(0,255,136,0.15)}
.calc-panel{display:none}
.calc-panel.active{display:block}
.calc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.calc-left,.calc-right{display:flex;flex-direction:column;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-family:var(--mono);font-size:0.8rem;color:var(--green-dim)}
.form-group select,.form-group input,.form-group textarea{padding:12px 16px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text-bright);font-size:0.9rem;transition:var(--transition);outline:none;font-family:inherit}
.form-group select:focus,.form-group input:focus,.form-group textarea:focus{border-color:var(--green);box-shadow:0 0 10px rgba(0,255,136,0.1)}
.form-group select option{background:#0a1628;color:var(--text-bright)}
.extras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.extra-check{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--glass-border);background:var(--glass);cursor:pointer;transition:var(--transition);font-size:0.82rem;color:var(--text)}
.extra-check:hover{border-color:var(--green-border)}
.extra-check.checked{border-color:var(--green);background:var(--green-glass);color:var(--green)}
.extra-check input{display:none}
.calc-result{background:var(--green-glass);border:1px solid var(--green-border);border-radius:var(--radius);padding:32px;text-align:center}
.calc-total{font-family:var(--mono);font-size:3.5rem;font-weight:700;color:var(--green);text-shadow:0 0 20px rgba(0,255,136,0.5),0 0 40px rgba(0,255,136,0.2)}
.calc-total span{font-size:1.5rem}
.calc-breakdown{margin-top:16px;font-family:var(--mono);font-size:0.8rem;color:var(--green-dim);line-height:2}
.timeline-opts{display:flex;gap:8px;flex-wrap:wrap}
.timeline-opt{padding:8px 16px;border-radius:8px;border:1px solid var(--glass-border);background:var(--glass);font-family:var(--mono);font-size:0.8rem;color:var(--text-dim);cursor:pointer;transition:var(--transition)}
.timeline-opt.active{border-color:var(--green);color:var(--green);background:var(--green-glass)}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team-card{text-align:center;padding:40px 24px}
.team-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1.8rem;font-weight:700;color:#050c19;background:linear-gradient(135deg,var(--green),var(--cyan));box-shadow:0 0 20px rgba(0,255,136,0.3)}
.team-card h3{font-family:var(--mono);color:var(--green);font-size:1rem;margin-bottom:4px;text-shadow:0 0 8px rgba(0,255,136,0.3)}
.team-card .role{font-family:var(--mono);font-size:0.8rem;color:var(--cyan);margin-bottom:12px}
.team-card p{font-size:0.9rem;color:var(--text-dim)}

/* About */
.about-stats{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.about-stat{text-align:center;padding:20px 28px;border-radius:var(--radius);background:var(--green-glass);border:1px solid var(--green-border)}
.about-stat .num{font-family:var(--mono);font-size:1.6rem;font-weight:700;color:var(--green);text-shadow:0 0 10px rgba(0,255,136,0.4)}
.about-stat .lbl{font-size:0.8rem;color:var(--text-dim);margin-top:4px}
.about-mission{text-align:center;max-width:760px;margin:0 auto 48px;font-size:1.05rem;color:var(--text);line-height:1.8}
.guarantees{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:48px}
.guarantee{text-align:center;padding:24px 16px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border)}
.guarantee .g-icon{font-size:1.8rem;margin-bottom:8px}
.guarantee h4{font-family:var(--mono);font-size:0.85rem;color:var(--green);margin-bottom:4px}
.guarantee p{font-size:0.8rem;color:var(--text-dim)}
.process-steps{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.process-step{text-align:center;padding:20px;position:relative;min-width:140px}
.process-step .step-num{font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--green);text-shadow:0 0 15px rgba(0,255,136,0.4)}
.process-step h4{font-family:var(--mono);font-size:0.9rem;color:var(--text-bright);margin:8px 0 4px}
.process-step p{font-size:0.8rem;color:var(--text-dim)}
.process-arrow{display:flex;align-items:center;color:var(--green);font-family:var(--mono);font-size:1.5rem;opacity:0.4}
.tech-stack{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:60px}
.tech-tag{padding:8px 18px;border-radius:20px;font-family:var(--mono);font-size:0.8rem;border:1px solid var(--green-border);color:var(--green-dim);background:var(--green-glass);transition:var(--transition)}
.tech-tag:hover{color:var(--green);border-color:var(--green);box-shadow:0 0 10px rgba(0,255,136,0.15)}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:60px}
.portfolio-card{padding:24px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border);transition:var(--transition)}
.portfolio-card:hover{border-color:var(--green-border);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,255,136,0.08)}
.portfolio-card h4{font-family:var(--mono);font-size:1rem;color:var(--green);margin-bottom:8px;text-shadow:0 0 6px rgba(0,255,136,0.3)}
.portfolio-card p{font-size:0.85rem;color:var(--text-dim);margin-bottom:12px}
.portfolio-card .p-tag{display:inline-block;padding:4px 10px;border-radius:10px;font-family:var(--mono);font-size:0.7rem;background:var(--green-glass);border:1px solid var(--green-border);color:var(--green-dim);margin-right:4px;margin-top:4px}

/* Case study */
.case-study{padding:32px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--green-border);margin-bottom:24px}
.case-study h3{font-family:var(--mono);color:var(--green);font-size:1.3rem;margin-bottom:8px;text-shadow:0 0 8px rgba(0,255,136,0.3)}
.case-study .cs-meta{font-family:var(--mono);font-size:0.8rem;color:var(--cyan);margin-bottom:12px}
.case-study p{font-size:0.92rem;color:var(--text);margin-bottom:12px}
.case-study ul{list-style:none;padding:0}
.case-study ul li{padding:4px 0 4px 20px;position:relative;font-size:0.88rem;color:var(--text)}
.case-study ul li::before{content:'>';position:absolute;left:0;color:var(--green);font-family:var(--mono)}

.client-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:40px 0}
.client-logo{padding:20px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);text-align:center;font-family:var(--mono);font-size:0.78rem;color:var(--text-dim);transition:var(--transition)}
.client-logo:hover{color:var(--green);border-color:var(--green-border)}

/* Testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testimonial{padding:24px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border)}
.testimonial .stars{color:var(--green);font-size:0.9rem;margin-bottom:8px;letter-spacing:2px}
.testimonial p{font-size:0.9rem;color:var(--text);font-style:italic;margin-bottom:12px}
.testimonial .author{font-family:var(--mono);font-size:0.8rem;color:var(--green-dim)}

/* FAQ */
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{padding:20px 24px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border);transition:var(--transition)}
.faq-item:hover{border-color:var(--green-border)}
.faq-item h4{font-family:var(--mono);color:var(--green);font-size:0.95rem;margin-bottom:8px}
.faq-item p{font-size:0.88rem;color:var(--text-dim)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:40px}
.contact-info{display:flex;flex-direction:column;gap:14px}
.contact-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);transition:var(--transition)}
.contact-item:hover{border-color:var(--green-border);background:var(--green-glass)}
.contact-item svg{width:20px;height:20px;stroke:var(--green);flex-shrink:0}
.contact-item .ci-label{font-family:var(--mono);font-size:0.78rem;color:var(--green-dim)}
.contact-item .ci-value{font-size:0.9rem;color:var(--text-bright)}
.social-links{display:flex;gap:12px;margin-top:8px}
.social-link{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--glass);border:1px solid var(--glass-border);transition:var(--transition)}
.social-link:hover{border-color:var(--green);background:var(--green-glass);box-shadow:0 0 10px rgba(0,255,136,0.15)}
.social-link svg{width:18px;height:18px;fill:var(--text-dim);transition:var(--transition)}
.social-link:hover svg{fill:var(--green)}
.contact-form{display:flex;flex-direction:column;gap:14px}
.contact-form .btn-primary{align-self:flex-start;margin-top:8px}
.map-placeholder{
  margin-top:32px;
  height:220px;
  border-radius:var(--radius);
  background:
    linear-gradient(rgba(0,255,136,0.04),rgba(0,255,136,0.04)),
    repeating-linear-gradient(0deg,transparent 0,transparent 29px,rgba(0,255,136,0.12) 30px),
    repeating-linear-gradient(90deg,transparent 0,transparent 29px,rgba(0,255,136,0.12) 30px);
  border:1px solid var(--green-border);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);color:var(--green-dim);font-size:.9rem;
  position:relative;
}
.map-placeholder::after{content:'> RO::Romania';font-family:var(--mono);color:var(--green);text-shadow:0 0 10px var(--green)}

/* Newsletter */
.newsletter{max-width:560px;margin:60px auto 0;padding:32px;border-radius:var(--radius);background:var(--green-glass);border:1px solid var(--green-border);text-align:center}
.newsletter h3{font-family:var(--mono);color:var(--green);font-size:1.1rem;margin-bottom:8px}
.newsletter p{color:var(--text-dim);font-size:.88rem;margin-bottom:16px}
.newsletter form{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.newsletter input{flex:1;min-width:220px;padding:12px 16px;border-radius:50px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text-bright);font-size:.9rem;outline:none}
.newsletter input:focus{border-color:var(--green)}

/* CTA section */
.cta-section{text-align:center;padding:80px 20px}
.cta-section h2{font-family:var(--mono);color:var(--green);font-size:2rem;margin-bottom:16px;text-shadow:0 0 15px rgba(0,255,136,.4)}
.cta-section p{color:var(--text);margin-bottom:24px}

/* Footer */
footer{position:relative;z-index:1;padding:60px 40px 30px;border-top:1px solid var(--green-border)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;max-width:1200px;margin:0 auto 40px}
.footer-brand .f-logo{font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--green);text-shadow:0 0 8px rgba(0,255,136,0.3);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.footer-brand .f-logo .logo-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green),var(--cyan));font-weight:900;font-size:0.9rem;color:#050c19}
.footer-brand p{font-size:0.85rem;color:var(--text-dim);line-height:1.6}
.footer-col h4{font-family:var(--mono);font-size:0.85rem;color:var(--green);margin-bottom:16px;text-shadow:0 0 5px rgba(0,255,136,0.2)}
.footer-col a{display:block;font-size:0.85rem;color:var(--text-dim);padding:4px 0;transition:var(--transition)}
.footer-col a:hover{color:var(--green)}
.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid var(--glass-border);max-width:1200px;margin:0 auto}
.footer-bottom p{font-size:0.8rem;color:var(--text-dim);font-family:var(--mono)}
.footer-bottom .gdpr{font-size:0.75rem;color:var(--text-dim);margin-top:6px;opacity:0.6}

/* Awards */
.awards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}
.award{text-align:center;padding:20px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border)}
.award .a-icon{font-size:1.8rem;margin-bottom:6px}
.award h5{font-family:var(--mono);font-size:.8rem;color:var(--green);margin-bottom:4px}
.award p{font-size:.72rem;color:var(--text-dim)}

/* ============================================================
   WHATSAPP FLOATING BUTTON
   ============================================================ */
.whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 900;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
  transition: transform 0.3s, box-shadow 0.3s;
  cursor: pointer;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 30px rgba(37, 211, 102, 0.6);
}
.whatsapp-float svg {
  width: 28px;
  height: 28px;
  fill: #fff;
}
@media(max-width: 768px) {
  .whatsapp-float { bottom: 16px; right: 16px; width: 52px; height: 52px; }
}

/* ============================================================
   FORM TOAST NOTIFICATIONS
   ============================================================ */
.form-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  z-index: 9999;
  padding: 14px 28px;
  border-radius: 12px;
  font-family: var(--mono);
  font-size: 0.88rem;
  color: #050c19;
  background: var(--green);
  box-shadow: 0 4px 20px rgba(0,255,136,0.4);
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
}
.form-toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
.form-toast.error {
  background: #ff4444;
  color: #fff;
  box-shadow: 0 4px 20px rgba(255,68,68,0.4);
}

/* Mobile */
@media(max-width:900px){
  .nav-links{display:none}
  .hamburger{display:flex}
  body{cursor:auto}
  a,button,input,select,textarea{cursor:auto}
  .cursor-dot,.cursor-ring{display:none!important}
}
@media(max-width:768px){
  #circuit-canvas{display:none!important}
  .nav{padding:12px 20px}
  section{padding:60px 20px}
  .tw-title{font-size:1.6rem}
  .services-grid,.team-grid,.testimonials-grid{grid-template-columns:1fr}
  .guarantees,.awards-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .calc-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .client-logos{grid-template-columns:repeat(3,1fr)}
  .hero-stats{gap:20px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-stats{gap:16px}
  .process-arrow{display:none}
  .extras-grid{grid-template-columns:1fr}
  #particle-canvas{height:100px}
  .calc-total{font-size:2.5rem}
}
@media(max-width:480px){
  .tw-title{font-size:1.3rem}
  .services-grid,.portfolio-grid,.guarantees,.footer-grid,.awards-grid,.client-logos{grid-template-columns:1fr}
  .hero-buttons{flex-direction:column;align-items:center}
  #particle-canvas{height:70px}
  section{padding:40px 16px}
  .nav{padding:10px 16px}
}
@media(max-width:375px){
  .tw-title{font-size:1.15rem}
  .tw-sub{font-size:0.75rem}
  .calc-total{font-size:2rem}
  .stat-num{font-size:1.2rem}
  .hero-stats{gap:12px}
  .about-stat{padding:12px 8px}
}
@media(max-width:320px){
  .tw-title{font-size:1rem}
  .calc-total{font-size:1.8rem}
  section{padding:30px 12px}
  .glass-card{padding:20px 16px}
}
/* Reduced motion preference */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  #circuit-canvas,#particle-canvas{display:none!important}
  .cursor-dot,.cursor-ring{display:none!important}
  body{cursor:auto}
}
