
/* diferenciais */
.diff-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.diff { background:#fff; border:1px solid var(--color-line); border-top:3px solid var(--color-accent); padding:26px; }
.diff svg { width:34px; height:34px; color:var(--color-accent); margin-bottom:14px; }
.diff h4 { color:var(--color-ink); margin-bottom:6px; }
.diff p { font-size:.93rem; color:var(--color-body); margin:0; }
.diff p strong { color:var(--color-accent); }
@media(max-width:900px){ .diff-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ .diff-grid{ grid-template-columns:1fr; } }
/* precisão que vira dinheiro */
.money-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:26px; }
.money-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16); padding:26px 22px; text-align:center; }
.money-card .cls { font-family:var(--font-head); font-size:1rem; color:#b9c6c2; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; }
.money-card .big { font-family:var(--font-head); font-size:2.6rem; color:#fff; line-height:1; margin:14px 0 4px; }
.money-card .lbl { font-size:.86rem; color:#9fb0ab; }
.money-card.best { border-color:var(--color-accent); background:rgba(240,135,27,.14); }
.money-card.best .cls { color:var(--color-accent); }
.money-card .stop-ico { width:38px; height:38px; color:var(--color-accent); margin:0 auto 14px; display:block; }
.money-card .stop-h { font-family:var(--font-head); color:#fff; font-size:1.12rem; line-height:1.2; margin-bottom:8px; }
.money-card .stop-p { color:#9fb0ab; font-size:.92rem; margin:0; line-height:1.5; }
@media(max-width:960px){ .money-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .money-grid{ grid-template-columns:1fr; } }
/* specs */
.spec-table { width:100%; border-collapse:collapse; font-size:.95rem; min-width:640px; }
.spec-table th, .spec-table td { padding:14px 18px; text-align:left; border-bottom:1px solid var(--color-line); }
.spec-table thead th { background:var(--color-primary-dark); color:#fff; font-family:var(--font-head); letter-spacing:.5px; font-weight:600; text-transform:uppercase; }
.spec-table td:first-child { font-weight:600; color:var(--color-ink); }
.spec-table tbody tr:nth-child(even) { background:var(--color-bg-alt); }
.spec-table tr:last-child td { border-bottom:0; }
.spec-wrap { border:1px solid var(--color-line); border-radius:var(--radius-lg); overflow-x:auto; }
.roadmap-note { font-size:.85rem; color:var(--color-muted); font-style:italic; margin-top:14px; }
/* cases link */
.caselink-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.caselink { display:block; background:#fff; border:1px solid var(--color-line); border-left:3px solid var(--color-accent); padding:24px; transition:transform .18s ease, box-shadow .18s ease; }
.caselink:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.caselink .cl-sec { font-size:.75rem; text-transform:uppercase; letter-spacing:1.2px; color:var(--color-muted); font-weight:700; }
.caselink h4 { color:var(--color-ink); margin:8px 0 6px; }
.caselink p { font-size:.9rem; color:var(--color-body); margin:0 0 14px; }
.caselink .cl-go { font-size:.8rem; font-weight:700; color:var(--color-primary); text-transform:uppercase; letter-spacing:.5px; }
.caselink:hover .cl-go { color:var(--color-accent); }
@media(max-width:800px){ .caselink-grid{ grid-template-columns:1fr; } }
/* depoimentos */
.quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.qcard { background:#fff; border:1px solid var(--color-line); border-top:3px solid var(--color-accent); padding:28px 26px; display:flex; flex-direction:column; }
.qcard .qmark { font-family:var(--font-head); font-size:2.8rem; line-height:.7; color:var(--color-accent); margin-bottom:12px; }
.qcard p { font-size:1rem; color:var(--color-body); line-height:1.55; margin:0 0 18px; font-style:italic; }
.qcard cite { margin-top:auto; font-size:.85rem; font-weight:700; color:var(--color-ink); font-style:normal; letter-spacing:.3px; }
.qcard cite span { display:block; font-weight:500; color:var(--color-muted); font-size:.78rem; margin-top:2px; }
@media(max-width:900px){ .quote-grid{ grid-template-columns:1fr; } }
/* carrossel do hero que troca sozinho + setas */
.split-media .fc-slide { opacity:0; transition:opacity 1s ease; }
.split-media .fc-slide.active { opacity:1; }
.fc-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:46px; height:46px; border:none; background:rgba(0,0,0,.45); color:#fff; font-size:1.7rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.fc-arrow:hover { background:var(--color-accent); }
.fc-prev { left:12px; } .fc-next { right:12px; }



.split-media.devices-side { background: #0a2418; }
.split-media.devices-side img { object-fit: contain; padding: 14px; }
.screens-track { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 0 14px; }
.screens-track img { flex:0 0 auto; width:min(880px,90vw); height:auto; object-fit:contain; border-radius:var(--radius-lg); border:1px solid var(--color-line); box-shadow:var(--shadow-md); scroll-snap-align:center; }
.feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.feat { background:#fff; border:1px solid var(--color-line); border-radius: var(--radius-lg); padding: 26px; }
.feat svg { width: 34px; height: 34px; color: var(--color-accent); margin-bottom: 14px; }
.feat h4 { color: var(--color-ink); margin-bottom: 6px; }
.feat p { font-size: .93rem; color: var(--color-muted); margin: 0; }
@media (max-width:900px){ .feat-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .feat-grid { grid-template-columns:1fr; } }



.spec-table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 480px; }
.spec-table th, .spec-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--color-line); }
.spec-table thead th { background: var(--color-primary-dark); color:#fff; font-family: var(--font-head); letter-spacing:.5px; font-weight:600; text-transform:uppercase; }
.spec-table td:first-child { font-weight: 600; color: var(--color-ink); }
.spec-table tbody tr:nth-child(even) { background: var(--color-bg-alt); }
.spec-table tr:last-child td { border-bottom: 0; }
.spec-wrap { border: 1px solid var(--color-line); border-radius: var(--radius-lg); overflow-x: auto; max-width:760px; margin:0 auto; }



.case-metrics { display: flex; flex-wrap: wrap; gap: 14px; margin: 22px 0 4px; }
.case-metric { flex: 1 1 150px; background: var(--color-bg-alt); border-radius: var(--radius-lg); border-left: 4px solid var(--color-accent); padding: 16px 18px; }
.case-metric b { display: block; font-family: var(--font-head); font-size: 2rem; line-height: 1; color: var(--color-accent); }
.case-metric span { font-size: .82rem; color: var(--color-muted); }
.case-facts { list-style: none; padding: 0; margin: 22px 0 0; }
.case-facts li { display: flex; gap: 14px; margin-bottom: 18px; }
.case-facts .tag { flex: 0 0 auto; font-family: var(--font-head); text-transform: uppercase; letter-spacing: .5px; font-size: .8rem; color: #fff; background: var(--color-primary); padding: 4px 10px; border-radius: 0; height: fit-content; }
.case-facts .tag.sol { background: var(--color-primary-light); }
.case-facts .tag.res { background: var(--color-accent); }
.case-facts p { margin: 2px 0 0; font-size: .96rem; color: var(--color-body); }
/* Índice de cases (3 cards abaixo do hero) */
.case-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; position: relative; z-index: 5; margin-top: -52px; }
.case-nav-card { display: flex; flex-direction: column; gap: 5px; background: #fff; border: 1px solid var(--color-line); border-top: 3px solid var(--color-accent); padding: 24px 24px 20px; box-shadow: 0 18px 44px rgba(10,20,25,.14); transition: transform .18s ease, box-shadow .18s ease; }
.case-nav-card:hover { transform: translateY(-4px); box-shadow: 0 24px 54px rgba(10,20,25,.20); }
.cn-top { display: flex; align-items: center; gap: 9px; font-size: .76rem; text-transform: uppercase; letter-spacing: 1.2px; color: var(--color-muted); font-weight: 700; }
.cn-top em { font-family: var(--font-head); font-style: normal; font-weight: 800; font-size: .95rem; color: var(--color-accent); }
.cn-metric { font-family: var(--font-head); font-size: 1.9rem; line-height: 1.05; color: var(--color-ink); margin: 6px 0 2px; }
.cn-title { font-size: .95rem; color: var(--color-body); line-height: 1.4; }
.cn-go { margin-top: 12px; font-size: .8rem; font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: .5px; }
.case-nav-card:hover .cn-go { color: var(--color-accent); }
.case-anchor { scroll-margin-top: 96px; }
@media (max-width: 820px) { .case-nav { grid-template-columns: 1fr; margin-top: -34px; } }



.cred-row{display:grid;grid-template-columns:minmax(230px,.95fr) 2.2fr;gap:clamp(28px,4vw,58px);align-items:center}
.cred-row h3{color:#fff;font-family:var(--font-head);font-weight:700;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2;margin:0;text-align:left}
.cred-row h3 span{color:var(--color-accent)}
.cred-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:820px){.cred-row{grid-template-columns:1fr;text-align:center}.cred-row h3{text-align:center}.cred-stats{grid-template-columns:repeat(2,1fr);gap:30px 20px}}



.contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 50px; align-items: start; }
.contact-info .info-item { display: flex; gap: 16px; margin-bottom: 26px; }
.contact-info .info-item svg { width: 26px; height: 26px; color: var(--color-accent); flex: 0 0 26px; margin-top: 4px; }
.contact-info h4 { color: var(--color-ink); margin: 0 0 3px; }
.contact-info p { margin: 0; color: var(--color-muted); font-size: .96rem; }
.form-note { display:none; background: rgba(31,157,85,.1); border:1px solid var(--color-success); color: #146c3a; padding: 16px 18px; border-radius: var(--radius); margin-bottom: 20px; font-weight:600; }
@media (max-width: 980px){ .contact-grid { grid-template-columns: 1fr; gap: 34px; } }

/* ===== Blog (tema WordPress) ===== */
.bloglist { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.blogcard { background:#fff; border:1px solid var(--color-line); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
.blogcard:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.blogcard .thumb { aspect-ratio:16/10; background:var(--color-graphite); overflow:hidden; }
.blogcard .thumb img { width:100%; height:100%; object-fit:cover; }
.blogcard .bc-body { padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.blogcard .bc-cat { font-size:.72rem; text-transform:uppercase; letter-spacing:1px; color:var(--color-accent); font-weight:700; }
.blogcard h3 { font-size:1.15rem; margin:8px 0 8px; line-height:1.25; }
.blogcard h3 a { color:var(--color-ink); }
.blogcard h3 a:hover { color:var(--color-accent); }
.blogcard .bc-ex { font-size:.92rem; color:var(--color-muted); margin:0 0 14px; }
.blogcard .bc-more { margin-top:auto; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--color-primary); }
.blog-content { font-size:1.05rem; line-height:1.75; color:var(--color-body); }
.blog-content h2,.blog-content h3 { margin-top:1.6em; }
.blog-content img { border-radius:var(--radius-lg); height:auto; margin:1.2em 0; }
.blog-content p { margin-bottom:1.2em; }
.blog-pagination { margin-top:44px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.blog-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 12px; border:1px solid var(--color-line); color:var(--color-ink); font-weight:600; }
.blog-pagination .page-numbers.current { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.blog-pagination a.page-numbers:hover { border-color:var(--color-primary); color:var(--color-primary); }
@media(max-width:900px){ .bloglist{ grid-template-columns:1fr 1fr; } }
@media(max-width:620px){ .bloglist{ grid-template-columns:1fr; } }
