/*! LS Engenharia & Soluções — página de serviços · Desenvolvido por Saída Digital — (81) 98722-0516 */
/* =========================================================
   Visual inspirado no padrão Mesh Engenharia: fundo claro com grade técnica,
   títulos altos e condensados, seção escura de serviços em abas e números/fatos em cartões.
   Cores da marca LS: azul-marinho, azul elétrico, amarelo e laranja do raio.
   Fontes livres (OFL) servidas pelo próprio site: Barlow Condensed (títulos) e Manrope (texto).
   ========================================================= */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/barlow-condensed-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/barlow-condensed-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(fonts/barlow-condensed-latin-800-normal.woff2) format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/manrope-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/manrope-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/manrope-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/manrope-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 800; font-display: swap; src: url(fonts/manrope-latin-800-normal.woff2) format('woff2'); }

:root {
    --ls-marinho: #0A1A33;
    --ls-noite: #060F1F;
    --ls-azul: #1478D4;
    --ls-azul-claro: #3FA7F0;
    --ls-raio: #FFB81C;
    --ls-laranja: #C9520A;
    --ls-fundo: #F4F6F9;
    --ls-linha: #DDE3EB;
    --ls-texto: #101B2D;
    --ls-texto-2: #4F5D72;
    --ls-raio-borda: 14px;
    --ls-titulo: 'Barlow Condensed', 'Arial Narrow', system-ui, sans-serif;
    --ls-corpo: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; background: #fff; color: var(--ls-texto); font: 400 16px/1.6 var(--ls-corpo); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--ls-azul); outline-offset: 3px; }
.ls-wrap { width: min(1160px, 100% - 32px); margin: 0 auto; }
.ls-svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* Títulos */
.ls-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; font: 700 13px/1.2 var(--ls-corpo); letter-spacing: .14em; text-transform: uppercase; color: var(--ls-azul); }
.ls-kicker::before { content: ""; width: 22px; height: 3px; border-radius: 2px; background: var(--ls-raio); }
.ls-h1, .ls-h2 { margin: 0 0 16px; font-family: var(--ls-titulo); font-weight: 800; text-transform: uppercase; letter-spacing: .005em; line-height: .98; text-wrap: balance; }
.ls-h1 { font-size: clamp(40px, 5.4vw, 64px); }
.ls-h2 { font-size: clamp(34px, 4.6vw, 56px); }
.ls-destaque { color: var(--ls-laranja); }
.ls-escuro .ls-destaque { color: var(--ls-raio); }
.ls-lead { margin: 0 0 26px; max-width: 60ch; font-size: clamp(16px, 1.8vw, 18.5px); color: var(--ls-texto-2); }

