/* LP /instaladores/ (v3.9.0) — design/instaladores/. Tudo sob .lpi para não vazar no site.css. */
/* neutraliza o que o site.css aplica nestes nomes (.btn, .card, .intro, .lead, body) para a LP ficar igual ao design aprovado */
.lpi, .lpi * { letter-spacing: normal; }
.lpi .btn { min-width: 0; padding: 0; font: 600 17px/1 var(--font); letter-spacing: normal; text-transform: none; transform: none; color: #fff; }
.lpi .btn:hover { transform: none; }
.lpi .btn--ghost { box-shadow: none; }
.lpi .card { display: block; border: 0; overflow: visible; transition: none; }
.lpi .card:hover { transform: none; }
.lpi .intro { padding: 0; }
.lpi .eyebrow { font-weight: 600; }
.lpi h1, .lpi h2, .lpi .lead { letter-spacing: -.035em; }
.lpi .lead, .lpi .cad__s { letter-spacing: normal; }
.lpi { --blue: #0A84FF; --blue6: #0068DB; --blue50: #EAF3FF; --n0: #fff; --n100: #F5F5F7; --n150: #EFEFF2; --n200: #E5E5EA; --n300: #D2D2D7; --n500: #8E8E93; --n600: #6E6E73; --n900: #1D1D1F; --green: #1F9D45; --green50: #E8F7EC; --live: #30D158; --pad: clamp(18px,5vw,72px); --font: 'Geist',-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif; --ease: cubic-bezier(.16,1,.3,1); }
.lpi * { box-sizing: border-box; }
.lpi { margin: 0px; font-family: var(--font); font-size: 17px; line-height: 1.5; color: var(--n900); background: var(--n100); -webkit-font-smoothing: antialiased; }
.lpi [hidden] { display: none !important; }
.lpi .c { max-width: 1200px; margin: 0px auto; padding: 0 var(--pad); }
.lpi .tag { position: fixed; right: 10px; top: 12px; z-index: 9; background: rgb(255, 59, 48); color: rgb(255, 255, 255); font: 600 11px/1 var(--font); padding: 7px 11px; border-radius: 999px; }
.lpi .nav { height: 60px; display: flex; align-items: center; border-bottom: 1px solid var(--n200); background: var(--n0); }
.lpi .nav img { height: 22px; display: block; }
.lpi .eyebrow { margin: 0px 0px 12px; font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--blue); }
.lpi h1 { margin: 0px; font-size: clamp(32px, 5vw, 58px); line-height: 1.03; letter-spacing: -0.035em; font-weight: 700; text-wrap: balance; }
.lpi h2 { margin: 0px 0px 4px; font-size: 22px; letter-spacing: -0.02em; line-height: 1.2; }
.lpi .lead { font-size: 19px; color: var(--n600); margin: 16px 0px 0px; max-width: 38ch; }
.lpi .auth { display: flex; gap: 28px; flex-wrap: wrap; }
.lpi .auth b { display: block; font-size: 32px; letter-spacing: -0.035em; line-height: 1.1; }
.lpi .auth span { font-size: 13px; color: var(--n600); }
.lpi .live { background: var(--n0); border-radius: 22px; padding: 18px 20px 8px; box-shadow: rgba(0, 0, 0, 0.06) 0px 0px 0px 1px inset; }
.lpi .live__h { display: flex; align-items: center; gap: 8px; margin: 0px 0px 6px; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--n600); }
.lpi .live__h i { width: 8px; height: 8px; border-radius: 50%; background: var(--live); box-shadow: rgba(48, 209, 88, 0.6) 0px 0px 0px 0px; animation: 1.6s ease 0s infinite normal none running pulse; }
@keyframes pulse { 
  70% { box-shadow: rgba(48, 209, 88, 0) 0px 0px 0px 8px; }
  100% { box-shadow: rgba(48, 209, 88, 0) 0px 0px 0px 0px; }
}
.lpi .feed { list-style: none; margin: 0px; padding: 0px; }
.lpi .feed li { display: flex; align-items: center; gap: 12px; padding: 11px 0px; border-top: 1px solid var(--n150); font-size: 15px; }
.lpi .feed li:first-child { border-top: 0px; }
.lpi .feed li > div { flex: 1 1 0%; min-width: 0px; }
.lpi .feed b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lpi .feed div span { color: var(--n600); font-size: 13px; }
.lpi .feed time { font-size: 12px; color: var(--n500); white-space: nowrap; }
.lpi .feed li:first-child time { color: var(--green); font-weight: 600; }
.lpi .feed .dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--n300); }
.lpi .feed li:first-child .dot { background: var(--live); }
.lpi .feed li.in { animation: in .7s var(--ease); }
@keyframes in { 
  0% { opacity: 0; transform: translateY(-12px); }
}
.lpi .live__f { font-size: 12px; color: var(--n500); margin: 4px 0px 8px; }
.lpi .card { background: var(--n0); border-radius: 28px; padding: 28px; box-shadow: rgba(0, 0, 0, 0.08) 0px 24px 60px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px inset; }
.lpi .st { border: 0px; margin: 0px 0px 10px; padding: 0px; min-width: 0px; }
.lpi .st legend { padding: 0px; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--n600); margin-bottom: 2px; }
.lpi .is-steps .st legend { font-size: 21px; letter-spacing: -0.02em; text-transform: none; color: var(--n900); font-weight: 700; margin-bottom: 4px; }
.lpi .prog { display: none; gap: 6px; margin: 0px 0px 6px; }
.lpi .prog span { flex: 1 1 0%; height: 5px; border-radius: 5px; background: var(--n200); transition: background 0.4s; }
.lpi .prog span.on { background: var(--blue); }
.lpi .prog-t { display: none; font-size: 13px; color: var(--n600); margin: 0px 0px 8px; }
.lpi .is-steps .prog { display: flex; }
.lpi .is-steps .prog-t { display: block; }
.lpi .is-steps .desk { display: none; }
.lpi label { display: block; font-size: 14px; font-weight: 600; margin: 12px 0px 6px; }
.lpi label small { font-weight: 400; color: var(--n600); }
.lpi input, .lpi select { width: 100%; height: 50px; border-radius: 12px; border: 1px solid var(--n300); padding: 0px 14px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 16px; background: var(--n0); color: inherit; }
.lpi input:focus, .lpi select:focus { outline: rgba(10, 132, 255, 0.35) solid 3px; border-color: var(--blue); }
.lpi .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lpi .row3 { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.lpi .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lpi .chips label { margin: 0px; font-weight: 500; font-size: 15px; }
.lpi .chips input, .lpi .opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lpi .chips span { display: inline-flex; align-items: center; height: 40px; padding: 0px 14px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--n300); cursor: pointer; background: var(--n0); }
.lpi .chips input:checked + span { background: var(--blue); color: rgb(255, 255, 255); box-shadow: none; }
.lpi .opts { display: grid; gap: 8px; }
.lpi .opts label { margin: 0px; font-weight: 500; }
.lpi .opts span { display: flex; align-items: center; min-height: 52px; padding: 0px 16px; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--n300); cursor: pointer; }
.lpi .opts input:checked + span { box-shadow: inset 0 0 0 2px var(--blue); background: var(--blue50); }
.lpi .chips input:focus-visible + span, .lpi .opts input:focus-visible + span { outline: rgba(10, 132, 255, 0.45) solid 3px; }
.lpi .cep-ok { margin: 6px 0 0; min-height: 18px; font-size: 13px; color: #1A7F37; } /* v3.12.0: bairro · cidade · UF do ViaCEP */
.lpi .cep-ok.is-falha { color: var(--n600); }
.lpi .cep-manual[hidden] { display: none; }
.lpi .cond { display: none; }
.lpi .cond.on { display: block; }
.lpi .check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 13px; color: var(--n600); margin-top: 14px; }
.lpi .check input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 1px; }
.lpi .check--opt { margin-top: 8px; } /* v3.10.0: aceite de novidades separado do aceite dos termos (LGPD art. 8º §4º) */
.lpi .btn { width: 100%; height: 56px; border: 0px; border-radius: 999px; background: var(--blue); color: rgb(255, 255, 255); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; font-size: 17px; cursor: pointer; margin-top: 14px; }
.lpi .btn:hover { background: var(--blue6); }
.lpi .btn--ghost { background: none; color: var(--n600); height: 44px; margin-top: 4px; }
.lpi .btn--ghost:hover { background: var(--n100); }
.lpi .trust { font-size: 12.5px; color: var(--n600); text-align: center; margin: 10px 0px 0px; }
.lpi .ok .mk { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 50%; background: var(--green50); color: var(--green); font-size: 26px; font-weight: 700; }
.lpi .ok p { color: var(--n600); margin: 6px 0px; }
.lpi .tl { list-style: none; margin: 18px 0px; padding: 0px; }
.lpi .tl li { position: relative; padding: 0px 0px 16px 32px; font-size: 15px; }
.lpi .tl li::before { content: ""; position: absolute; left: 6px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--n300); }
.lpi .tl li::after { content: ""; position: absolute; left: 10px; top: 18px; bottom: 0px; width: 2px; background: var(--n200); }
.lpi .tl li:last-child::after { display: none; }
.lpi .tl li.on::before { background: var(--green); }
.lpi .tl b { display: block; }
.lpi .tl span { color: var(--n600); }
.lpi .comm { display: inline-flex; height: 48px; align-items: center; padding: 0px 22px; border-radius: 999px; background: var(--n900); color: rgb(255, 255, 255); text-decoration: none; font-weight: 600; }
@media (max-width: 760px) {
.lpi .card { padding: 22px 18px; border-radius: 24px; }
.lpi h1 { font-size: 32px; }
.lpi .lead { font-size: 17px; }
.lpi .auth b { font-size: 26px; }
.lpi .auth { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
.lpi * { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
.lpi { background: rgb(11, 11, 13); color: rgb(245, 245, 247); }
.lpi .nav { background: rgb(11, 11, 13); border-color: rgb(31, 31, 34); }
.lpi .foot { margin: 0px; background: rgb(11, 11, 13); border-top: 1px solid rgb(31, 31, 34); color: rgb(110, 110, 115); font-size: 13px; padding: 22px 0px; }
.lpi .foot a { color: inherit; }
.lpi .foot__in { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.lpi .lpi-hero { position: relative; overflow: hidden; isolation: isolate; padding-block: 0px; }
.lpi .map { --s: 30px; --g: 5px; position: absolute; z-index: -1; top: 50%; left: 50%; translate: calc(-50% - 62px) calc(-50% - 20px); display: grid; grid-template-columns: repeat(var(--cols), var(--s)); grid-auto-rows: var(--s); gap: var(--g); }
.lpi .map span { border-radius: 8px; background: hsl(228 8% calc(5.6% + var(--t, .5) * 2.4%)); box-shadow: inset 0 0 0 1px hsl(228 8% calc(7.4% + var(--t, .5) * 1.6%)); }
.lpi .map::after { content: ""; position: absolute; inset: -2px; pointer-events: none; background: linear-gradient(90deg, rgba(11, 11, 13, 0.86) 0%, rgba(11, 11, 13, 0.78) 38%, rgba(11, 11, 13, 0.25) 50%, rgba(11, 11, 13, 0) 58%), linear-gradient(rgba(11, 11, 13, 0.6) 0%, rgba(11, 11, 13, 0) 18%, rgba(11, 11, 13, 0) 76%, rgb(11, 11, 13) 100%); }
.lpi .map .br { position: relative; z-index: 1; display: grid; place-items: center; font-size: 10px; font-weight: 700; letter-spacing: 0.02em; color: rgb(119, 119, 125); background: linear-gradient(rgb(42, 42, 48), rgb(32, 32, 37)); box-shadow: rgba(255, 255, 255, 0.07) 0px 1px 0px inset, rgb(10, 10, 12) 0px 1px 0px, rgba(0, 0, 0, 0.55) 0px 4px 8px; transform: translateY(-2px); transition: background 2s, color 2s, box-shadow 2s, transform .5s var(--ease); }
.lpi .map .br.done { background: linear-gradient(rgb(29, 61, 99), rgb(23, 50, 79)); color: rgb(156, 199, 255); }
.lpi .map .br.on { background: linear-gradient(rgb(43, 149, 255), rgb(10, 132, 255)); color: rgb(255, 255, 255); transform: translateY(-5px); box-shadow: rgba(255, 255, 255, 0.35) 0px 1px 0px inset, rgba(10, 132, 255, 0.6) 0px 6px 18px; transition: none; }
.lpi .lpi-hero__in { display: grid; grid-template-columns: minmax(0px, 1fr) 290px; gap: 40px; align-items: center; min-height: 640px; padding-block: 64px 120px; }
.lpi .intro { max-width: 520px; }
.lpi .orders { min-width: 0px; margin-left: auto; width: 290px; }
.lpi h1 { font-size: clamp(36px, 4.4vw, 58px); max-width: 14ch; }
.lpi .lead { color: rgb(161, 161, 166); max-width: 40ch; text-wrap: pretty; }
.lpi .auth { list-style: none; margin: 30px 0px 0px; padding: 0px; display: flex; }
.lpi .auth li { padding: 0px 26px; border-left: 1px solid rgb(42, 42, 46); }
.lpi .auth li:first-child { padding-left: 0px; border: 0px; }
.lpi .auth b { display: block; font-size: 30px; letter-spacing: -0.035em; line-height: 1.1; }
.lpi .auth span { display: block; font-size: 13px; color: rgb(142, 142, 147); white-space: nowrap; }
.lpi .cta { display: inline-flex; align-items: center; height: 54px; padding: 0px 26px; margin-top: 34px; border-radius: 999px; background: var(--blue); color: rgb(255, 255, 255); font-weight: 600; text-decoration: none; }
.lpi .cta:hover { background: var(--blue6); }
.lpi .orders__h { white-space: nowrap; margin: 0px 0px 10px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(142, 142, 147); }
.lpi .feed { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: minmax(0px, 1fr); gap: 6px; }
.lpi .feed .os { display: block; border-top: 0px; padding: 9px 14px; }
.lpi .os { border-radius: 12px; background: rgba(24, 24, 27, 0.82); backdrop-filter: blur(10px); box-shadow: rgb(42, 42, 46) 0px 0px 0px 1px inset; font-size: 14px; line-height: 1.35; transition: transform .7s var(--ease), opacity .7s var(--ease), background .4s; }
.lpi .os b { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lpi .os span { display: block; font-size: 12.5px; color: rgb(142, 142, 147); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lpi .os em { font-style: normal; font-weight: 600; color: rgb(48, 209, 88); }
.lpi .os.is-new { animation: osIn .7s var(--ease); }
@keyframes osIn { 
  0% { opacity: 0; transform: translateY(-10px); }
}
.lpi .os.is-ok { background: rgba(19, 42, 27, 0.92); box-shadow: rgb(31, 74, 44) 0px 0px 0px 1px inset; }
.lpi .os.is-out { transform: translateX(115%); opacity: 0; }
.lpi .cad { position: relative; background: linear-gradient(180deg, #0B0B0D 0 260px, var(--n100) 260px); color: var(--n900); padding: 0px 0px 88px; min-height: 100svh; }
.lpi .cad__in { position: relative; }
.lpi .cad__t, .lpi .cad__s { color: rgb(245, 245, 247); }
.lpi .cad__s { color: rgb(161, 161, 166); }
.lpi .cad .card { box-shadow: rgba(255, 255, 255, 0.06) 0px -1px 0px, rgba(0, 0, 0, 0.28) 0px 30px 80px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px inset; }
.lpi .cad__in { max-width: 520px; margin: 0px auto; padding: 0px 20px; }
.lpi .cad__t { margin: 0px; font-size: clamp(28px, 4vw, 38px); letter-spacing: -0.03em; line-height: 1.1; text-align: center; }
.lpi .cad__s { margin: 10px 0px 26px; text-align: center; color: var(--n600); }
.lpi .card { padding: 28px 28px 22px; }
.lpi .prog { display: flex; }
.lpi .prog-t { display: block; }
.lpi .st legend { font-size: 22px; letter-spacing: -0.02em; text-transform: none; color: var(--n900); font-weight: 700; margin-bottom: 2px; }
.lpi .check a { color: var(--blue6); }
.lpi .st .chips:has([name="volume"]) { display: grid; grid-template-columns: repeat(4, 1fr); }
.lpi .st .chips:has([name="volume"]) label { min-width: 0px; }
.lpi .st .chips:has([name="volume"]) span { justify-content: center; padding: 0px 4px; white-space: nowrap; width: 100%; font-size: 14.5px; }
@media (max-width: 1180px) and (min-width: 901px) {
.lpi .lpi-hero__in { grid-template-columns: minmax(0px, 1fr) 250px; }
.lpi .orders { width: 250px; }
.lpi .map { translate: calc(-50% - 120px) calc(-50% - 20px); }
}
@media (max-width: 900px) {
.lpi .lpi-hero__in { grid-template-columns: 1fr; gap: 22px; min-height: 0px; padding-block: 26px 56px; }
.lpi .map { --s: 22px; --g: 4px; top: 372px; bottom: auto; left: 50%; translate: calc(-50% - 4 * (var(--s) + var(--g))) 0; }
.lpi .map::after { background: linear-gradient(rgb(11, 11, 13) 0%, rgba(11, 11, 13, 0) 16%, rgba(11, 11, 13, 0) 58%, rgb(11, 11, 13) 74%); }
.lpi .map .br { font-size: 8px; border-radius: 6px; }
.lpi .map span { border-radius: 6px; }
.lpi h1 { font-size: 31px; max-width: none; }
.lpi .lead { font-size: 15.5px; margin-top: 10px; }
.lpi .auth { margin-top: 16px; }
.lpi .auth li { padding: 0px 14px; }
.lpi .auth b { font-size: 22px; }
.lpi .auth span { font-size: 12px; }
.lpi .cta { width: 100%; justify-content: center; margin-top: 22px; }
.lpi .orders { width: auto; margin: 330px 0px 0px; }
.lpi .feed .os { padding: 8px 12px; font-size: 13px; }
.lpi .os span { font-size: 11.5px; }
.lpi .feed .os:nth-child(n+4) { display: none; }
.lpi .cad { padding: 0px 0px 48px; background: linear-gradient(180deg, #0B0B0D 0 200px, var(--n100) 200px); }
.lpi .cad__in { padding: 0px 16px; }
.lpi .card { padding: 22px 18px 18px; border-radius: 24px; }
.lpi .st legend { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
.lpi .os, .lpi .map span { transition: none; animation: auto ease 0s 1 normal none running none; }
}
.lpi { font-family: var(--font); font-size: 17px; line-height: 1.5; color: #F5F5F7; -webkit-font-smoothing: antialiased; }
.lpi .isca { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lpi .cf-turnstile { margin-top: 12px; }
.lpi .erro { margin: 12px 0 0; padding: 10px 14px; border-radius: 12px; background: #FFF1F0; color: #B42318; font-size: 14px; }
.lpi .btn[disabled] { opacity: .6; cursor: wait; }
body.lpi-page { background: #0B0B0D; }
