/* Linear Engenharia — folha de estilo do site estático */
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/roboto.woff2) format("woff2")}
:root{--grafite:#444242;--texto:#3d3d3d;--suave:#6f6f6f;--vermelho:#ff4545;--vermelho-escuro:#c42424;--cinza:#f3f3f3;--rodape:#ababab;--linha:#e2e2e2;--largura:1140px;--lateral:clamp(16px,4vw,32px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:#fff;color:var(--texto);font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--vermelho-escuro)}
h1,h2,h3{color:#2b2b2b;line-height:1.25;font-weight:500}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:8px;top:-60px;background:#000;color:#fff;padding:8px 14px;z-index:50}
.pular:focus{top:8px}
:focus-visible{outline:2px solid var(--vermelho);outline-offset:3px}
.caixa{max-width:var(--largura);margin:0 auto;padding:0 var(--lateral)}
.secao{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}
.texto p{margin:0 0 1em}
.texto p:last-child{margin-bottom:0}
.olho{color:var(--vermelho-escuro);font-style:italic;font-size:19px;margin:0 0 12px}
.botao{display:inline-flex;align-items:center;gap:10px;background:#5f6670;color:#fff;text-decoration:none;font-weight:500;font-size:15px;padding:12px 24px;border-radius:3px;transition:background .2s}
.botao::after{content:"→"}
.botao:hover{background:var(--grafite)}
.botao.claro{background:#fff;color:#2b2b2b}
.botao.claro:hover{background:var(--cinza)}
.link-seta{display:inline-block;margin-top:20px;font-weight:500;text-decoration:none}
.link-seta::after{content:" →"}
.titulo-linha{display:flex;align-items:center;gap:32px;margin:0 0 36px}
.titulo-linha h2{margin:0;font-size:clamp(22px,3vw,28px);max-width:560px}
.titulo-linha::after{content:"";flex:1;height:1px;background:var(--linha)}
.duas{display:grid;grid-template-columns:3fr 2fr;gap:clamp(28px,5vw,64px);align-items:center}
.duas.iguais{grid-template-columns:1fr 1fr;align-items:start}
@media (max-width:760px){.duas,.duas.iguais{grid-template-columns:1fr}}

/* ---------- Topo ---------- */
.topo{background:var(--grafite);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--lateral) 0 0;position:relative;z-index:10}
.logo{background:#fff;padding:12px 22px;display:block}
.logo img{width:110px;height:auto}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:6px 30px;flex-wrap:wrap}
.menu a{color:#eee;text-decoration:none;font-size:15px;padding:6px 0;display:block;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{color:#fff;border-bottom-color:var(--vermelho)}
.botao-menu{display:none}
@media (max-width:860px){
  .topo{flex-wrap:wrap;padding-right:var(--lateral)}
  .botao-menu{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid rgba(255,255,255,.45);color:#fff;font:inherit;font-size:14px;padding:8px 14px;border-radius:3px;cursor:pointer}
  .botao-menu span{display:block;width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
  .botao-menu[aria-expanded="true"] span{box-shadow:none}
  .menu{flex-basis:100%}
  .js .menu{display:none}
  .js .menu.aberto{display:block}
  .menu ul{flex-direction:column;gap:0;padding:4px var(--lateral) 14px;margin:0 calc(var(--lateral) * -1) 0 0}
  .menu li{border-top:1px solid rgba(255,255,255,.12)}
  .menu a{padding:12px 0;font-size:16px;border:0}
}

/* ---------- Faixa de título ---------- */
.faixa{position:relative;min-height:clamp(220px,30vw,340px);display:flex;align-items:center;background:#555;overflow:hidden}
.faixa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faixa::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15));z-index:1}
.faixa .caixa{position:relative;z-index:2;width:100%}
.faixa h1{color:#fff;margin:0;font-size:clamp(28px,4.4vw,40px);font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.35)}

/* ---------- Home ---------- */
.hero{position:relative;min-height:min(640px,86svh);display:flex;align-items:center;overflow:hidden;background:#5d5d5d;color:#fff}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:rgba(70,70,70,.72);z-index:1}
.hero .caixa{position:relative;z-index:2;width:100%;padding-top:72px;padding-bottom:150px}
.hero h1{color:#fff;font-size:clamp(34px,6vw,58px);font-weight:500;margin:0 0 18px;max-width:640px}
.hero h1 span{display:block;font-size:.42em;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:#ffb3b3;margin-top:10px}
.hero p{max-width:520px;font-size:18px;margin:0 0 28px;color:#f1f1f1}
.experiencia{position:relative;z-index:3;display:grid;grid-template-columns:1fr 2fr;gap:0;margin-top:-110px;align-items:end}
.experiencia figure{margin:0}
.experiencia .e1 img{width:100%;aspect-ratio:3/4;object-fit:cover}
.experiencia .e2 img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 72%}
.selo{position:absolute;left:var(--lateral);bottom:-34px;background:#fff;margin:0;padding:22px 30px;font-size:clamp(20px,2.6vw,26px);box-shadow:0 12px 30px rgba(0,0,0,.12);border-left:4px solid var(--vermelho)}
.servicos-home{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);padding-top:120px;padding-bottom:80px;align-items:start}
.fotos-legenda{display:grid;gap:24px}
.fotos-legenda figure,.obra-cat figure{margin:0}
.fotos-legenda figcaption,.obra-cat figcaption{font-size:13px;font-style:italic;color:var(--suave);margin-top:8px}
.item{border-bottom:1px solid var(--linha)}
.item summary{list-style:none;cursor:pointer;padding:16px 28px 16px 0;position:relative;color:var(--vermelho-escuro);font-size:18px;font-weight:500}
.item summary::-webkit-details-marker{display:none}
.item summary::after{content:"";position:absolute;right:6px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:7px solid currentColor;transition:transform .2s;transform-origin:3px 6px}
.item[open] summary::after{transform:rotate(90deg)}
.item .texto{padding:0 0 18px;color:var(--texto)}
.clientes{padding-bottom:80px}
.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:24px 28px;align-items:center}
.logos li{display:flex;align-items:center;justify-content:center;height:80px}
.logos img{max-height:72px;width:auto;max-width:100%;object-fit:contain}
.bloco-imagem{position:relative;display:grid;grid-template-columns:2fr 3fr;align-items:center;max-width:var(--largura);margin:0 auto 80px;padding:0 var(--lateral)}
.bloco-imagem>img{grid-column:2;grid-row:1;width:100%;aspect-ratio:2/1;object-fit:cover}
.bloco-imagem .cartao-cinza{grid-column:1/span 2;grid-row:1;position:relative;width:min(460px,100%);background:var(--cinza);padding:44px 40px}
.bloco-imagem.invertido>img{grid-column:1}
.bloco-imagem.invertido{grid-template-columns:3fr 2fr}
.bloco-imagem.invertido .cartao-cinza{justify-self:end;grid-column:1/span 2}
.cartao-cinza h2{margin:0 0 14px;font-size:clamp(22px,3vw,28px)}
.cartao-cinza p{margin:0 0 20px}
.cartao-cinza .olho{margin-bottom:6px}
@media (max-width:900px){
  .experiencia{grid-template-columns:1fr 1.6fr;margin-top:-70px}
  .servicos-home{grid-template-columns:1fr;padding-top:90px}
  .bloco-imagem,.bloco-imagem.invertido{grid-template-columns:1fr}
  .bloco-imagem>img,.bloco-imagem.invertido>img{grid-column:1;grid-row:1}
  .bloco-imagem .cartao-cinza,.bloco-imagem.invertido .cartao-cinza{grid-column:1;grid-row:2;width:auto;margin:-40px 16px 0;justify-self:stretch}
}
@media (max-width:560px){.selo{position:relative;left:0;bottom:0;grid-column:1/-1;margin-top:16px}.servicos-home{padding-top:56px}}

/* ---------- A Linear ---------- */
.colunas{columns:2 260px;column-gap:40px}
.colunas p{break-inside:avoid}
.marca img{width:min(300px,80%);margin:0 auto}
.obras-numeros{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;padding-top:0}
.obras-numeros h2{font-size:clamp(24px,3vw,30px);margin:0 0 24px}
.fotos-empilhadas{display:grid;gap:16px}
.numeros{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.numeros li{border-left:4px solid var(--vermelho);padding:6px 0 6px 18px}
.numeros .valor{display:block;font-size:26px;font-weight:600;color:#2b2b2b;line-height:1.2}
.numeros .rotulo{display:block;color:var(--suave);font-size:15px}
@media (max-width:760px){.obras-numeros{grid-template-columns:1fr}}

/* ---------- Quem somos ---------- */
.perfis{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,56px)}
.perfil h2{font-size:22px;margin:0 0 4px}
.cargo{color:var(--vermelho-escuro);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--linha)}
.perfil .texto{font-size:15px}
.linkedin{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#0a66c2;text-decoration:none;font-weight:500}
.linkedin svg{width:18px;height:18px;fill:currentColor}
@media (max-width:760px){.perfis{grid-template-columns:1fr}}

/* ---------- Obras ---------- */
.textura{position:relative}
.atalhos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.atalhos a{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;text-decoration:none;color:#2b2b2b;padding:24px 12px;border-bottom:2px solid var(--linha);height:100%;transition:border-color .2s}
.atalhos a:hover{border-bottom-color:var(--vermelho)}
.atalhos svg{width:34px;height:34px;fill:#555}
@media (max-width:760px){.atalhos{grid-template-columns:1fr 1fr}}
.obra-cat{padding:clamp(48px,6vw,80px) 0}
.obra-cat.cinza{background:var(--cinza)}
.obra-cat h2{font-size:clamp(24px,3.2vw,32px);margin:0 0 32px}
.obra-grade{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,48px);align-items:start}
.obra-grade.inv figure{order:2}
.obra-cat figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.lista-mais{list-style:none;margin:0;padding:0;columns:2 240px;column-gap:36px;font-size:15px}
.lista-mais li{position:relative;padding-left:20px;margin:0 0 14px;break-inside:avoid}
.lista-mais li::before{content:"+";position:absolute;left:0;top:-1px;color:var(--vermelho);font-weight:700}
@media (max-width:760px){.obra-grade{grid-template-columns:1fr}.obra-grade.inv figure{order:0}}

/* ---------- Serviços ---------- */
.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.lista-check li{display:grid;grid-template-columns:20px 1fr;gap:12px}
.lista-check svg{width:16px;height:16px;fill:#2e9e4f;margin-top:4px}
.lista-check strong{font-weight:600;color:#2b2b2b}
.lista-check p{margin:4px 0 0;font-size:15px;color:var(--suave)}

/* ---------- Galeria ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.grade a{display:block;overflow:hidden;background:#eee;cursor:zoom-in}
.grade img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}
.grade a:hover img{transform:scale(1.04)}
@media (max-width:420px){.grade{grid-template-columns:1fr 1fr;gap:6px}}
.lightbox{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:#fff}
.lightbox::backdrop{background:rgba(0,0,0,.92)}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.lightbox img{max-width:94vw;max-height:84vh;width:auto;height:auto}
.lightbox figcaption{font-size:14px;color:#ccc}
.lb-btn{position:fixed;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.4);color:#fff;width:46px;height:46px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lb-btn:hover{border-color:var(--vermelho);color:var(--vermelho)}
.lb-btn[hidden]{display:none}
.lb-fechar{top:16px;right:16px}
.lb-ant{left:16px;top:50%;transform:translateY(-50%)}
.lb-prox{right:16px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.lb-ant,.lb-prox{top:auto;bottom:16px;transform:none}}

/* ---------- Contato ---------- */
.chamada{font-size:clamp(22px,3vw,28px);margin:0 0 36px;max-width:640px}
.contatos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.contato-pessoa{background:var(--cinza);padding:28px 30px;border-top:3px solid var(--vermelho)}
.contato-pessoa h2{font-size:19px;margin:0 0 12px}
.contato-pessoa p{margin:0 0 6px;word-break:break-word}
.contato-pessoa a{text-decoration:none}
.contato-pessoa a:hover{text-decoration:underline}

/* ---------- Rodapé ---------- */
.rodape{background:var(--rodape);color:#1f1f1f;padding:32px var(--lateral);display:flex;align-items:center;gap:24px 48px;flex-wrap:wrap;justify-content:center}
.rodape ul{list-style:none;margin:0;padding:0;display:flex;gap:8px 32px;flex-wrap:wrap;justify-content:center}
.rodape a{color:#1f1f1f;text-decoration:none;font-size:14px;font-weight:500}
.rodape a:hover{text-decoration:underline}
.logo-rodape img{width:110px}
.rodape p{flex-basis:100%;text-align:center;margin:0;font-size:12px;color:#2b2b2b}
.nada{text-align:center}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
