/* ========= Tokens ========= */
:root{
  --brand:#f25a4a;
  --bg-900:#0e0f12;
  --bg-800:#15171c;
  --text:#eef1f4;
  --muted:#c7ccd6;
  --radius:14px;
  --shadow-soft: 0 10px 28px rgba(0,0,0,0.28);

  /* fonts */
  --font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --font-head: "Sora", "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

html,body{height:100%}
html{ -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
body{ font-family: var(--font-body); background: var(--bg-900); color: var(--text); line-height: 1.6; }
img{max-width:100%;height:auto;display:block}

/* ===== Tipografia ===== */
h1,h2,h3,h4,h5,h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
.h1,.h2,.h3,.h4,.h5,.h6{ font-family: var(--font-head); letter-spacing: -0.015em; }
h1 { font-size: clamp(28px, 5.2vw, 44px); line-height: 1.12; }
h2 { font-size: clamp(22px, 3.6vw, 32px); line-height: 1.18; }
h3 { font-size: clamp(18px, 2.6vw, 22px); line-height: 1.22; }
.display-5{line-height:1.12}
.fw-800{font-weight:800}
.muted,.text-secondary{color:var(--muted)!important}
.link-light{color:#e9edf6}
.link-light:hover{color:#fff}
.text-brand{color:var(--brand)!important}

/* ===== Navbar ===== */
.navbar{background:var(--bg-900)}
.nav-link{opacity:.95}
.nav-link:hover{color:var(--brand)}

/* ===== Sections + transições ===== */
.section{
  position:relative;
  padding-block:clamp(72px,8vw,128px);
  scroll-margin-top:88px;
}
.section--tight{ padding-block: clamp(56px,6vw,96px); }
.section::before{
  content:"";
  position:absolute;left:0;right:0;top:-56px;height:56px;
  background:linear-gradient(180deg, rgba(14,15,18,0), var(--bg-900));
  pointer-events:none;
}
.section--no-fade::before{display:none}
.section--alt{background:#111217}
.section--divide{background:linear-gradient(180deg, #0f1014, #0e0f12)}

/* Section header + eyebrow */
.section-header .eyebrow{
  display:inline-block; padding:.25rem .6rem; border:1px solid rgba(242,90,74,0.45);
  border-radius:999px; background:linear-gradient(180deg, rgba(242,90,74,0.08), rgba(255,255,255,0.02));
  font-size:.8rem; letter-spacing:.02em; box-shadow:0 4px 16px rgba(242,90,74,0.12); margin-bottom:.6rem;
}

/* Steps */
.card-step .step-badge{
  width:32px; height:32px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
  font-weight:800; background:rgba(242,90,74,0.16); color:#fff; border:1px solid rgba(242,90,74,0.45);
}
.card-step h3{ margin:.5rem 0 .25rem; }

/* ===== Botões ===== */
.btn-pill{border-radius:999px!important}
.btn-brand{
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: #d94d3e;
  --bs-btn-hover-border-color: #d94d3e;
  --bs-btn-color: #fff;
  padding:.7rem 1.1rem;
}
.btn-outline-light{
  border-radius:999px;
  border-color:rgba(255,255,255,.45);
  color:#fff;
}
.btn-outline-light:hover{background:#fff;color:#000}
/* Button typography fix */
.btn{ font-family: var(--font-body); font-weight: 600; letter-spacing: 0; }

/* ===== HERO com “conexões” ===== */
.hero--network{
  overflow:hidden;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(242,90,74,0.18), transparent 60%),
    radial-gradient(900px 500px at 120% 10%, rgba(242,90,74,0.08), transparent 60%),
    var(--bg-900);
}
.hero--network::after{
  content:"";
  position:absolute;inset:0;opacity:0.45;pointer-events:none;mix-blend-mode:lighten;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'%3E%3Cpath d='M20 30 L90 20 L170 40 L150 100 L70 90 Z'/%3E%3Cpath d='M30 150 L80 120 L140 140 L190 160'/%3E%3Cpath d='M40 70 L70 120 L110 60 L160 110'/%3E%3C/g%3E%3Cg fill='rgba(255,255,255,0.05)'%3E%3Ccircle cx='20' cy='30' r='2'/%3E%3Ccircle cx='90' cy='20' r='2'/%3E%3Ccircle cx='170' cy='40' r='2'/%3E%3Ccircle cx='150' cy='100' r='2'/%3E%3Ccircle cx='70' cy='90' r='2'/%3E%3Ccircle cx='30' cy='150' r='2'/%3E%3Ccircle cx='80' cy='120' r='2'/%3E%3Ccircle cx='140' cy='140' r='2'/%3E%3Ccircle cx='190' cy='160' r='2'/%3E%3Ccircle cx='40' cy='70' r='2'/%3E%3Ccircle cx='110' cy='60' r='2'/%3E%3Ccircle cx='160' cy='110' r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-size:300px 300px;background-repeat:repeat;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem}
@media (max-width: 992px){.hero-grid{display:block}}

/* Pílula hero */
.hero-pill{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem 1rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.03);
  font-weight:700;color:#fff
}
.hero-pill i{color:var(--brand)}
.hero-pill .sep{opacity:.65;padding:0 .25rem}

/* Mockup */
.mockup-card{
  background:#0f1116;border:1px solid rgba(255,255,255,.08);
  border-radius:16px;box-shadow:var(--shadow-soft);overflow:hidden
}
.mockup-card__img{display:block;width:100%;height:auto;opacity:.98}

/* Cards pilares */
.card-pro{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:1.2rem;position:relative;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;height:100%
}
.card-pro{ display:flex; flex-direction:column; }
.card-pro p{ flex:1; }
.card-pro i{font-size:2rem;color:var(--brand)}
.card-pro h3{margin:.6rem 0 .25rem;font-size:1.05rem;font-weight:800;font-family:var(--font-head)}
.card-pro p{color:var(--muted);margin-bottom:1rem}
.card-pro:hover{
  transform:translateY(-4px);
  border-color:rgba(242,90,74,.4);
  background:linear-gradient(180deg, rgba(242,90,74,.06), rgba(255,255,255,.01))
}
.card-pro .btn{margin-top:.25rem}

/* Lista com ícone */
.list-icon{list-style:none;padding-left:0}
.list-icon li{margin:.55rem 0;display:flex;gap:.6rem;align-items:flex-start}
.list-icon i{color:var(--brand);margin-top:.2rem}

/* Tiles de portfólio */
.case-tile{position:relative;overflow:hidden;border-radius:16px;background:#111318;border:1px solid rgba(255,255,255,.08)}
.case-tile img{aspect-ratio: 3 / 2; object-fit: cover; width:100%; height:auto; opacity:.92; transition:transform .35s ease,opacity .35s ease}
.case-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem;background:linear-gradient(180deg, transparent, rgba(0,0,0,.7));color:#e9eaee}
.case-tile strong{display:block;font-family:var(--font-head)}
.case-tile span{color:#c9cfd8;font-size:.9rem}
.case-tile:hover img{transform:scale(1.03);opacity:1}

/* CTA ribbon */
.cta-ribbon{background:radial-gradient(800px 240px at 15% 0, rgba(242,90,74,.18), transparent 60%), #111217;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
/* Positive CTA buttons */
.btn-positive{
  --bs-btn-bg: #22c55e;
  --bs-btn-border-color: #22c55e;
  --bs-btn-hover-bg: #1fb455;
  --bs-btn-hover-border-color: #1fb455;
  --bs-btn-color: #0b0d12;
  color:#0b0d12;
}
.btn-outline-positive{
  border-color: rgba(34,197,94,.6);
  color: #b8f7cf;
}
.btn-outline-positive:hover{ background:#22c55e; color:#0b0d12; border-color:#22c55e; }

/* Forms genérico */
.form-control{background:#0f1116;border-color:#24262d;color:var(--text)}
.form-control:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem rgba(242,90,74,.18)}
.is-invalid{border-color:#dc3545!important}
.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.18)!important}

/* A11y */
:focus-visible{outline:3px solid rgba(242,90,74,.6);outline-offset:2px}

/* tighten hero lead copy and limit line length */
.lead { font-size: clamp(16px, 1.7vw, 18px); max-width: 60ch; }

/* ===== Testimonials (WhatsApp prints) ===== */
.t-masonry { columns: 3 280px; column-gap: 1rem; }
.t-shot { display:block; break-inside: avoid; margin:0 0 1rem;
  background:#0f1116; border:1px solid rgba(255,255,255,0.08);
  border-radius:16px; box-shadow: var(--shadow-soft); padding:.5rem;
}
.t-shot img { width:100%; height:auto; display:block; border-radius:12px;
  object-fit: contain; background:#0b0d12;
}
.t-cap { font-size: .875rem; color: var(--muted); margin-top:.35rem; }

/* Mobile horizontal scroll */
.snap-x::-webkit-scrollbar { height:8px; }
.snap-x::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.2); border-radius:999px; }

/* Process section contrast */
.process-steps .card-pro p { color: var(--text); opacity: 0.9; }
