:root{--accent:#814AC8}
*{box-sizing:border-box}
.container{max-width:1100px;margin-inline:auto;padding-inline:1rem}
.accent{color:var(--accent)}
.section-title{font-size:1.75rem;font-weight:600}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(8px);background:rgba(0,0,0,.35);border-bottom:1px solid rgba(255,255,255,.08);transition:.25s}
.site-header.scrolled{background:rgba(0,0,0,.6);box-shadow:0 10px 30px -20px rgba(0,0,0,.6)}
.brand-logo{height:80px;width:auto}
.lang-switch{display:flex;gap:.25rem;border:1px solid rgba(255,255,255,.12);border-radius:.6rem;padding:.15rem;background:rgba(255,255,255,.04)}
.lang-btn{padding:.35rem .5rem;border-radius:.4rem;font-size:.8rem;color:rgba(255,255,255,.85);transition:.2s}
.lang-btn.active,.lang-btn:hover{background:#814AC8;color:#fff}
.chip{padding:.5rem .85rem;border-radius:9999px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.8);transition:.2s}
.chip:hover{color:#fff;border-color:rgba(255,255,255,.25);transform:translateY(-1px)}
.icon-btn{padding:.5rem .7rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem}
.menu-icon{display:block;width:22px;height:2px;background:#fff;position:relative}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff}
.menu-icon::before{top:-6px}.menu-icon::after{top:6px}
.mobile-menu{display:none;padding:.5rem 1rem 1rem;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.6)}
.mobile-menu.open{display:grid;gap:.5rem}
.mobile-link{padding:.7rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:rgba(255,255,255,.04)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.15rem;border-radius:9999px;border:1px solid rgba(255,255,255,.12);transition:.2s;transform:translateZ(0)}
.btn-primary{background:rgba(255,255,255,.06);box-shadow:0 8px 30px -10px rgba(129,74,200,.5), inset 0 0 0 1px rgba(129,74,200,.2)}
.btn:hover,.chip:hover,.mobile-link:hover,.footer-link:hover{background:#814AC8;border-color:#814AC8;color:#fff;transform:translateY(-1px)}
.btn-ghost{color:rgba(255,255,255,.9)}
.btn-soft{background:rgba(255,255,255,.04)}
.pill{border:1px solid rgba(255,255,255,.12);padding:.6rem .9rem;border-radius:.75rem;background:rgba(255,255,255,.04)}
.card{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:1rem;padding:1.25rem;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));transition:.25s;transform:translateZ(0)}
.card:hover{border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.card-icon{font-size:1.25rem;opacity:.9}
.card-title{margin-top:.35rem;font-size:1.1rem;font-weight:600}
.card-text{margin:.35rem 0 0;color:rgba(255,255,255,.75)}
.list{margin:.75rem 0 1rem .2rem;padding-left:1rem;color:rgba(255,255,255,.85)}
.list li{margin:.25rem 0;list-style:disc}
.work-card{border:1px solid rgba(255,255,255,.12);border-radius:1rem;overflow:hidden;background:rgba(255,255,255,.04);transition:.25s}
.work-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2)}
.work-thumb-img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover;background:#000}
.cta{border:1px solid rgba(255,255,255,.12);border-radius:1rem;padding:1.25rem;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.03))}
.kpi{border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:rgba(255,255,255,.04);padding:1rem}
.kpi-label{color:rgba(255,255,255,.6);font-size:.9rem}
.kpi-value{font-weight:600}
.form{border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.04);padding:1.25rem}
.label{font-size:.85rem;color:rgba(255,255,255,.7)}
.input{width:100%;margin-top:.35rem;background:#000;border:1px solid rgba(255,255,255,.15);color:#fff;padding:.7rem;border-radius:.6rem;outline:none;transition:.2s}
.input:focus{border-color:rgba(255,255,255,.3)}
.footer-link:hover{color:#fff}
.glow{position:absolute;filter:blur(60px);opacity:.45}
.glow-a{width:700px;height:350px;left:5%;top:-10%;background:radial-gradient(ellipse at center, rgba(129,74,200,.35), transparent 60%)}
.glow-b{width:700px;height:350px;right:10%;top:-5%;background:radial-gradient(ellipse at center, rgba(129,74,200,.25), transparent 60%)}


/* Mobile refinements */
@media (max-width: 768px) {
  .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .hero {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .section-title {
    font-size: 1.5rem;
    line-height: 1.2;
  }
  #servicos .grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .card {
    padding: 1.25rem 1rem;
  }
  .card-text {
    font-size: 0.95rem;
    line-height: 1.5;
  }
  .btn {
    width: 100%;
    text-align: center;
  }
  header.navbar {
    gap: 0.75rem;
  }
}
