/* ==========================================================================
   ÍCONE LOG 2026 — HOME
   Replica do Figma "ICONE LOG 2026" (frame HOME 1700 x 11479, id 11981:2)
   Desenvolvido por RSG Tecnologia — HTML + CSS puro (JS só para o menu mobile)
   Medidas comentadas em px do artboard de 1700.
   ========================================================================== */

:root {
  --yellow: #F0A30D;
  --black: #000;
  --ink: #070812;
  --gray: #EFEFEF;
  --gray-2: #EBEBEB;
  --gray-txt: #595959;
  --dark-2: #2B2B2B;
  --dark-3: #464646;
  --font: 'Anek Odia', 'Segoe UI', Arial, sans-serif;
  --font-btn: 'DM Sans', 'Anek Odia', sans-serif;
  --font-num: 'Poppins', 'Anek Odia', sans-serif;
  --font-card: 'Space Grotesk', 'Anek Odia', sans-serif;
  --container: 1306px; /* conteudo do XD: x 197 -> 1503 */
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--black);
  color: #fff;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p, address { margin: 0; font-style: normal; }
button, input { font: inherit; }

.container {
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
  position: relative;
}

/* ---------- botao amarelo (Link 331x53, radius 4.3, DM Sans 700 16.34) ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 331px;
  height: 53px;
  padding: 0 32px;
  border: 0;
  border-radius: 4px;
  background: var(--yellow);
  color: var(--ink);
  font-family: var(--font-btn);
  font-weight: 700;
  font-size: 16.34px;
  line-height: 1;
  cursor: pointer;
  transition: filter .2s, transform .2s;
}
.btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.btn-sm { min-width: 194px; }
.btn-arrow {
  width: 16px; height: 16px; flex: 0 0 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9'%3E%3Cpath d='M7.50262 2.55602L1.05864 9.00001L0 7.94131L6.4432 1.49738H0.764407V0H8.99994V8.23554H7.50262V2.55602Z' fill='%23070812'/%3E%3C/svg%3E") center/9px 9px no-repeat;
  filter: drop-shadow(0 2.9px 2.9px rgba(0,0,0,.25));
}

/* ---------- pilula com seta (Link 77x44) ---------- */
.pill {
  display: block;
  width: 77px; height: 44px;
  border-radius: 22px;
  background: var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M1 7h12M8.5 1.5L14 7l-5.5 5.5' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px 14px no-repeat;
  transition: transform .2s;
}
a.pill:hover, a:hover > .pill { transform: translateX(4px); }