/* Botões */
.ls-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 14px 26px;
    border: 0; border-radius: 10px; cursor: pointer; text-decoration: none; text-align: center;
    font: 800 15px/1.15 var(--ls-corpo); letter-spacing: .02em; text-transform: uppercase;
    color: var(--ls-noite); background: var(--ls-raio); box-shadow: 0 14px 26px -14px rgba(255, 184, 28, .95);
    transition: transform .15s, filter .15s;
}
.ls-btn:hover { transform: translateY(-2px); filter: brightness(1.05); }
.ls-btn--azul { color: #fff; background: var(--ls-marinho); box-shadow: 0 14px 26px -14px rgba(10, 26, 51, .9); }
.ls-btn--linha { color: inherit; background: transparent; box-shadow: inset 0 0 0 2px currentColor; }
.ls-btn--sm { min-height: 44px; padding: 10px 18px; font-size: 13.5px; }
.ls-btn .ls-svg { width: 20px; height: 20px; stroke-width: 2.2; }
.ls-btn svg:not(.ls-svg) { width: 22px; height: 22px; fill: currentColor; flex: none; }

/* Topo */
.ls-topo { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--ls-linha); }
.ls-topo-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; }
.ls-marca { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.ls-marca img { width: 64px; height: auto; }
.ls-marca span { font: 800 19px/.95 var(--ls-titulo); text-transform: uppercase; color: var(--ls-marinho); letter-spacing: .01em; }
.ls-marca small { display: block; font: 700 12.5px/1.2 var(--ls-titulo); color: var(--ls-azul); letter-spacing: .08em; }
.ls-menu { display: none; gap: 26px; font-weight: 600; font-size: 15px; }
.ls-menu a { text-decoration: none; color: var(--ls-texto-2); }
.ls-menu a:hover { color: var(--ls-marinho); }

/* Abertura */
.ls-hero {
    position: relative; overflow: hidden; padding: 46px 0 0;
    background:
        linear-gradient(rgba(10, 26, 51, .045) 1px, transparent 1px) 0 0 / 28px 28px,
        linear-gradient(90deg, rgba(10, 26, 51, .045) 1px, transparent 1px) 0 0 / 28px 28px,
        linear-gradient(180deg, #fff, var(--ls-fundo));
}
.ls-hero-grade { display: grid; gap: 22px; }
.ls-hero-txt { text-align: center; }
.ls-hero-txt .ls-lead { margin-left: auto; margin-right: auto; }
.ls-hero-txt strong { color: var(--ls-marinho); }
.ls-botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ls-hero-foto { position: relative; display: flex; justify-content: center; align-items: flex-end; min-height: 300px; }
.ls-hero-foto::before {
    content: ""; position: absolute; left: 50%; bottom: 0; width: min(520px, 92%); aspect-ratio: 1; transform: translate(-50%, 34%);
    border-radius: 50%; background: radial-gradient(circle, rgba(20, 120, 212, .28), rgba(20, 120, 212, 0) 66%);
}
.ls-hero-foto img { position: relative; width: min(470px, 92%); }
.ls-fato {
    position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; max-width: 220px; padding: 10px 14px;
    border-radius: 12px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 16px 34px -20px rgba(10, 26, 51, .55); border: 1px solid var(--ls-linha); text-align: left;
}
.ls-fato .ls-svg { width: 30px; height: 30px; padding: 6px; border-radius: 8px; color: var(--ls-noite); background: var(--ls-raio); }
.ls-fato b { display: block; font: 800 18px/1 var(--ls-titulo); text-transform: uppercase; color: var(--ls-marinho); }
.ls-fato span { display: block; font-size: 12.5px; line-height: 1.3; color: var(--ls-texto-2); }
.ls-fato--1 { left: 0; top: 14%; }
.ls-fato--2 { right: 0; top: 34%; }
.ls-fato--3 { left: 2%; bottom: 12%; }
.ls-fato--4 { display: none; right: 2%; bottom: 6%; }

/* Faixa de serviços */
.ls-faixa { overflow: hidden; background: var(--ls-marinho); color: #fff; border-top: 4px solid var(--ls-raio); }
.ls-faixa ul { display: flex; gap: 34px; width: max-content; margin: 0; padding: 14px 0; list-style: none; animation: ls-rola 38s linear infinite; }
.ls-faixa li { display: flex; align-items: center; gap: 34px; white-space: nowrap; font: 700 18px/1 var(--ls-titulo); text-transform: uppercase; letter-spacing: .04em; }
.ls-faixa li::after { content: ""; width: 10px; height: 10px; transform: rotate(45deg); background: var(--ls-raio); }
@keyframes ls-rola { to { transform: translateX(-50%); } }

/* Seções */
.ls-sec { padding: 76px 0; }
.ls-cab { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.ls-cab .ls-lead { margin-left: auto; margin-right: auto; }
.ls-escuro { background: radial-gradient(60% 50% at 100% 0, rgba(20, 120, 212, .28), transparent 70%), var(--ls-noite); color: #fff; }
.ls-escuro .ls-lead { color: rgba(255, 255, 255, .75); }
.ls-escuro .ls-kicker { color: var(--ls-azul-claro); }

/* Serviços em abas */
.ls-servicos { display: grid; gap: 18px; }
.ls-abas { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 0 16px 6px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.ls-aba {
    flex: none; scroll-snap-align: start; display: flex; align-items: center; gap: 10px; padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; cursor: pointer; text-align: left;
    font: 600 15px/1.25 var(--ls-corpo); color: rgba(255, 255, 255, .72); background: rgba(255, 255, 255, .04);
    transition: background .15s, color .15s, border-color .15s;
}
.ls-aba b { font: 800 15px/1 var(--ls-titulo); color: var(--ls-raio); }
.ls-aba:hover { color: #fff; border-color: rgba(255, 255, 255, .3); }
.ls-aba[aria-selected="true"] { color: #fff; background: linear-gradient(90deg, rgba(20, 120, 212, .55), rgba(20, 120, 212, .15)); border-color: var(--ls-azul); box-shadow: inset 4px 0 0 var(--ls-raio); }
.ls-painel { display: grid; overflow: hidden; border-radius: 18px; background: #0E1F3B; border: 1px solid rgba(255, 255, 255, .1); }
.ls-painel[hidden] { display: none; }
.ls-painel-img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #0B1830; }
.ls-painel-img img { width: 100%; height: 100%; object-fit: cover; }
.ls-painel-img--icone {
    display: grid; place-items: center;
    background:
        linear-gradient(rgba(63, 167, 240, .1) 1px, transparent 1px) 0 0 / 24px 24px,
        linear-gradient(90deg, rgba(63, 167, 240, .1) 1px, transparent 1px) 0 0 / 24px 24px,
        radial-gradient(circle at 50% 55%, rgba(20, 120, 212, .55), transparent 62%), #0B1830;
}
.ls-painel-img--icone .ls-svg { width: 34%; height: auto; max-width: 150px; color: var(--ls-raio); stroke-width: 1.3; filter: drop-shadow(0 8px 24px rgba(255, 184, 28, .35)); }
.ls-painel-txt { padding: 24px 22px 26px; }
.ls-painel-rot { margin: 0 0 6px; font: 700 13px/1.2 var(--ls-corpo); letter-spacing: .12em; text-transform: uppercase; color: var(--ls-raio); }
.ls-painel h3 { margin: 0 0 10px; font: 800 clamp(28px, 3.4vw, 38px)/1 var(--ls-titulo); text-transform: uppercase; }
.ls-painel p { margin: 0 0 14px; color: rgba(255, 255, 255, .78); }
.ls-painel ul { display: grid; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.ls-painel li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: rgba(255, 255, 255, .88); }
.ls-painel li .ls-svg { width: 20px; height: 20px; margin-top: 2px; color: var(--ls-raio); stroke-width: 2.4; }

/* Perfil */
.ls-perfil { background: linear-gradient(180deg, var(--ls-fundo), #fff); }
.ls-perfil-grade { display: grid; gap: 26px; align-items: center; }
.ls-perfil-foto { position: relative; display: flex; justify-content: center; }
.ls-perfil-foto::before { content: ""; position: absolute; inset: 12% 8% 0; border-radius: 26px 26px 0 0; background: linear-gradient(160deg, var(--ls-azul), var(--ls-marinho)); }
.ls-perfil-foto::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: 0; height: 6px; background: var(--ls-raio); }
.ls-perfil-foto img { position: relative; width: min(440px, 88%); }
.ls-formacoes { display: grid; gap: 10px; margin: 20px 0 22px; padding: 0; list-style: none; }
.ls-formacoes li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--ls-linha); font-weight: 600; }
.ls-formacoes li .ls-svg { width: 34px; height: 34px; padding: 7px; border-radius: 9px; color: var(--ls-azul); background: #E8F2FC; }
.ls-formacoes li:first-child { background: var(--ls-marinho); color: #fff; border-color: var(--ls-marinho); }
.ls-formacoes li:first-child .ls-svg { color: var(--ls-noite); background: var(--ls-raio); }
.ls-citacao { margin: 0 0 24px; padding: 16px 18px; border-left: 4px solid var(--ls-raio); border-radius: 0 12px 12px 0; background: #FFF8E6; font-style: italic; color: #4A3A10; }
.ls-citacao cite { display: block; margin-top: 6px; font-style: normal; font-weight: 700; font-size: 14px; color: var(--ls-marinho); }

/* Sobre */
.ls-sobre-grade { display: grid; gap: 30px; }
.ls-mvv { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ls-mvv li { padding: 18px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); }
.ls-mvv h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 800 24px/1 var(--ls-titulo); text-transform: uppercase; color: var(--ls-raio); }
.ls-mvv p { margin: 0; color: rgba(255, 255, 255, .78); font-size: 15px; }
.ls-difs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 40px 0 0; padding: 0; list-style: none; }
.ls-difs li { display: flex; flex-direction: column; gap: 10px; padding: 18px 16px; border-radius: 14px; background: linear-gradient(160deg, rgba(20, 120, 212, .28), rgba(20, 120, 212, .06)); border: 1px solid rgba(63, 167, 240, .25); font-weight: 700; line-height: 1.3; }
.ls-difs .ls-svg { width: 30px; height: 30px; color: var(--ls-raio); }
.ls-selo { margin: 26px 0 0; padding: 16px 20px; border-radius: 12px; background: var(--ls-raio); color: var(--ls-noite); text-align: center; font: 800 clamp(20px, 2.6vw, 26px)/1.1 var(--ls-titulo); text-transform: uppercase; }

/* Para quem */
.ls-publicos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ls-publicos li { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 12px; border-radius: 14px; background: var(--ls-fundo); border: 1px solid var(--ls-linha); text-align: center; font: 800 20px/1 var(--ls-titulo); text-transform: uppercase; color: var(--ls-marinho); }
.ls-publicos .ls-svg { width: 34px; height: 34px; color: var(--ls-azul); }

/* Contato */
.ls-contato { background: linear-gradient(180deg, #fff, var(--ls-fundo)); }
.ls-contato-grade { display: grid; gap: 26px; }
.ls-canais { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.ls-canais a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 12px; background: #fff; border: 1px solid var(--ls-linha); text-decoration: none; font-weight: 700; overflow-wrap: anywhere; }
.ls-canais a:hover { border-color: var(--ls-azul); }
.ls-canais .ls-svg { width: 36px; height: 36px; padding: 8px; border-radius: 9px; color: #fff; background: var(--ls-azul); }
.ls-canais small { display: block; font-weight: 500; font-size: 13px; color: var(--ls-texto-2); }
.ls-local { display: flex; align-items: center; gap: 10px; margin: 0; font-weight: 700; color: var(--ls-marinho); }
.ls-local .ls-svg { color: var(--ls-laranja); }
.ls-card { padding: 26px 20px; border-radius: 18px; background: #fff; border: 1px solid var(--ls-linha); border-top: 5px solid var(--ls-raio); box-shadow: 0 34px 60px -40px rgba(10, 26, 51, .55); }
.ls-card h3 { margin: 0 0 4px; font: 800 30px/1 var(--ls-titulo); text-transform: uppercase; color: var(--ls-marinho); }
.ls-card > p { margin: 0 0 18px; color: var(--ls-texto-2); font-size: 15px; }
.ls-field { display: block; margin-bottom: 14px; }
.ls-field span { display: block; margin-bottom: 6px; font: 700 14px/1.3 var(--ls-corpo); }
.ls-field input, .ls-field select, .ls-field textarea {
    width: 100%; min-height: 50px; padding: 12px 14px; border-radius: 10px; border: 1.5px solid var(--ls-linha);
    background: var(--ls-fundo); color: var(--ls-texto); font: 400 16px/1.4 var(--ls-corpo);
}
.ls-field textarea { min-height: 96px; resize: vertical; }
.ls-field input:focus, .ls-field select:focus, .ls-field textarea:focus { outline: none; border-color: var(--ls-azul); background: #fff; box-shadow: 0 0 0 3px rgba(20, 120, 212, .18); }
.ls-field input[aria-invalid="true"] { border-color: #C0392B; }
.ls-campos2 { display: grid; gap: 0 12px; }
.ls-check { display: flex; gap: 10px; align-items: flex-start; margin: 2px 0 16px; font-size: 13.5px; line-height: 1.45; color: var(--ls-texto-2); cursor: pointer; }
.ls-check input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--ls-azul); }
.ls-erro { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: #FDECEC; color: #9B1C1C; font-size: 14px; }
.ls-card .ls-btn { width: 100%; }
.ls-ok { text-align: center; padding: 10px 0; }
.ls-ok p { margin: 0 0 12px; font: 800 24px/1.15 var(--ls-titulo); text-transform: uppercase; color: var(--ls-marinho); }
.ls-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Rodapé */
.ls-rodape { padding: 48px 0 30px; background: var(--ls-noite); color: rgba(255, 255, 255, .75); font-size: 14.5px; }
.ls-rodape-grade { display: grid; gap: 26px; }
.ls-rodape .ls-marca span { color: #fff; }
.ls-rodape .ls-marca small { color: var(--ls-azul-claro); }
.ls-rodape .ls-marca img { background: #fff; border-radius: 10px; padding: 6px 4px; }
.ls-rodape h4 { margin: 0 0 10px; font: 800 18px/1 var(--ls-titulo); text-transform: uppercase; color: #fff; letter-spacing: .04em; }
.ls-rodape ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.ls-rodape a { text-decoration: none; }
.ls-rodape a:hover { color: #fff; text-decoration: underline; }
.ls-rodape-fim { margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; font-size: 13px; color: rgba(255, 255, 255, .55); }
.ls-local-faixa { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 16px; background: var(--ls-raio); color: var(--ls-noite); font: 800 18px/1.1 var(--ls-titulo); text-transform: uppercase; letter-spacing: .03em; text-align: center; }

/* WhatsApp flutuante */
.ls-wa { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 60; display: inline-flex; align-items: center; gap: 8px; padding: 13px 18px; border-radius: 999px; background: #1FAF54; color: #fff; text-decoration: none; font: 700 15px/1 var(--ls-corpo); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .45); }
.ls-wa svg { width: 24px; height: 24px; fill: currentColor; }
.ls-wa:hover { filter: brightness(1.06); }

@media (min-width: 720px) {
    .ls-campos2 { grid-template-columns: 1fr 1fr; }
    .ls-difs { grid-template-columns: repeat(4, 1fr); }
    .ls-publicos { grid-template-columns: repeat(3, 1fr); }
    .ls-fato--4 { display: flex; }
    .ls-rodape-grade { grid-template-columns: 1.4fr 1fr 1fr; }
}
@media (min-width: 960px) {
    .ls-menu { display: flex; }
    .ls-hero { padding-top: 64px; }
    .ls-hero-grade { grid-template-columns: 1.15fr .85fr; align-items: end; gap: 10px; }
    .ls-hero-txt { text-align: left; padding-bottom: 64px; }
    .ls-hero-foto img { width: min(540px, 112%); max-width: none; }
    .ls-hero-txt .ls-lead { margin-left: 0; }
    .ls-botoes { justify-content: flex-start; }
    .ls-hero-foto { min-height: 520px; }
    .ls-servicos { grid-template-columns: 330px 1fr; align-items: start; gap: 22px; }
    .ls-abas { flex-direction: column; overflow: visible; margin: 0; padding: 0; }
    .ls-aba { padding: 14px 16px; }
    .ls-painel { grid-template-columns: 1fr; }
    .ls-painel-img { aspect-ratio: 21 / 9; }
    .ls-painel-txt { padding: 28px 30px 30px; }
    .ls-perfil-grade { grid-template-columns: .9fr 1.1fr; gap: 50px; }
    .ls-sobre-grade { grid-template-columns: 1.1fr .9fr; gap: 50px; align-items: center; }
    .ls-contato-grade { grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: start; }
    .ls-card { padding: 32px 30px; }
}
@media (max-width: 420px) {
    .ls-marca span { font-size: 16px; }
    .ls-topo .ls-btn--sm span { display: none; }
    .ls-fato { padding: 8px 10px; }
    .ls-fato b { font-size: 16px; }
    .ls-fato span { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print { .ls-wa, .ls-topo { display: none; } }
.ls-link { font-weight: 700; color: var(--ls-azul); }
.ls-field small { font-weight: 500; color: var(--ls-texto-2); }
.ls-card .sac-lgpd { color: var(--ls-texto-2); accent-color: var(--ls-azul); }
.ls-card .sac-form-nota { color: var(--ls-texto-2); }
@media (max-width: 959px) {
    .ls-hero-foto { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: stretch; min-height: 0; padding-bottom: 18px; }
    .ls-hero-foto::before { bottom: auto; top: 0; transform: translate(-50%, 0); }
    .ls-hero-foto img { grid-column: 1 / -1; justify-self: center; width: min(400px, 88%); -webkit-mask-image: linear-gradient(#000 78%, transparent); mask-image: linear-gradient(#000 78%, transparent); }
    .ls-fato, .ls-fato--4 { position: static; display: flex; max-width: none; }
}

/* Página indisponível (plugin) */
.ls-off { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; text-align: center; }
.ls-off img { margin: 0 auto 20px; width: 120px; }
