:root{
  --mdp-bg:#050507;
  --mdp-card:#0f1118;
  --mdp-card-2:#151826;
  --mdp-text:#f7f7f7;
  --mdp-muted:#b8bcc8;
  --mdp-pink:#f31765;
  --mdp-blue:#1b61ec;
  --mdp-cyan:#10c4e6;
  --mdp-orange:#f87e06;
  --mdp-purple:#9955d8;
  --mdp-border:rgba(255,255,255,.12);
}

*{scroll-behavior:smooth}
body{
  font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 15% 15%, rgba(243,23,101,.16), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(16,196,230,.13), transparent 28%),
    radial-gradient(circle at 60% 100%, rgba(248,126,6,.12), transparent 30%),
    var(--mdp-bg);
  color:var(--mdp-text);
  overflow-x:hidden;
}

.navbar{
  background:rgba(5,5,7,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--mdp-border);
}
.navbar-brand img{height:48px;width:48px;object-fit:contain;border-radius:50%}
.nav-link{color:rgba(255,255,255,.82)!important;font-weight:500}
.nav-link:hover,.nav-link.active{color:#fff!important;text-shadow:0 0 14px rgba(16,196,230,.9)}

.btn-gradient{
  border:0;
  color:white;
  font-weight:700;
  background:linear-gradient(90deg,var(--mdp-pink),var(--mdp-blue),var(--mdp-cyan));
  box-shadow:0 12px 35px rgba(16,196,230,.22);
}
.btn-gradient:hover{color:white;transform:translateY(-2px);filter:brightness(1.08)}
.btn-outline-neon{border:1px solid rgba(16,196,230,.65);color:#fff;background:transparent}
.btn-outline-neon:hover{background:rgba(16,196,230,.13);color:#fff}

.hero{
  min-height:100vh;
  padding-top:96px;
  display:flex;
  align-items:center;
  position:relative;
}
.hero::before{
  content:'';
  position:absolute;
  inset:90px auto auto -160px;
  width:420px;height:420px;border-radius:50%;
  background:linear-gradient(135deg,var(--mdp-pink),var(--mdp-orange));
  filter:blur(90px);opacity:.24;
}
.logo-neon-ring{
  max-width:470px;
  width:100%;
  aspect-ratio:1/1;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
  animation:float 4s ease-in-out infinite;
}
.logo-neon-ring::before{
  content:'';
  position:absolute;
  inset:-10px;
  border-radius:50%;
  background:conic-gradient(from 0deg,var(--mdp-pink),var(--mdp-purple),var(--mdp-blue),var(--mdp-cyan),#6fffd2,var(--mdp-orange),var(--mdp-pink));
  filter:blur(22px);
  opacity:.62;
  z-index:0;
  animation:spinGlow 7s linear infinite, ringPulse 2.4s ease-in-out infinite;
}
.logo-neon-ring::after{
  content:'';
  position:absolute;
  inset:4px;
  border-radius:50%;
  padding:4px;
  background:conic-gradient(from 0deg,var(--mdp-pink),var(--mdp-purple),var(--mdp-blue),var(--mdp-cyan),#6fffd2,#ffd21f,var(--mdp-orange),var(--mdp-pink));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 14px rgba(243,23,101,.8)) drop-shadow(0 0 18px rgba(16,196,230,.85));
  z-index:3;
  pointer-events:none;
  animation:spinGlow 7s linear infinite;
}
.hero-logo{
  width:100%;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 0 30px rgba(16,196,230,.25));
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes spinGlow{to{transform:rotate(360deg)}}
@keyframes ringPulse{
  0%,100%{opacity:.48;transform:scale(.985)}
  50%{opacity:.9;transform:scale(1.025)}
}
.gradient-text{
  background:linear-gradient(90deg,var(--mdp-pink),var(--mdp-blue),var(--mdp-cyan),var(--mdp-orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section-title{font-weight:800;letter-spacing:-.04em}
.section-subtitle{color:var(--mdp-muted);max-width:760px;margin:auto}

.carousel-card{
  min-height:455px;
  border:1px solid var(--mdp-border);
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(243,23,101,.25),rgba(16,196,230,.14)),#080910;
  box-shadow:0 20px 80px rgba(0,0,0,.45);
}
.carousel-item{padding:50px 34px}
.carousel-icon{
  width:78px;height:78px;border-radius:22px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid var(--mdp-border);
  font-size:2.1rem;
}

.service-card,.software-card,.portfolio-card{
  height:100%;
  background:linear-gradient(180deg,var(--mdp-card-2),var(--mdp-card));
  border:1px solid var(--mdp-border);
  border-radius:24px;
  padding:28px;
  transition:.25s ease;
  position:relative;
  overflow:hidden;
}
.service-card::before,.software-card::before,.portfolio-card::before{
  content:'';position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--mdp-pink),var(--mdp-blue),var(--mdp-cyan),var(--mdp-orange));
}
.service-card:hover,.software-card:hover,.portfolio-card:hover{
  transform:translateY(-7px);
  border-color:rgba(16,196,230,.45);
  box-shadow:0 18px 50px rgba(0,0,0,.34);
}
.icon-box{
  width:58px;height:58px;border-radius:18px;
  display:grid;place-items:center;
  font-size:1.7rem;color:#fff;
  background:linear-gradient(135deg,var(--mdp-pink),var(--mdp-blue));
  margin-bottom:18px;
}
.portfolio-card{padding:0}
.portfolio-thumb{
  min-height:210px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(243,23,101,.25),rgba(16,196,230,.2),rgba(248,126,6,.18));
}
.portfolio-thumb i{font-size:4rem;opacity:.9}
.portfolio-body{padding:24px}
.badge-soft{
  background:rgba(255,255,255,.08);
  border:1px solid var(--mdp-border);
  color:#fff;
  font-weight:500;
}

.contact-box{
  background:linear-gradient(135deg,rgba(243,23,101,.12),rgba(16,196,230,.10)),var(--mdp-card);
  border:1px solid var(--mdp-border);
  border-radius:28px;
  padding:32px;
}
.form-control,.form-select{
  background:rgba(255,255,255,.06);
  border:1px solid var(--mdp-border);
  color:#fff;
}
.form-control:focus,.form-select:focus{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:var(--mdp-cyan);
  box-shadow:0 0 0 .25rem rgba(16,196,230,.12);
}
.form-control::placeholder{color:rgba(255,255,255,.48)}
.form-select option{color:#111}

.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:999;
  width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;text-decoration:none;color:white;
  background:#25d366;font-size:2rem;
  box-shadow:0 12px 30px rgba(37,211,102,.38);
  animation:pulse 1.7s infinite;
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 17px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
footer{border-top:1px solid var(--mdp-border);background:rgba(0,0,0,.28)}

@media(max-width:767px){
  .hero{padding-top:92px;text-align:center;min-height:auto;padding-bottom:50px}
  .carousel-card{min-height:500px}
  .carousel-item{padding:38px 22px}
}

/* Logo sem círculo na imagem: o círculo brilhante é feito apenas pelo site */
.navbar-brand img{
  border-radius:14px;
  background:transparent;
}
.logo-neon-ring{
  padding:10px;
}
.logo-neon-ring::before{
  inset:-16px;
  opacity:.75;
  filter:blur(26px);
}
.logo-neon-ring::after{
  inset:8px;
  padding:5px;
  filter:drop-shadow(0 0 18px rgba(243,23,101,.95)) drop-shadow(0 0 22px rgba(16,196,230,.95)) drop-shadow(0 0 12px rgba(248,126,6,.65));
}
.hero-logo{
  border-radius:50%;
}
