/* ===========================================================
   PÁGINAS INTERNAS — estilos compartilhados
   =========================================================== */

/* Hero compacto para páginas internas */
.page-hero{
  position:relative;
  padding:calc(var(--nav-h) + clamp(60px,10vw,140px)) 0 clamp(40px,6vw,80px);
  overflow:hidden;
}
.page-hero::before{
  content:''; position:absolute; top:-20%; left:50%; transform:translateX(-50%);
  width:120vmax; height:80vmax; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse, var(--accent-soft) 0%, transparent 55%);
  opacity:.6;
}
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ font-size:clamp(2.8rem, 6.5vw, 5.6rem); max-width:18ch; }
.page-hero p.lead{ margin-top:1.5rem; }
.page-hero__meta{
  display:flex; gap:1.5rem; flex-wrap:wrap;
  margin-top:2rem; font-family:var(--font-mono);
  font-size:.8rem; letter-spacing:.18em; color:var(--text-mute);
  text-transform:uppercase;
}
.page-hero__meta span{ display:inline-flex; align-items:center; gap:.6rem; }
.page-hero__meta span::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); }

/* Section variants */
.split-2{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,6vw,90px);
  align-items:start;
}
@media (max-width:880px){ .split-2{ grid-template-columns:1fr; } }
.split-2 h2{ font-size:clamp(2rem, 3.6vw, 3.2rem); }
.split-2 p{ color:var(--text-dim); font-size:1.05rem; line-height:1.7; margin-bottom:1rem; }

/* Timeline */
.timeline{ position:relative; max-width:880px; margin:0 auto; padding-left:60px; }
.timeline::before{
  content:''; position:absolute; left:18px; top:8px; bottom:8px; width:1px;
  background:linear-gradient(180deg, var(--accent), transparent 95%);
}
.timeline__item{ position:relative; padding-bottom:3rem; }
.timeline__item::before{
  content:''; position:absolute; left:-50px; top:6px;
  width:14px; height:14px; border-radius:50%;
  background:var(--bg); border:2px solid var(--accent);
  box-shadow:0 0 0 4px var(--accent-soft);
}
.timeline__year{ font-family:var(--font-mono); color:var(--accent); font-size:.9rem; letter-spacing:.2em; margin-bottom:.4rem; }
.timeline__title{ font-size:1.3rem; font-weight:600; margin-bottom:.6rem; }
.timeline__text{ color:var(--text-dim); }

/* Values list (sobre — não usado na home a pedido) */
.value{ display:flex; gap:1.2rem; align-items:flex-start; padding:1.5rem; border-radius:var(--radius); background:var(--bg-glass); border:1px solid var(--border); transition:border-color .3s; }
.value:hover{ border-color:var(--border-strong); }
.value__num{ font-family:var(--font-mono); color:var(--accent); flex:none; }

/* Team grid completo */
.team-full{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:980px){ .team-full{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .team-full{ grid-template-columns:1fr; } }
.team-full .team-card{ padding:2rem 1.6rem; }
.team-full .team-card__avatar{ width:96px; height:96px; }
.team-full .team-card p{ margin-top:1rem; font-size:.92rem; color:var(--text-dim); line-height:1.6; }

/* Pricing card */
.pricing{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem;
}
@media (max-width:880px){ .pricing{ grid-template-columns:1fr; } }
.price-card{
  padding:clamp(28px,3.5vw,44px);
  background:var(--bg-glass); border:1px solid var(--border);
  border-radius:var(--radius); display:flex; flex-direction:column; gap:1.6rem;
  position:relative; overflow:hidden;
}
.price-card--highlight{
  background:linear-gradient(160deg, var(--accent-soft), transparent);
  border-color:var(--accent-soft);
}
.price-card__name{ font-family:var(--font-mono); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); }
.price-card__value{ font-size:clamp(2.4rem, 4vw, 3.4rem); font-weight:700; letter-spacing:-0.03em; }
.price-card__value small{ font-size:.45em; color:var(--text-mute); font-weight:400; margin-left:.4rem; }
.price-card__desc{ color:var(--text-dim); }
.price-card ul{ list-style:none; display:flex; flex-direction:column; gap:.7rem; }
.price-card li{ padding-left:1.6rem; position:relative; color:var(--text); font-size:.95rem; }
.price-card li::before{ content:'✓'; position:absolute; left:0; color:var(--accent); font-weight:700; }
.price-card .btn{ margin-top:auto; align-self:flex-start; }

