:root{
  --red:#d62839;
  --red-soft:#fbe7e9;
  --green:#1f7a4d;
  --green-soft:#e4f2ea;
  --ink:#1b1d21;
  --paper:#ffffff;
  --paper-dim:#f6f6f4;
  --muted:#6d7178;
  --line:rgba(27,29,33,0.10);
  --radius-lg:20px;
  --radius-md:14px;
  --radius-full:999px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
}
h1,h2,h3{
  font-family:'Poppins', sans-serif;
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.01em;
}
p{color:rgba(27,29,33,0.72);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{list-style:none;}

.wrap{max-width:1160px; margin:0 auto; padding:0 40px;}

/* PILL TAG (categoria da página) */
.pill-tag{
  display:inline-block;
  font-size:0.82rem;
  font-weight:600;
  padding:6px 16px;
  border-radius:var(--radius-full);
  margin-bottom:18px;
}
.pill-tag-red{background:var(--red-soft); color:var(--red);}
.pill-tag-green{background:var(--green-soft); color:var(--green);}

/* HEADER / NAV */
header.top{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 40px;
  gap:20px; flex-wrap:wrap;
}
.logo{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:1.15rem;
  display:flex; align-items:center; gap:10px;
}
.logo-badge{
  width:40px; height:40px;
  background:#000;
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; flex-shrink:0;
}
.logo-badge img{width:100%; height:100%; object-fit:contain;}
.log-tag{
  font-size:0.6rem; font-weight:700;
  background:var(--green); color:#fff; padding:3px 8px;
  border-radius:var(--radius-full); vertical-align:middle;
}
nav.tabs{
  display:flex; gap:4px; flex-wrap:wrap;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-full);
  padding:5px;
}
nav.tabs a{
  font-size:0.88rem; font-weight:500;
  padding:9px 16px;
  border-radius:var(--radius-full);
  color:var(--muted);
}
nav.tabs a:hover{color:var(--ink);}
nav.tabs a.active{background:var(--ink); color:#fff;}
.nav-cta{
  font-size:0.88rem; font-weight:600;
  padding:11px 22px;
  background:var(--red);
  color:#fff !important;
  border-radius:var(--radius-full);
  white-space:nowrap;
}
.nav-cta:hover{background:#b8202f;}

section{padding:72px 40px;}
.section-inner{max-width:1160px; margin:0 auto;}

/* HERO */
.hero{padding:64px 40px 56px;}
.hero-grid{max-width:1160px; margin:0 auto;}
.hero h1{
  font-size:clamp(2.2rem, 4.6vw, 3.6rem);
  max-width:18ch;
  margin-bottom:22px;
}
.hero p.lead{
  font-size:1.15rem;
  max-width:56ch;
  color:var(--muted);
  margin-bottom:32px;
}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:48px;}
.btn{
  font-family:'Inter', sans-serif;
  font-size:0.92rem;
  font-weight:600;
  padding:14px 26px;
  border-radius:var(--radius-full);
  display:inline-block;
  border:1px solid transparent;
}
.btn-primary{background:var(--red); color:#fff;}
.btn-primary:hover{background:#b8202f;}
.btn-ghost{border-color:rgba(27,29,33,0.25); color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}
.btn-whatsapp{background:var(--green); color:#fff;}
.btn-whatsapp:hover{background:#175f3c;}

/* STAT ROW (tipográfico, à la Loggi) */
.stat-row{
  display:flex; gap:48px; flex-wrap:wrap;
  border-top:1px solid var(--line);
  padding-top:32px;
}
.stat{min-width:140px; max-width:220px;}
.stat-num{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:2rem;
  line-height:1;
}
.stat-num-red{color:var(--red);}
.stat-num-green{color:var(--green);}
.stat-num-ink{color:var(--ink);}
.stat-label{
  font-size:0.85rem;
  color:var(--muted);
  margin-top:6px;
}

/* PAGE HERO (subpáginas) */
.page-hero{background:var(--paper-dim); padding:56px 40px 48px;}
.page-hero-inner{max-width:1160px; margin:0 auto;}
.page-hero h1{font-size:clamp(1.9rem, 4vw, 2.8rem); max-width:22ch; margin-bottom:14px;}
.page-hero p{font-size:1.05rem; max-width:58ch;}

/* FEATURE ROWS (editorial, não card-grid genérico) */
.feature-row{
  display:flex; gap:24px;
  padding:32px 0;
  border-top:1px solid var(--line);
  align-items:flex-start;
}
.feature-row:last-child{border-bottom:1px solid var(--line);}
.feature-icon{
  width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; flex-shrink:0;
}
.feature-icon-red{background:var(--red-soft);}
.feature-icon-green{background:var(--green-soft);}
.feature-icon-ink{background:var(--paper-dim); border:1px solid var(--line);}
.feature-body h3{font-size:1.2rem; margin-bottom:8px;}
.feature-body p{max-width:70ch; font-size:0.98rem;}

/* GRID de atributos paralelos (capacidade, comex pilares) */
.attr-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:0 48px;
}
.attr-item{
  padding:26px 0;
  border-top:1px solid var(--line);
}
.attr-item h3{font-size:1.1rem; margin-bottom:8px;}
.attr-item p{font-size:0.94rem;}
.attr-eyebrow{font-size:0.82rem; font-weight:600; color:var(--red); display:block; margin-bottom:6px;}

/* TEASER (home - nossa operação) */
.teaser-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:28px;
}
.teaser-card{padding:4px;}
.teaser-icon{
  width:52px; height:52px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; margin-bottom:16px;
  background:var(--paper-dim);
}
.teaser-card h3{font-size:1.1rem; margin-bottom:8px;}
.teaser-card p{font-size:0.93rem;}

/* TAG PILLS (comex - lista de capacidades) */
.tag-row{display:flex; flex-wrap:wrap; gap:10px;}
.tag-pill{
  font-size:0.85rem;
  padding:9px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-full);
  color:rgba(27,29,33,0.75);
  background:var(--paper);
}

/* CLIENT LOGOS STRIP */
.clients-strip{
  display:flex; align-items:center; justify-content:center;
  gap:32px 48px; flex-wrap:wrap;
}
.clients-strip img{
  max-height:64px; width:auto;
  filter:grayscale(1) opacity(0.55);
  transition:filter .2s ease;
}
.clients-strip img.logo-vivo{max-height:36px;}
.clients-strip img:hover{filter:none;}

/* SOBRE / duas colunas */
.about-wrap{display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start;}
.about-wrap h2{font-size:1.9rem; margin-bottom:20px; max-width:18ch;}
.about-wrap p{margin-bottom:16px; max-width:56ch; font-size:1rem;}
.about-card{background:var(--paper-dim); border-radius:var(--radius-lg); padding:32px;}
.about-card .pill-tag{margin-bottom:20px;}
.about-card blockquote{font-family:'Poppins', sans-serif; font-weight:500; font-size:1.2rem; line-height:1.35; margin-bottom:14px;}
.about-card cite{font-style:normal; font-size:0.85rem; color:var(--muted);}

/* DUAS OPÇÕES (trabalhe conosco) */
.path-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:24px;}
.path-card{
  background:var(--paper-dim);
  border-radius:var(--radius-lg);
  padding:32px;
}
.path-card .pill-tag{margin-bottom:16px;}
.path-card h3{font-size:1.3rem; margin-bottom:12px;}
.path-card p{font-size:0.96rem; margin-bottom:20px;}
.path-card ul{margin:0 0 24px 0;}
.path-card ul li{
  font-size:0.92rem; color:rgba(27,29,33,0.72);
  padding:8px 0 8px 26px; position:relative;
  border-top:1px solid var(--line);
}
.path-card ul li:first-child{border-top:none;}
.path-card ul li::before{
  content:"✓"; position:absolute; left:0; color:var(--green); font-weight:700;
}

/* CONTATO */
.contact-wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px;}
.contact-wrap h2{font-size:2rem; max-width:16ch; margin-bottom:18px;}
.contact-card{background:var(--paper-dim); border-radius:var(--radius-lg); padding:28px;}
.contact-card div{
  font-size:0.9rem;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.contact-card div:first-child{border-top:none;}
form{display:flex; flex-direction:column; gap:16px;}
label{font-size:0.82rem; font-weight:600; color:var(--muted); margin-bottom:6px; display:block;}
input, textarea, select{
  width:100%;
  background:var(--paper-dim);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:0.95rem;
  padding:13px 16px;
  outline:none;
}
input:focus, textarea:focus, select:focus{border-color:var(--green);}
textarea{resize:vertical; min-height:90px;}
.submit-btn{
  margin-top:6px;
  background:var(--green);
  color:#fff;
  border:none;
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:0.95rem;
  padding:15px 26px;
  border-radius:var(--radius-full);
  cursor:pointer;
  align-self:flex-start;
}
.submit-btn:hover{background:#175f3c;}
.submit-btn:disabled{opacity:0.7; cursor:default;}
.form-feedback{
  display:none;
  font-size:0.9rem;
  font-weight:500;
  padding:12px 16px;
  border-radius:var(--radius-md);
}
.form-feedback-ok{background:var(--green-soft); color:var(--green);}
.form-feedback-error{background:var(--red-soft); color:var(--red);}

/* FOOTER */
footer.site-footer{
  background:var(--paper-dim);
  padding:56px 40px 28px;
  margin-top:40px;
}
.footer-grid{
  max-width:1160px; margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:40px;
  padding-bottom:36px;
}
.footer-brand .logo{margin-bottom:14px;}
.footer-brand p{font-size:0.9rem; max-width:34ch;}
.footer-col h4{font-size:0.92rem; font-weight:600; margin-bottom:14px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{font-size:0.9rem; color:var(--muted);}
.footer-col ul li a:hover{color:var(--ink);}
.footer-bottom{
  max-width:1160px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  padding-top:24px; border-top:1px solid var(--line);
  font-size:0.82rem; color:var(--muted);
}
.footer-bottom a{color:var(--muted);}
.footer-bottom a:hover{color:var(--ink);}

@media (max-width: 900px){
  section{padding:48px 22px;}
  .page-hero{padding:40px 22px 36px;}
  .hero{padding:44px 22px 40px;}
  header.top{padding:16px 22px;}
  nav.tabs{
    width:100%;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    justify-content:flex-start;
  }
  nav.tabs::-webkit-scrollbar{display:none;}
  nav.tabs a{white-space:nowrap;}
  .about-wrap, .contact-wrap{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr; gap:28px;}
}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