/* ---------- titulos de secao ---------- */
.sec-title { font-weight: 700; font-size: 32px; line-height: 35px; text-transform: uppercase; }
.sec-title.dark { color: #000; }

/* ---------- glows decorativos ---------- */
.glow-dourado { position: absolute; pointer-events: none; z-index: 0; }
.glow-linha { position: absolute; pointer-events: none; width: 885px; max-width: none; }

/* ==========================================================================
   HEADER (absoluto sobre o hero) — logo y=84 (214x48), menu 14px 600, botao 131x36
   ========================================================================== */
.site-header { position: absolute; top: 84px; left: 0; right: 0; z-index: 20; }
.header-row { display: flex; align-items: center; }
.logo img { width: 214px; height: 48px; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 85px; }
.main-nav a {
  font-weight: 600; font-size: 14px; line-height: 24px; text-transform: uppercase; color: #fff;
  letter-spacing: .01em; transition: color .2s;
}
.main-nav a:hover { color: var(--yellow); }
.main-nav .btn-fale {
  margin-left: -19px; /* XD: gap menu->botao = 66px */
  display: inline-flex; align-items: center; justify-content: center;
  width: 131px; height: 36px; background: var(--yellow); color: #000; line-height: 1;
}
.main-nav .btn-fale:hover { color: #000; filter: brightness(1.06); }
.nav-toggle { display: none; }

/* ==========================================================================
   HERO — 1700 x 1048 (imagem Vector 2 = textura + foto diagonal)
   ========================================================================== */
.hero {
  position: relative;
  height: 1048px;
  background: #000 url(../img/hero-bg-textura.jpg) center top / cover no-repeat;
  overflow: hidden;
}
/* overlay preto 50% (Rectangle 4973: 1299x1046) */
.hero::before {
  content: ''; position: absolute; left: 0; top: 0; width: 1299px; height: 1046px;
  background: url(../img/hero-overlay-preto.svg) left top / 1299px 1046px no-repeat;
  pointer-events: none;
}
/* quadrado amarelo rotacionado no canto superior direito (Rectangle 4974: 697x694 em x=1364,y=-382) */
.hero-corner {
  position: absolute; top: -382px; right: -361px; width: 697px; height: 695px;
  background: url(../img/hero-quadrado-amarelo.svg) 0 0 / 697px 695px no-repeat;
  pointer-events: none;
}
.hero-inner { padding-top: 317px; z-index: 2; }
.hero-title { margin: 0; color: #fff; }
.hero-title .l1 { display: block; font-weight: 700; font-size: 80px; line-height: 50px; padding-top: 12px; text-transform: uppercase; letter-spacing: -.01em; }
.hero-title .l2 { display: block; font-weight: 400; font-size: 48px; line-height: 45px; text-transform: uppercase; color: var(--yellow); margin-top: -2px; }
.hero-text { max-width: 690px; margin-top: 18px; font-weight: 400; font-size: 20px; line-height: 30px; }
.hero-text strong { font-weight: 700; font-size: 22px; }
.hero .btn { margin-top: 55px; height: 55px; }

/* cards 243x110, radius 16, borda #8B8B8B, fundo #202020 60% — linha em y=779 */
.hero-cards {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 22.75px;
  margin-top: 167px;
}
.hero-cards li {
  position: relative; height: 110px; padding: 30px 12px 0 98px;
  border: 1px solid #8B8B8B; border-radius: 16px;
  background: rgba(32, 32, 32, .6);
  backdrop-filter: blur(2px);
}
.hero-cards .ico {
  position: absolute; left: 28px; top: 27px; width: 56px; height: 56px; border-radius: 50%;
  background: var(--yellow); display: flex; align-items: center; justify-content: center;
}
.hero-cards h3 { font-weight: 600; font-size: 16px; line-height: 20px; }
.hero-cards p { font-weight: 400; font-size: 12px; line-height: 15px; }

/* ==========================================================================
   SOBRE — preto, y 1048 -> 1960 (912px). Texto x=197 y=1248, video 696x499 em x=810 y=1233
   ========================================================================== */
.sobre { position: relative; background: #000; overflow: hidden; }
.glow-sobre { top: 2px; right: -297px; width: 532px; }
.sobre-grid { display: grid; grid-template-columns: 507px 1fr; padding: 200px 0 227px; z-index: 1; }
.sobre-txt h2 { font-weight: 700; font-size: 24px; line-height: 30px; max-width: 474px; }
.sobre-txt p { margin-top: 24px; font-weight: 500; font-size: 20px; line-height: 25px; max-width: 507px; }
.sobre-txt p + p { margin-top: 25px; }
.sobre-txt .btn { margin-top: 73px; }
.video-sobre { justify-self: end; margin-top: -15px; width: 696px; }

/* card de video: radius 27, borda 2px, play 64px */
.video-card {
  position: relative; display: block; border-radius: 27px; overflow: hidden;
  border: 2px solid rgba(255,255,255,.35);
}
.video-card img { width: 100%; height: 100%; object-fit: cover; }
.video-card .play {
  position: absolute; left: 50%; top: 50%; width: 65px; height: 65px; margin: -32px 0 0 -32px;
  background: url(../img/play-circle.svg) center / 65px 65px no-repeat;
  transition: transform .2s;
}
.video-card:hover .play { transform: scale(1.08); }

/* ==========================================================================
   ORÇAMENTO ONLINE — cinza #EFEFEF, y 1960 -> 3030 (1070px)
   ========================================================================== */
.orcamento { position: relative; background: var(--gray); height: 1070px; overflow: hidden; color: var(--gray-txt); }
/* aba preta que desce da secao anterior (Rectangle 4830: ate x=451 com 70px, diagonal ate x=575) */
.orcamento::before {
  content: ''; position: absolute; left: 0; top: 0; width: 575px; height: 70px; background: #000;
  clip-path: polygon(0 0, 100% 0, 451px 100%, 0 100%);
}
.chevrons { position: absolute; left: -310px; top: 70px; width: 1106px; max-width: none; pointer-events: none; }
.form-orcamento { position: relative; z-index: 1; margin-left: 719px; width: 562px; padding-top: 220px; }
.orc-title { margin-bottom: 50px; }
.orc-title .l1 { display: block; font-weight: 800; font-size: 64px; line-height: 55px; text-transform: uppercase; color: #000; }
.orc-title .l2 { display: block; font-weight: 700; font-size: 64px; line-height: 55px; text-transform: uppercase; color: var(--yellow); }

.row { display: grid; gap: 12px; margin-bottom: 15px; }
.row.two { grid-template-columns: 1fr 1fr; }
.row label { display: block; font-weight: 500; font-size: 16px; line-height: 25px; }
.row input {
  display: block; width: 100%; height: 44px; margin-top: 0; padding: 0 14px;
  border: 1px solid #BCBCBC; border-radius: 8px; background: var(--gray-2); color: #222; outline: 0;
  transition: border-color .2s;
}
.row input:focus { border-color: var(--yellow); }
.form-orcamento .btn { margin-top: 25px; }

/* ==========================================================================
   HISTÓRIA — preto, y 3030 -> 4131 (1101px)
   ========================================================================== */
.historia { background: #000; overflow: hidden; }
.historia-grid { display: grid; grid-template-columns: 507px 1fr; padding: 217px 0 0; height: 1101px; }
.historia-txt h2 { font-weight: 700; font-size: 32px; line-height: 30px; text-transform: uppercase; color: var(--yellow); }
.historia-txt p { margin-top: 25px; font-weight: 500; font-size: 16px; line-height: 25px; max-width: 483px; }
.historia-txt h2 + p { margin-top: 42px; }
.historia-txt .btn { margin-top: 53px; }
.historia-fotos { position: relative; }
.historia-fotos .foto1 { position: absolute; left: 143px; top: 60px; width: 457px; height: 536px; object-fit: cover; }
.historia-fotos .foto2 { position: absolute; left: 512px; top: 116px; width: 355px; height: 424px; object-fit: cover; }
.historia-fotos .glow-linha { left: -71px; top: 535px; }

/* ==========================================================================
   NÚMEROS — faixa amarela 195px (Poppins 600 64 / 17)
   ========================================================================== */
.stats { background: var(--yellow); height: 195px; display: flex; align-items: center; }
.stats-row {
  width: min(1395px, calc(100% - 48px)); margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
}
.stats-row li { display: flex; align-items: center; gap: 6px; }
.stats-row strong { font-family: var(--font-num); font-weight: 600; font-size: 64px; line-height: 58px; letter-spacing: -1.8px; color: #262626; }
.stats-row span { font-family: var(--font-num); font-weight: 600; font-size: 17px; line-height: 20px; letter-spacing: -.2px; color: #fff; }

/* ==========================================================================
   SOLUÇÕES — branco com linhas (simbol3 1702x1136), y 4326 -> 5462
   ========================================================================== */
.solucoes { background: #fff url(../img/solucoes-linhas.png) center top / cover no-repeat; height: 1136px; }
.solucoes .container { padding-top: 204px; }
.solucoes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 106px; }
.solucoes-grid a { position: relative; display: block; height: 545px; overflow: hidden; }
.solucoes-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.solucoes-grid a:hover img { transform: scale(1.04); }
.solucoes-grid a::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.solucoes-grid .darker a::after { background: rgba(0,0,0,.55); }
.solucoes-grid .lbl {
  position: absolute; z-index: 1; left: 27px; bottom: 31px; max-width: 160px;
  font-weight: 700; font-size: 24px; line-height: 22px; text-transform: uppercase; color: #fff;
}
.solucoes-grid .pill { position: absolute; z-index: 1; right: 26px; bottom: 35px; }

/* ==========================================================================
   DIFERENCIAIS — preto, y 5462 -> 6626 (a secao de clientes sobe 120px)
   ========================================================================== */
.diferenciais { background: #000; height: 1164px; overflow: hidden; }
.diferenciais .container { padding-top: 212px; height: 100%; }
.dif-title { text-align: center; font-weight: 700; font-size: 48px; line-height: 30px; }
.dif-grid {
  display: grid; grid-template-columns: repeat(3, 410px); justify-content: space-between; row-gap: 31px;
  margin-top: 113px;
}
.dif-grid li {
  position: relative; height: 219px; padding: 41px 38px 0 39px;
  border: 1px solid #C8C8C8; border-radius: 16px; background: #000;
}
.dif-grid li.featured { background: linear-gradient(180deg, #121212 0%, #373737 50%, #373737 100%); }
.dif-grid h3 { font-family: var(--font-card); font-weight: 700; font-size: 20px; line-height: 20px; color: var(--yellow); }
.dif-grid p { margin-top: 17px; font-weight: 400; font-size: 14px; line-height: 20px; max-width: 278px; }
.dif-grid p.narrow { max-width: 225px; }
.dif-grid .pill { position: absolute; right: 22px; bottom: 23px; }
.glow-dif { left: 241px; top: 959px; }

/* ==========================================================================
   CLIENTES — branco com cantos cortados (Vector 13 1701x1066), y 6626 -> 7692
   ========================================================================== */
.clientes { background: #000; }
.clientes-shape {
  background: #fff; height: 1066px;
  clip-path: polygon(170.9px 0, calc(100% - 173.5px) 0, calc(100% - 132.7px) 50.8px, 100% 50.8px, 100% 100%, 0 100%, 0 53.9px, 119.4px 53.9px);
}
.clientes-shape .container { padding-top: 303px; }
.clientes-head { display: flex; align-items: flex-start; justify-content: space-between; }
.clientes-head h2 { color: #000; }
.clientes-head .l1 { display: block; font-weight: 700; font-size: 32px; line-height: 35px; text-transform: uppercase; }
.clientes-head .l2 { display: block; font-weight: 700; font-size: 40px; line-height: 40px; text-transform: uppercase; color: var(--yellow); }
.clientes-head .logo-preto { width: 257px; height: 64px; margin: 3px 31px 0 0; }
.logos-grid {
  display: grid; grid-template-columns: repeat(10, 113px); justify-content: space-between; row-gap: 55px;
  width: min(1387px, 100%); margin: 109px auto 0;
}
.logos-grid li { height: 65px; display: flex; align-items: center; justify-content: center; }
.logos-grid img { max-height: 65px; width: auto; max-width: 113px; object-fit: contain; }

/* ==========================================================================
   CTA — foto de fundo 1702x800 + preto 60%, y 7692 -> 8492
   ========================================================================== */
.cta {
  position: relative; height: 800px;
  background: url(../img/cta-bg.jpg) center / cover no-repeat;
}
.cta::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.cta-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 717px 1fr; padding-top: 164px; }
.cta-txt { grid-column: 2; }
.cta-logo { width: 282px; height: 63px; }
.cta h2 { margin-top: 80px; font-weight: 700; font-size: 40px; line-height: 45px; text-transform: uppercase; }
.cta h2 .l1 { display: block; color: #fff; }
.cta h2 .l2 { display: block; color: var(--yellow); }
.cta .btn { margin-top: 80px; }

/* ==========================================================================
   NÓS LIGAMOS — preto com cantos cortados sobre a foto do CTA (Vector 14), y 8415 -> 9429
   ========================================================================== */
.ligamos {
  position: relative; margin-top: -77px; height: 1014px; background: #000;
  clip-path: polygon(170.9px 0, calc(100% - 174.5px) 0, calc(100% - 133.7px) 48.4px, 100% 48.4px, 100% 100%, 0 100%, 0 51.2px, 119.4px 51.2px);
}
.ligamos-grid { display: grid; grid-template-columns: 717px 1fr; padding-top: 161px; }
.video-geracao { margin-left: 137px; width: 401px; height: 692px; }
.form-ligamos { padding-top: 96px; width: 450px; color: #fff; }
.form-ligamos h2 { font-weight: 700; font-size: 32px; line-height: 30px; text-transform: uppercase; color: var(--yellow); }
.form-ligamos p { margin-top: 25px; font-weight: 500; font-size: 16px; line-height: 25px; }
.form-ligamos h2 + p { margin-top: 28px; }
.form-ligamos .row { margin-top: 38px; margin-bottom: 0; width: 432px; }
.form-ligamos .row + .row { margin-top: 14px; }
.form-ligamos .row.two { gap: 7px; }
.form-ligamos .row label { color: #fff; }
.form-ligamos .btn { margin-top: 39px; }

/* ==========================================================================
   DEPOIMENTOS — #2B2B2B, y 9429 -> 10242 (813px)
   ========================================================================== */
.depoimentos { background: var(--dark-2); height: 813px; }
.depoimentos .container { padding-top: 166px; }
.dep-title { text-align: center; font-weight: 700; font-size: 32px; line-height: 30px; text-transform: uppercase; }
.dep-title .l1 { display: block; color: #fff; }
.dep-title .l2 { display: block; color: var(--yellow); }
.dep-grid { display: flex; justify-content: center; gap: 30px; margin-top: 60px; }
.dep-grid li {
  position: relative; width: 283px; height: 253px; padding: 27px 21px 0;
  border: 1px solid #999; border-radius: 16px;
}
.dep-grid .who { position: relative; height: 47px; padding-left: 66px; }
.dep-grid .avatar { position: absolute; left: 0; top: 0; width: 47px; height: 47px; border-radius: 50%; background: #D9D9D9; }
.dep-grid .who strong { display: block; padding-top: 5px; font-weight: 700; font-size: 16px; line-height: 17px; color: var(--yellow); }
.dep-grid .who em { display: block; font-style: normal; font-weight: 700; font-size: 16px; line-height: 17px; color: #fff; }
.dep-grid .stars { display: flex; gap: 5.5px; margin-top: 20px; }
.dep-grid .stars i {
  width: 20px; height: 19px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19'%3E%3Cpath d='M9.98926 0L12.6686 6.81534L19.9783 7.25749L14.3245 11.9117L16.1628 19.0003L9.98926 15.0615L3.81567 19.0003L5.654 11.9117L0.000186308 7.25749L7.30992 6.81534L9.98926 0Z' fill='%23F0A30D'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dep-grid p { margin-top: 14px; font-weight: 500; font-size: 13px; line-height: 25px; }
.google-row { display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 60px; }
.google-row img { width: 162px; height: 91px; }
.google-row p { font-weight: 700; font-size: 20px; line-height: 20px; text-transform: uppercase; }
.google-row .light { font-weight: 500; }
.google-row .yellow { color: var(--yellow); }

/* ==========================================================================
   REDES SOCIAIS — faixa amarela 90px + 5 fotos 340x340
   ========================================================================== */
.redes-bar {
  height: 90px; display: flex; align-items: center; justify-content: center;
  background: var(--yellow); color: #000; font-weight: 600; font-size: 24px; line-height: 30px; text-transform: uppercase;
}
.redes-fotos { display: grid; grid-template-columns: repeat(5, 1fr); }
.redes-fotos li { aspect-ratio: 1 / 1; overflow: hidden; }
.redes-fotos img { width: 100%; height: 100%; object-fit: cover; }

/* ==========================================================================
   RODAPÉ — preto 742px + barra #464646 65px
   ========================================================================== */
.site-footer { position: relative; background: #000; overflow: hidden; }
.glow-rodape { top: -50px; right: -300px; width: 510px; }
.footer-grid { display: grid; grid-template-columns: 676px 1fr; padding: 136px 0 130px; z-index: 1; }
.footer-logo { width: 247px; height: 56px; }
.footer-left p { margin-top: 53px; max-width: 552px; font-weight: 500; font-size: 14px; line-height: 25px; }
.footer-left .mapa { display: block; margin-top: 39px; width: 549px; }
.footer-left .mapa img { width: 549px; height: 229px; object-fit: cover; }
.footer-right { padding-top: 109px; }
.footer-menu { display: grid; grid-template-columns: 151px 233px 1fr; }
.footer-menu a { display: block; font-weight: 600; font-size: 15px; line-height: 25px; text-transform: uppercase; margin-bottom: 8px; transition: color .2s; }
.footer-menu a:hover { color: var(--yellow); }
.footer-info { display: grid; grid-template-columns: 340px 1fr; margin-top: 42px; }
.footer-info h4 { font-weight: 600; font-size: 15px; line-height: 25px; text-transform: uppercase; color: var(--yellow); }
.footer-info address, .footer-info p { font-weight: 600; font-size: 15px; line-height: 20px; }
.footer-info p { line-height: 25px; }
.footer-info h4.mt { margin-top: 41px; }
.footer-info h4.mt2 { margin-top: 31px; }
.footer-info .social { display: flex; gap: 26px; margin-top: 25px; }
.footer-info .social a {
  width: 48px; height: 48px; border-radius: 50%; background: var(--yellow);
  display: flex; align-items: center; justify-content: center; transition: transform .2s;
}
.footer-info .social a:hover { transform: translateY(-2px); }
.footer-info .social img { width: auto; height: auto; max-width: 32px; max-height: 32px; }
.copyright { background: var(--dark-3); height: 65px; display: flex; align-items: center; font-weight: 600; font-size: 15px; line-height: 25px; }
.copyright a { text-decoration: underline; text-underline-offset: 3px; }

/* header e hero do XD ficam 38px a esquerda do eixo das outras secoes (x=162 contra 197) */
@media (min-width: 1400px) {
  .header-row, .hero-inner { left: -38px; }
}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width: 1699px) {
  .hero { height: 61.65vw; min-height: 720px; }
  .hero::before { display: none; }
  .hero-inner { padding-top: 18.65vw; }
  .hero-title .l1 { font-size: clamp(44px, 4.7vw, 80px); line-height: .9; }
  .hero-title .l2 { font-size: clamp(26px, 2.82vw, 48px); line-height: .95; }
  .hero .btn { margin-top: 3.2vw; }
  .hero-cards { margin-top: 9.8vw; }
}
@media (max-width: 1400px) {
  .hero-cards { grid-template-columns: repeat(5, 1fr); gap: 14px; }
  .hero-cards li { padding-left: 84px; }
  .hero-cards .ico { left: 18px; width: 50px; height: 50px; top: 30px; }
  .main-nav { gap: 48px; }
  .sobre-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .video-sobre { width: 100%; max-width: 696px; }
  .form-orcamento { margin-left: auto; }
  .historia-grid { grid-template-columns: 1fr 1fr; }
  .historia-fotos .foto1 { left: 40px; }
  .historia-fotos .foto2 { left: 380px; }
  .dif-grid { grid-template-columns: repeat(3, 1fr); column-gap: 30px; }
  .clientes-shape { height: auto; padding-bottom: 120px; }
  .logos-grid { grid-template-columns: repeat(5, 113px); }
  .cta-grid, .ligamos-grid { grid-template-columns: 1fr 1fr; }
  .video-geracao { margin-left: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-menu { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .footer-info { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 1100px) {
  :root { --container: 100%; }
  .site-header { top: 24px; }
  .nav-toggle {
    display: block; margin-left: auto; width: 44px; height: 40px; padding: 8px; background: transparent; border: 0; cursor: pointer;
  }
  .nav-toggle span { display: block; height: 3px; margin: 5px 0; background: var(--yellow); border-radius: 2px; transition: transform .25s, opacity .25s; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .main-nav {
    position: absolute; left: 0; right: 0; top: 64px; margin: 0; padding: 20px 24px;
    flex-direction: column; align-items: flex-start; gap: 4px; background: rgba(0,0,0,.95);
    border-top: 1px solid #333; display: none;
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 10px 0; font-size: 16px; }
  .main-nav .btn-fale { margin: 12px 0 0; }

  .hero { height: auto; min-height: 0; padding-bottom: 60px; background-size: auto 100%; background-position: left top; }
  .hero-corner { display: none; }
  .hero-inner { padding-top: 160px; }
  .hero-title .l1 { font-size: 52px; }
  .hero-title .l2 { font-size: 30px; }
  .hero .btn { margin-top: 32px; }
  .hero-cards { grid-template-columns: repeat(3, 1fr); margin-top: 70px; }

  .sobre-grid { grid-template-columns: 1fr; padding: 90px 0 100px; }
  .video-sobre { justify-self: stretch; margin-top: 40px; }
  .glow-sobre { display: none; }

  .orcamento { height: auto; padding: 90px 0 100px; }
  .chevrons { width: 60%; left: -20%; top: 60px; opacity: .9; }
  .form-orcamento { width: min(562px, 100%); margin-left: auto; padding-top: 0; }

  .historia-grid { grid-template-columns: 1fr; height: auto; padding: 100px 0; }
  .historia-fotos { height: 620px; margin-top: 60px; }
  .historia-fotos .foto1 { left: 0; top: 0; }
  .historia-fotos .foto2 { left: 330px; top: 100px; }
  .historia-fotos .glow-linha { display: none; }

  .stats { height: auto; padding: 40px 0; }
  .stats-row { flex-wrap: wrap; justify-content: center; gap: 30px 50px; }

  .solucoes { height: auto; padding-bottom: 100px; }
  .solucoes .container { padding-top: 100px; }
  .solucoes-grid { grid-template-columns: repeat(2, 1fr); margin-top: 50px; }

  .diferenciais { height: auto; padding-bottom: 100px; }
  .diferenciais .container { padding-top: 100px; }
  .dif-grid { grid-template-columns: repeat(2, 1fr); margin-top: 60px; }
  .glow-dif { display: none; }

  .clientes-shape { height: auto; padding-bottom: 100px; clip-path: polygon(80px 0, calc(100% - 80px) 0, calc(100% - 50px) 40px, 100% 40px, 100% 100%, 0 100%, 0 40px, 50px 40px); }
  .clientes-shape .container { padding-top: 120px; }
  .clientes-head { flex-direction: column; gap: 30px; }
  .clientes-head .logo-preto { margin: 0; }
  .logos-grid { grid-template-columns: repeat(4, 113px); justify-content: space-around; row-gap: 40px; margin-top: 70px; }

  .cta { height: auto; padding: 100px 0; }
  .cta-grid { grid-template-columns: 1fr; padding-top: 0; }
  .cta-txt { grid-column: 1; }
  .cta h2 { margin-top: 40px; font-size: 32px; line-height: 38px; }
  .cta .btn { margin-top: 40px; }

  .ligamos { height: auto; margin-top: 0; padding: 90px 0 100px; clip-path: none; }
  .ligamos-grid { grid-template-columns: 1fr; padding-top: 0; gap: 50px; }
  .video-geracao { margin: 0 auto; }
  .form-ligamos { padding-top: 0; width: 100%; }
  .form-ligamos .row { width: 100%; }

  .depoimentos { height: auto; padding-bottom: 100px; }
  .depoimentos .container { padding-top: 100px; }
  .dep-grid { flex-wrap: wrap; }

  .redes-fotos { grid-template-columns: repeat(3, 1fr); }

  .glow-rodape { display: none; }
  .footer-grid { grid-template-columns: 1fr; padding: 90px 0 80px; }
  .footer-right { padding-top: 0; }
}
@media (max-width: 700px) {
  .hero-inner { padding-top: 130px; }
  .hero-title .l1 { font-size: 38px; }
  .hero-title .l2 { font-size: 22px; }
  .hero-text { font-size: 17px; line-height: 26px; }
  .hero-text strong { font-size: 18px; }
  .btn { min-width: 0; width: 100%; max-width: 331px; }
  .hero-cards { grid-template-columns: 1fr; gap: 12px; }
  .orc-title .l1, .orc-title .l2 { font-size: 44px; line-height: 44px; }
  .row.two { grid-template-columns: 1fr; }
  .chevrons { display: none; }
  .historia-fotos { height: auto; }
  .historia-fotos .foto1, .historia-fotos .foto2 { position: static; width: 100%; height: auto; margin-top: 16px; }
  .stats-row strong { font-size: 48px; line-height: 48px; }
  .solucoes-grid { grid-template-columns: 1fr; }
  .solucoes-grid a { height: 420px; }
  .dif-title { font-size: 30px; }
  .dif-grid { grid-template-columns: 1fr; }
  .dif-grid li { height: auto; padding-bottom: 80px; }
  .clientes-head .l1 { font-size: 24px; line-height: 28px; }
  .clientes-head .l2 { font-size: 28px; line-height: 32px; }
  .logos-grid { grid-template-columns: repeat(3, 90px); }
  .logos-grid img { max-width: 90px; max-height: 52px; }
  .cta h2 { font-size: 26px; line-height: 32px; }
  .video-geracao { width: 100%; max-width: 401px; height: auto; }
  .form-ligamos h2 { font-size: 26px; }
  .dep-title { font-size: 24px; line-height: 28px; }
  .dep-grid li { width: 100%; height: auto; padding-bottom: 24px; }
  .google-row { flex-direction: column; text-align: center; gap: 10px; }
  .redes-bar { font-size: 16px; padding: 0 20px; text-align: center; }
  .redes-fotos { grid-template-columns: repeat(2, 1fr); }
  .footer-left .mapa, .footer-left .mapa img { width: 100%; height: auto; }
  .footer-menu { grid-template-columns: 1fr; }
  .footer-info { grid-template-columns: 1fr; }
  .copyright { height: auto; padding: 16px 0; font-size: 13px; line-height: 20px; }
}

/* ==========================================================================
   PÁGINA SOLUÇÕES — Figma frame 9802:5 (1700 x 12026)
   Blocos: preto (texto à esquerda, vídeo à direita) x claro (vídeo à esquerda, texto à direita).
   O conteúdo desta página usa x=162 -> 1463 (mesmo eixo do header/hero da home): left:-38px em telas grandes.
   ========================================================================== */
@media (min-width: 1400px) {
  .pg-solucoes .sol-block .container, .pg-solucoes .sol-cta .container { left: -38px; }
}

/* ---------- hero 792px: fundo com ondas (Vector 2), textos centralizados ---------- */
.sol-hero { position: relative; height: 792px; background: #000 url(../img/sol-hero-bg.jpg) center top / cover no-repeat; text-align: center; }
.sol-hero .container { padding-top: 336px; }
.sol-hero h1 .l1 { display: block; font-weight: 700; font-size: 64px; line-height: 56px; text-transform: uppercase; color: #fff; }
.sol-hero h1 .l2 { display: block; font-weight: 500; font-size: 48px; line-height: 45px; text-transform: uppercase; color: var(--yellow); }
.sol-hero p { max-width: 681px; margin: 25px auto 0; font-weight: 400; font-size: 20px; line-height: 30px; }
.sol-hero p strong { font-weight: 700; font-size: 22px; }
/* cápsula amarela 60x110 no limite hero/bloco (Rectangle 4983) */
.sol-capsule { position: absolute; left: 50%; top: 737px; width: 60px; height: 110px; margin-left: -30px; border-radius: 78px; background: var(--yellow); z-index: 3; }

/* ---------- blocos ---------- */
.sol-block { position: relative; }
.sol-block.dark { background: #000; color: #fff; }
.sol-block.light { background: #EEEEEE; color: #000; }
.sol-block .container { display: grid; grid-template-columns: 570px 731px; justify-content: space-between; align-items: stretch; }
.sol-block.dark .container { padding: 256px 0 299px; }
.sol-block.light .container { grid-template-columns: 731px 483px; padding: 278px 0 301px; }
.sol-block.light-2 .container { padding: 228px 0 228px; }
.sol-block.light-3 .container { padding: 243px 0 243px; }
.sol-txtcol { display: flex; flex-direction: column; align-items: flex-start; }
.sol-title { font-weight: 700; font-size: 48px; line-height: 45px; text-transform: uppercase; color: var(--yellow); }
.sol-intro { margin-top: 25px; max-width: 502px; font-weight: 600; font-size: 20px; line-height: 30px; }
.sol-sub { margin-top: 56px; font-weight: 700; font-size: 24px; line-height: 30px; text-transform: uppercase; color: var(--yellow); }
.sol-txt { margin-top: 8px; max-width: 416px; font-weight: 500; font-size: 15px; line-height: 30px; }
.sol-txtcol .btn { margin-top: auto; }
.sol-txtcol .sol-txt:last-of-type { padding-bottom: 61px; } /* respiro minimo; o auto empurra o botao ate a base dos cards */
.btn-lg { min-width: 373px; height: 61px; }
.sol-mediacol .sol-sub { margin-top: 57px; }
.sol-video { width: 731px; height: 419px; }
.sol-video::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.sol-video .play { z-index: 1; }

/* cards de benefício 358x91: círculo 47px + texto 16/20 */
.sol-benefits { display: grid; grid-template-columns: 358px 358px; column-gap: 15px; row-gap: 13px; margin-top: 25px; }
.sol-benefits li {
  position: relative; min-height: 91px; padding: 14px 16px 14px 89px; display: flex; align-items: center;
  border: 1px solid #8B8B8B; border-radius: 16px; background: rgba(32,32,32,.6);
  font-weight: 600; font-size: 16px; line-height: 20px;
}
.sol-benefits li i { position: absolute; left: 28px; top: 22px; width: 47px; height: 47px; border-radius: 50%; background: var(--yellow); }
.sol-benefits li.check i {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 6L9 17L4 12' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 24px 24px;
}
.sol-block.light .sol-benefits li { border-color: #D5D5D5; background: rgba(229,229,229,.6); color: #000; }
.sol-glow { left: 518px; top: 1036px; }

/* faixas de 4 fotos 425x614; a "aba" preta do bloco anterior desce 87px na esquerda (Rectangle 4830) */
.sol-strip { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); }
.sol-strip li { aspect-ratio: 425 / 614; overflow: hidden; }
.sol-strip img { width: 100%; height: 100%; object-fit: cover; }
.sol-strip.after-dark::before {
  content: ''; position: absolute; z-index: 1; left: 0; top: 0; width: 575.5px; height: 87px; background: #000;
  clip-path: polygon(0 0, 100% 0, 451px 100%, 0 100%);
}

/* faixa de números desta página: 247px */
.sol-stats { height: 247px; }

/* CTA amarelo 371px com chevrons vazados à esquerda (simbol3 3) */
.sol-cta { position: relative; height: 371px; background: var(--yellow) url(../img/sol-cta-chevrons.png) left top / 651px 371px no-repeat; }
.sol-cta .container { padding: 118px 0 0 788px; }
.sol-cta h2 { font-weight: 700; font-size: 40px; line-height: 45px; text-transform: uppercase; }
.sol-cta h2 .l1 { display: block; color: #000; }
.sol-cta h2 .l2 { display: block; color: #fff; }

/* ---------- responsivo ---------- */
@media (max-width: 1699px) {
  .sol-hero { height: 46.6vw; min-height: 560px; }
  .sol-hero .container { padding-top: 19.8vw; }
  .sol-capsule { top: auto; bottom: -55px; }
}
@media (max-width: 1400px) {
  .sol-block .container, .sol-block.light .container { grid-template-columns: 1fr 1fr; column-gap: 40px; }
  .sol-video { width: 100%; height: auto; aspect-ratio: 731 / 419; }
  .sol-benefits { grid-template-columns: 1fr 1fr; }
  .sol-glow { left: 50%; margin-left: -442px; }
  .sol-cta .container { padding-left: 46%; }
}
@media (max-width: 1100px) {
  .sol-hero h1 .l1 { font-size: 44px; line-height: 44px; }
  .sol-hero h1 .l2 { font-size: 30px; line-height: 34px; margin-top: 6px; }
  .sol-hero p { font-size: 17px; line-height: 26px; padding: 0 12px; }
  .sol-hero p strong { font-size: 18px; }
  .sol-block .container, .sol-block.light .container, .sol-block.light-2 .container, .sol-block.light-3 .container { grid-template-columns: minmax(0, 1fr); padding: 90px 0 100px; row-gap: 50px; }
  .sol-block .sol-txtcol { order: 1; }
  .sol-block .sol-mediacol { order: 2; }
  .sol-txtcol .sol-txt:last-of-type { padding-bottom: 40px; }
  .sol-glow { display: none; }
  .sol-strip { grid-template-columns: repeat(2, 1fr); }
  .sol-strip.after-dark::before { display: none; }
  .sol-stats { height: auto; }
  .sol-cta { height: auto; padding: 70px 0; background-size: 320px auto; background-position: left bottom; }
  .sol-cta .container { padding: 0; }
  .sol-cta h2 { font-size: 32px; line-height: 38px; text-align: right; }
}
@media (max-width: 700px) {
  .sol-hero { min-height: 520px; }
  .sol-hero .container { padding-top: 150px; }
  .sol-hero h1 .l1 { font-size: 32px; line-height: 34px; }
  .sol-hero h1 .l2 { font-size: 22px; line-height: 26px; }
  .sol-title { font-size: 36px; line-height: 36px; }
  .sol-benefits { grid-template-columns: 1fr; }
  .btn-lg { min-width: 0; width: 100%; max-width: 373px; }
  .sol-cta h2 { font-size: 26px; line-height: 32px; text-align: left; }
}