/* Service stack table */
.stack-table{
  width:100%; border-collapse:separate; border-spacing:0;
  background:var(--bg-glass); border:1px solid var(--border);
  border-radius:var(--radius); overflow:hidden;
}
.stack-table th, .stack-table td{
  padding:1.2rem 1.4rem; text-align:left;
  border-bottom:1px solid var(--border); font-size:.95rem;
}
.stack-table th{
  background:var(--bg-glass-strong);
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text-mute); font-weight:500;
}
.stack-table tr:last-child td{ border-bottom:none; }
.stack-table tr.total td{ font-weight:600; color:var(--accent); background:var(--accent-soft); }

/* "Em breve" hero pra cases / blog */
.coming-soon{
  text-align:center; padding:clamp(80px,12vw,160px) 0;
  position:relative;
}
.coming-soon h2{
  font-size:clamp(3rem, 9vw, 8rem); font-weight:800; letter-spacing:-0.05em;
  background:linear-gradient(180deg, #fff 0%, transparent 130%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  line-height:1;
}
.coming-soon h2 .pulse{
  display:inline-block; width:14px; height:14px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 24px var(--accent);
  animation:pulse 1.6s ease-in-out infinite;
  vertical-align:middle; margin-bottom:.2em;
}
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.4); opacity:.5; } }

/* Filtros */
.filters{ display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:3rem; }
.filters button{
  padding:.6rem 1.1rem; border-radius:999px; font-size:.88rem;
  border:1px solid var(--border-strong); color:var(--text-dim);
  transition:all .25s var(--ease);
}
.filters button:hover, .filters button.is-active{
  border-color:var(--accent); color:var(--accent); background:var(--accent-soft);
}

/* Form contato */
.contact-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(40px,5vw,80px);
}
@media (max-width:880px){ .contact-grid{ grid-template-columns:1fr; } }
.form{
  display:flex; flex-direction:column; gap:1.2rem;
  padding:clamp(28px,3.5vw,44px);
  background:var(--bg-glass); border:1px solid var(--border);
  border-radius:var(--radius);
}
.form label{ display:flex; flex-direction:column; gap:.5rem; font-size:.85rem; color:var(--text-dim); font-family:var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.form input, .form textarea{
  width:100%; padding:1rem 1.2rem;
  background:var(--bg); border:1px solid var(--border-strong);
  border-radius:12px; color:var(--text);
  font-family:var(--font-sans); font-size:1rem;
  transition:border-color .25s, box-shadow .25s;
}
.form input:focus, .form textarea:focus{
  outline:none; border-color:var(--accent);
  box-shadow:0 0 0 4px var(--accent-soft);
}
.form textarea{ min-height:120px; resize:vertical; }
.form .btn{ align-self:flex-start; margin-top:.5rem; }

.contact-info{ display:flex; flex-direction:column; gap:1.4rem; }
.contact-info__item{
  padding:1.4rem 1.6rem; background:var(--bg-glass);
  border:1px solid var(--border); border-radius:var(--radius);
  display:flex; gap:1.2rem; align-items:flex-start;
}
.contact-info__item .ic{
  width:42px; height:42px; border-radius:10px; flex:none;
  background:var(--accent-soft); color:var(--accent);
  display:grid; place-items:center; font-weight:700;
}
.contact-info__item h4{ font-size:1rem; margin-bottom:.3rem; }
.contact-info__item p{ color:var(--text-dim); font-size:.92rem; }

/* Comparativo */
.compare{
  padding:clamp(28px,3.5vw,44px);
  background:var(--bg-glass); border:1px solid var(--border);
  border-radius:var(--radius);
}
.compare__total{
  margin-top:1rem; padding-top:1.4rem; border-top:1px solid var(--border-strong);
  display:flex; justify-content:space-between; align-items:center;
  font-size:1.3rem; font-weight:600;
}
.compare__total .accent{ font-size:1.5rem; }
