
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#10283f;
  --navy-2:#173b5d;
  --navy-3:#214d73;
  --gold:#b7873f;
  --gold-soft:#f2e9dc;
  --ice:#f4f6f7;
  --concrete:#e9edef;
  --paper:#f8f7f3;
  --white:#ffffff;
  --text:#263641;
  --muted:#62717c;
  --line:#d5dde1;
  --green:#218657;
  --shadow-sm:0 8px 22px rgba(16,40,63,.06);
  --shadow-md:0 18px 42px rgba(16,40,63,.14);
  --radius:18px;
  --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",sans-serif;color:var(--text);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 42px));margin-inline:auto}

h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.4rem,4.9vw,4.55rem);line-height:1.03;letter-spacing:-.045em;color:var(--navy);margin-bottom:20px;font-weight:800}
h2,.h2{font-size:clamp(1.8rem,3vw,2.85rem);line-height:1.12;letter-spacing:-.032em;color:var(--navy);margin:0 0 15px;font-weight:800}
h3{font-size:1.14rem;line-height:1.27;color:var(--navy);margin:0 0 9px;font-weight:750}
p,li{font-size:.96rem;color:var(--muted)}
.lead{font-size:1.06rem;max-width:820px}
.eyebrow,.tag,.ktag,.article-meta{display:inline-block;font-size:.68rem;line-height:1.2;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.section{padding:70px 0;position:relative}
.section-sm{padding:44px 0;position:relative}
.paper,.section-soft{background:var(--concrete)}
.navy,.section-dark{background:var(--navy);color:#fff}
.navy h2,.navy h3,.section-dark h2,.section-dark h3{color:#fff}
.navy p,.navy li,.section-dark p,.section-dark li{color:rgba(255,255,255,.74)}
.section-head{max-width:820px;margin-bottom:30px}
.section-head.wide{max-width:980px}
.rule{width:48px;height:2px;background:var(--gold);margin:17px 0}

.watermark::after,.page-hero::after,.hero-clean::after,.paper.watermark::after{
  content:"";position:absolute;right:5%;top:50%;transform:translateY(-50%);
  width:min(34vw,420px);height:min(34vw,420px);
  background:url("../img/logo-lo.png") center/contain no-repeat;
  opacity:.035;pointer-events:none;z-index:0;
}
.watermark>.container,.page-hero>.container,.hero-clean>.container,.paper.watermark>.container{position:relative;z-index:1}

.topbar{background:#0b1f33;color:rgba(255,255,255,.78);font-size:.72rem}
.topbar .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar a{color:#e6c37c;text-decoration:none}
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(16,40,63,.08);backdrop-filter:blur(12px)}
.navwrap{min-height:80px;display:flex;align-items:center;gap:18px}
.brand{margin-right:auto;display:flex;align-items:center;gap:10px;text-decoration:none;min-width:205px}
.brand img{width:60px;height:49px;object-fit:contain}
.brand strong{display:block;color:var(--navy);font-size:.91rem}
.brand span{display:block;color:var(--muted);font-size:.61rem;margin-top:2px}
.nav{display:flex;align-items:center;gap:11px}
.nav a{position:relative;padding:29px 0;text-decoration:none;color:#30414e;font-size:.66rem;font-weight:750;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--gold);transition:right .22s ease}
.nav a:hover::after,.nav a.active::after{right:0}
.nav a.active{color:var(--navy);font-weight:800}
.menu-btn{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:9px;border:1px solid transparent;text-decoration:none;font-size:.76rem;font-weight:800;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#102236}
.btn-gold:hover{box-shadow:0 10px 24px rgba(183,135,63,.26)}
.btn-navy{background:var(--navy);color:#fff}
.btn-outline{border-color:#c8d1d6;color:var(--navy);background:rgba(255,255,255,.75)}
.btn-outline:hover{border-color:var(--gold);background:#fff}
.btn-outline-light{border-color:rgba(255,255,255,.3);color:#fff;background:transparent}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

.hero-clean{padding:82px 0;background:linear-gradient(120deg,#faf9f6 0%,#eef2f3 100%);position:relative;overflow:hidden}
.hero-clean .inner{max-width:930px}
.page-hero{padding:68px 0 54px;background:linear-gradient(135deg,#faf9f6 0%,#eef2f3 62%,#e6ebed 100%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero h1{max-width:960px}
.page-hero p{max-width:840px}
.breadcrumb{font-size:.68rem;color:var(--muted);margin-bottom:16px}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{color:var(--gold)}

.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.trust-item{padding:23px;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;color:var(--navy);font-size:1.3rem;line-height:1.15}
.trust-item span{display:block;margin-top:6px;color:var(--muted);font-size:.75rem}

.cards2,.two-fronts,.person-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cards3,.service-grid,.knowledge-grid,.article-index{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}

.card,.article-card,.knowledge-card,.article-feature,.project-row,.service-card,.front-card,.person-card,.safety-card{
  display:block;position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;
  box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
a.card,a.article-card,a.knowledge-card,a.article-feature,a.project-row,a.service-card,a.safety-card{cursor:pointer}
a.card:hover,a.article-card:hover,a.knowledge-card:hover,a.article-feature:hover,a.project-row:hover,a.service-card:hover,a.safety-card:hover,
a.card:focus-visible,a.article-card:focus-visible,a.knowledge-card:focus-visible,a.article-feature:focus-visible,a.project-row:focus-visible,a.service-card:focus-visible,a.safety-card:focus-visible{
  transform:translateY(-6px) scale(1.012);box-shadow:var(--shadow-md);border-color:var(--gold);outline:none;
}
a.card:active,a.article-card:active,a.knowledge-card:active,a.article-feature:active,a.project-row:active,a.service-card:active,a.safety-card:active{
  transform:translateY(-2px) scale(1.005);border-color:var(--navy-3);
}
.card p,.article-card p,.knowledge-card p,.article-feature p,.project-row p,.service-card p,.front-card p,.safety-card p{font-size:.84rem;margin-bottom:0}
.card-engineering,.project-row.engineering,.service-card.engineering{background:#f7f9fa;border-color:#d7e0e4}
.card-management,.project-row.management,.service-card.management{background:#f5efe6;border-color:#e1d3bd}
.card-safety,.project-row.safety,.service-card.safety,.safety-card{background:#eef4f1;border-color:#d1dfd8}
.card-accent{border-top:3px solid var(--gold)}
.card-navy{background:var(--navy);border-color:var(--navy)}
.card-navy h3{color:#fff}.card-navy p,.card-navy li{color:rgba(255,255,255,.74)}

.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.project-row{min-height:160px}
.project-row .arrow{display:inline-block;margin-top:12px;color:var(--gold);font-size:.72rem;font-weight:800}

.service-band{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}
.service-band + .service-band{margin-top:20px}
.service-band.engineering{border-left:4px solid var(--navy)}
.service-band.management{border-left:4px solid var(--gold)}
.service-band.safety{border-left:4px solid #5f8872}
.service-band .section-head{margin-bottom:22px}

.content{max-width:860px}
.content h2{font-size:1.85rem;margin:38px 0 11px;color:var(--navy)}
.content h3{font-size:1.16rem;margin:27px 0 8px;color:var(--navy)}
.content p,.content li{color:#52616c}
.content ul,.content ol{padding-left:1.25rem}
.content li{margin-bottom:7px}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:52px;align-items:start}
.sticky{position:sticky;top:116px}
.side-card{background:var(--navy);color:#fff;border-radius:16px;padding:24px}
.side-card h3{color:#fff}
.side-card p{font-size:.8rem;color:rgba(255,255,255,.67)}
.side-card .btn{width:100%;margin-top:9px}
.info,.callout{padding:19px 21px;margin:24px 0;border-radius:13px;background:#eef1f2;border-left:3px solid var(--gold);color:#52616d}
.source-box{margin-top:34px;padding:20px;border-radius:14px;background:#f4f6f7;border:1px solid var(--line)}
.source-box h3{font-size:.9rem}
.source-box a{display:block;color:var(--navy-3);font-size:.78rem;margin:6px 0;text-decoration:none}
.source-box a:hover{text-decoration:underline}

.knowledge-search{margin:23px 0 0}
.knowledge-search input{width:100%;min-height:50px;padding:0 15px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text)}
.knowledge-card{min-height:155px}
.article-feature{min-height:180px}
.article-feature .txt{padding:0}

.article-body{max-width:850px}
.article-body .intro{font-size:1.06rem;color:#465762}
.article-body h2{font-size:1.75rem;margin-top:38px}
.article-body .number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-size:.78rem;margin-right:8px;vertical-align:middle}
.article-conclusion{margin-top:36px;padding:24px;border-radius:16px;background:var(--navy);color:#fff}
.article-conclusion h2{color:#fff;margin-top:0}
.article-conclusion p{color:rgba(255,255,255,.76);margin-bottom:0}

.faq{border-top:1px solid var(--line);margin-top:18px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;padding:17px 0;border:0;background:transparent;text-align:left;display:flex;justify-content:space-between;gap:18px;color:var(--navy);font-weight:800;cursor:pointer}
.faq-a{display:none;padding:0 0 17px;color:var(--muted);font-size:.84rem}
.faq-item.open .faq-a{display:block}

.person-card{min-height:100%}
.person-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#e4c17b;font-weight:800;margin-bottom:16px}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}
.contact-line{padding:13px 0;border-bottom:1px solid var(--line)}
.contact-line b{display:block;color:var(--navy);font-size:.75rem;margin-bottom:3px}
.contact-line span,.contact-line a{font-size:.86rem;color:var(--muted);text-decoration:none}
.form{padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff}
.form label{display:block;margin-bottom:14px;color:var(--navy);font-size:.74rem;font-weight:800}
.form input,.form textarea,.form select{width:100%;margin-top:6px;padding:12px;border:1px solid #ccd5da;border-radius:8px;background:#fff}
.form textarea{min-height:140px;resize:vertical}

.cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.cta h2{font-size:clamp(1.55rem,3vw,2.45rem)}
.cta p{margin-bottom:0}

footer{background:#071a2c;color:#fff;padding:58px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.15fr .85fr .9fr 1fr;gap:35px}
.footer-logo{width:100px;margin-bottom:14px}
footer h4{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:#e4c17c;margin:0 0 13px}
footer p,footer a{display:block;color:rgba(255,255,255,.6);font-size:.73rem;text-decoration:none;margin:0 0 7px}
footer a:hover{color:#e4c17c}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;margin-top:34px;padding-top:17px;border-top:1px solid rgba(255,255,255,.1);font-size:.67rem;color:rgba(255,255,255,.38)}
.whatsapp{position:fixed;right:18px;bottom:18px;z-index:1200;padding:12px 16px;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;font-size:.73rem;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.18)}

@media(max-width:1280px){.nav-cta{display:none}}
@media(max-width:1120px){
 .menu-btn{display:inline-flex}
 .nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:12px 20px 18px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(16,40,63,.09)}
 .nav.open{display:flex}
 .nav a{padding:12px 3px;border-bottom:1px solid #edf0f2;font-size:.8rem}
 .nav a::after{display:none}
 .cards4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:880px){
 .cards3,.service-grid,.knowledge-grid,.article-index,.person-grid{grid-template-columns:repeat(2,1fr)}
 .cards2,.two-fronts,.two-col,.contact-grid{grid-template-columns:1fr}
 .project-list{grid-template-columns:1fr}
 .sticky{position:static}
 .trust-grid{grid-template-columns:repeat(2,1fr)}
 .trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .container{width:min(var(--max),calc(100% - 28px))}
 .topbar .container span:last-child{display:none}
 .brand span{display:none}
 .brand img{width:56px}
 .section{padding:52px 0}.page-hero{padding:50px 0 42px}.hero-clean{padding:58px 0}
 .cards3,.service-grid,.knowledge-grid,.article-index,.cards4,.person-grid{grid-template-columns:1fr}
 .trust-grid{grid-template-columns:1fr}
 .trust-item{border-right:0;border-bottom:1px solid var(--line)}
 .trust-item:last-child{border-bottom:0}
 .hero-actions,.cta{flex-direction:column;align-items:stretch}
 .btn{width:100%}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{display:block}
 .footer-bottom span{display:block;margin-bottom:5px}
 .content h2,.article-body h2{font-size:1.5rem}
 .watermark::after,.page-hero::after,.hero-clean::after{width:270px;height:270px;right:-70px;opacity:.025}
}


/* =========================================================
   V11 — Produção loengenhariacivil.com.br
   Navegação, atuação, cards, modais, autoridade e formulário
   ========================================================= */

:root{
  --transition-fast: .22s ease;
  --transition-ui: .30s ease;
}

/* Navbar premium */
.nav{gap:18px}
.nav a{
  font-size:.78rem;
  font-weight:600;
  letter-spacing:-.01em;
  padding:29px 0;
  transition:color var(--transition-ui);
}
.nav a::after{
  bottom:18px;
  height:2px;
  background:var(--gold);
  transform-origin:left;
  transition:right var(--transition-ui);
}
.nav a:hover,.nav a:focus-visible,.nav a.active{color:var(--gold)}
.nav a:focus-visible{outline:2px solid rgba(181,133,62,.38);outline-offset:5px;border-radius:4px}
.nav a.active{font-weight:700}

/* Home — atuação em duas colunas */
.atuacao-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:54px;
  align-items:center;
}
.atuacao-copy{max-width:620px}
.atuacao-copy .hero-actions{margin-top:26px}
.atuacao-media{
  min-height:440px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 55px rgba(16,40,63,.16);
  border:1px solid rgba(16,40,63,.08);
  background:var(--concrete);
}
.atuacao-media img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
}

/* Dois pilares */
.pillar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pillar-card{
  position:relative;
  min-height:280px;
  padding:32px;
  border-radius:22px;
  overflow:hidden;
  text-decoration:none;
  border:1px solid var(--line);
  box-shadow:0 12px 28px rgba(16,40,63,.08);
  transition:transform var(--transition-ui),box-shadow var(--transition-ui),border-color var(--transition-ui);
}
.pillar-card::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-55px;bottom:-70px;
  border-radius:50%;
  border:1px solid rgba(181,133,62,.28);
  box-shadow:0 0 0 24px rgba(181,133,62,.05),0 0 0 48px rgba(181,133,62,.025);
}
.pillar-card.engineering{background:linear-gradient(145deg,#fff,#eef3f5)}
.pillar-card.management{background:linear-gradient(145deg,#fff,#f4ede3)}
.pillar-card:hover,.pillar-card:focus-visible{
  transform:translateY(-8px) scale(1.012);
  box-shadow:0 26px 55px rgba(16,40,63,.17);
  border-color:var(--gold);
  outline:none;
}
.pillar-card h3{font-size:1.55rem}
.pillar-link{display:inline-block;margin-top:18px;color:var(--gold);font-size:.76rem;font-weight:800}

/* Nossa História e Referências */
.authority-panel{
  position:relative;
  padding:40px;
  border-radius:22px;
  background:linear-gradient(135deg,#10283f 0%,#183b5d 100%);
  box-shadow:0 22px 52px rgba(16,40,63,.18);
  overflow:hidden;
}
.authority-panel::after{
  content:"";
  position:absolute;
  right:-80px;top:-100px;
  width:340px;height:340px;
  background:url("../img/logo-lo.png") center/contain no-repeat;
  opacity:.045;
  pointer-events:none;
}
.authority-panel h2{color:#fff;max-width:800px}
.authority-panel p{color:rgba(255,255,255,.74);max-width:880px}
.authority-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;position:relative;z-index:1}
.btn-ghost-premium{
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:9px;
  color:#fff;
  background:rgba(255,255,255,.025);
  text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;
  transition:transform var(--transition-ui),background var(--transition-ui),border-color var(--transition-ui),color var(--transition-ui);
}
.btn-ghost-premium:hover,.btn-ghost-premium:focus-visible{
  transform:translateY(-3px);
  background:#fff;
  color:var(--navy);
  border-color:#fff;
  outline:none;
}

/* Cards modais de projeto */
.project-modal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.project-modal-card{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  padding:0;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  text-align:left;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  transition:transform var(--transition-ui),box-shadow var(--transition-ui),border-color var(--transition-ui);
}
.project-modal-card:hover,.project-modal-card:focus-visible{
  transform:translateY(-7px) scale(1.012);
  box-shadow:var(--shadow-md);
  border-color:var(--gold);
  outline:none;
}
.project-modal-card:active{transform:translateY(-2px) scale(1.004)}
.project-thumb{
  width:100%;
  height:176px;
  object-fit:cover;
  background:var(--concrete);
  border-bottom:1px solid var(--line);
}
.project-modal-card .project-card-body{padding:20px}
.project-modal-card h3{font-size:1.14rem}
.project-modal-card p{font-size:.83rem;color:var(--muted);margin-bottom:0}
.project-modal-card .arrow{display:inline-block;margin-top:13px;color:var(--gold);font-size:.72rem;font-weight:800}

.project-dialog{
  width:min(980px,calc(100% - 30px));
  max-height:min(88vh,900px);
  padding:0;
  border:0;
  border-radius:22px;
  overflow:auto;
  background:#fff;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
}
.project-dialog::backdrop{
  background:rgba(6,20,33,.72);
  backdrop-filter:blur(7px);
}
.project-dialog[open]{animation:dialogIn .25s ease both}
@keyframes dialogIn{
  from{opacity:0;transform:translateY(18px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.project-dialog-inner{display:grid;grid-template-columns:.92fr 1.08fr}
.project-dialog-media{min-height:100%;background:var(--concrete)}
.project-dialog-media img{width:100%;height:100%;min-height:480px;object-fit:cover}
.project-dialog-content{position:relative;padding:42px}
.project-dialog-close{
  position:absolute;right:18px;top:18px;
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--navy);
  font-size:1.25rem;cursor:pointer;
  transition:background var(--transition-fast),transform var(--transition-fast);
}
.project-dialog-close:hover{background:var(--ice);transform:rotate(4deg)}
.project-dialog-content h2{padding-right:44px}
.project-dialog-content ul{padding-left:1.15rem}
.project-dialog-content li{font-size:.87rem;margin-bottom:6px}
.project-dialog-content .btn{margin-top:12px}

/* Formulário final */
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form .help{font-size:.72rem;color:var(--muted);margin:-4px 0 15px}
.form input:focus,.form textarea:focus,.form select:focus{
  outline:2px solid rgba(181,133,62,.24);
  border-color:var(--gold);
}

/* CTA active/hover consistency */
.btn,.service-card,.project-row,.knowledge-card,.article-feature,.pillar-card,.project-modal-card{
  transition-duration:.3s;
  transition-timing-function:ease;
}

/* Responsive hardening */
@media(max-width:1220px){
  .nav-cta{display:none}
  .menu-btn{display:inline-flex}
  .nav{
    display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:12px 20px 18px;
    flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);
    box-shadow:0 18px 35px rgba(16,40,63,.09)
  }
  .nav.open{display:flex}
  .nav a{padding:13px 4px;border-bottom:1px solid #edf0f2;font-size:.88rem}
  .nav a::after{display:none}
}
@media(max-width:920px){
  .atuacao-grid,.pillar-grid,.project-dialog-inner{grid-template-columns:1fr}
  .atuacao-media,.atuacao-media img{min-height:360px}
  .project-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-dialog-media img{min-height:300px;max-height:360px}
}
@media(max-width:620px){
  .project-modal-grid,.form-row{grid-template-columns:1fr}
  .project-thumb{height:190px}
  .project-dialog{width:calc(100% - 18px);max-height:92vh;border-radius:16px}
  .project-dialog-content{padding:30px 20px 24px}
  .project-dialog-close{right:12px;top:12px}
  .authority-panel{padding:28px 20px}
  .authority-actions{flex-direction:column}
  .btn-ghost-premium{width:100%}
  .atuacao-media,.atuacao-media img{min-height:280px}
}


/* =========================================================
   V12 — Projetos sem imagens: topo geométrico premium
   ========================================================= */

.project-modal-card{
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
}

.project-visual{
  position:relative;
  min-height:150px;
  padding:22px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.12);
  isolation:isolate;
}

.project-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:24px 24px;
  opacity:.8;
}

.project-visual::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-42px;
  width:150px;
  height:150px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:
    0 0 0 22px rgba(255,255,255,.045),
    0 0 0 44px rgba(255,255,255,.025);
  z-index:-1;
}

.project-visual .project-category{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  backdrop-filter:blur(6px);
}

/* Variações discretas dentro da mesma identidade visual */
.project-modal-card[data-project-modal="estrutural"] .project-visual,
.project-modal-card[data-project-modal="arquitetonico"] .project-visual{
  background:linear-gradient(135deg,#10283f 0%,#183b5d 100%);
}

.project-modal-card[data-project-modal="eletrico"] .project-visual,
.project-modal-card[data-project-modal="hidraulico"] .project-visual{
  background:linear-gradient(135deg,#183b5d 0%,#245277 100%);
}

.project-modal-card[data-project-modal="drenagem"] .project-visual{
  background:linear-gradient(135deg,#214d73 0%,#355f7d 100%);
}

.project-modal-card[data-project-modal="reformas"] .project-visual{
  background:linear-gradient(135deg,#8f6934 0%,#b5853e 100%);
}

.project-modal-card:hover .project-visual::before,
.project-modal-card:focus-visible .project-visual::before{
  opacity:1;
  background-size:22px 22px;
}

.project-card-body{
  display:block;
  background:#fff;
}

.project-modal-card .project-card-body .tag{
  color:var(--gold);
}

/* Modal também sem dependência de imagem local */
.project-dialog-inner{
  grid-template-columns:260px minmax(0,1fr);
}

.project-dialog-media{
  position:relative;
  min-height:100%;
  background:linear-gradient(155deg,#10283f 0%,#183b5d 58%,#b5853e 145%);
  overflow:hidden;
}

.project-dialog-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:28px 28px;
}

.project-dialog-media::after{
  content:"LO";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:5rem;
  font-weight:800;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.13);
}

.project-dialog-media img{display:none !important}

@media(max-width:920px){
  .project-dialog-inner{grid-template-columns:1fr}
  .project-dialog-media{min-height:135px}
  .project-dialog-media::after{font-size:3.6rem}
}

@media(max-width:620px){
  .project-visual{min-height:125px;padding:18px}
}


/* =========================================================
   V13 — Identidade visual unificada
   Mesmo padrão técnico dos cards de Projetos aplicado ao site
   ========================================================= */

:root{
  --lo-navy:#10283f;
  --lo-navy-2:#183b5d;
  --lo-blue:#214d73;
  --lo-gold:#b5853e;
  --lo-gold-dark:#8f6934;
  --lo-tech:#e9edef;
  --lo-paper:#f8f7f3;
  --lo-white:#ffffff;
  --lo-text:#263641;
  --lo-muted:#62717c;
  --lo-line:#d5dde1;
  --lo-shadow:0 10px 26px rgba(16,40,63,.08);
  --lo-shadow-hover:0 24px 52px rgba(16,40,63,.17);
  --lo-radius:18px;
}

/* -------- Base reutilizável dos blocos técnicos -------- */
.service-card,
.project-row,
.knowledge-card,
.article-feature,
.person-card,
.section.navy .card-navy{
  position:relative;
  overflow:hidden;
  border:1px solid var(--lo-line);
  border-radius:var(--lo-radius);
  box-shadow:var(--lo-shadow);
}

/* Topo técnico em CSS puro: cor + grid tipo papel milimetrado */
.service-card::before,
.project-row::before,
.knowledge-card::before,
.article-feature::before,
.person-card::before,
.section.navy .card-navy::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:104px;
  z-index:0;
  background:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(135deg,var(--lo-navy) 0%,var(--lo-navy-2) 100%);
  background-size:24px 24px,24px 24px,100% 100%;
}

/* Elemento circular técnico no canto */
.service-card::after,
.project-row::after,
.knowledge-card::after,
.article-feature::after,
.person-card::after,
.section.navy .card-navy::after{
  content:"";
  position:absolute;
  width:118px;
  height:118px;
  top:37px;
  right:-40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.20);
  box-shadow:
    0 0 0 18px rgba(255,255,255,.035),
    0 0 0 36px rgba(255,255,255,.018);
  pointer-events:none;
}

/* Espaço reservado para o topo geométrico */
.service-card,
.project-row,
.knowledge-card,
.article-feature,
.person-card{
  padding-top:132px;
  background:var(--lo-white);
}

/* Categorias ficam sobre o topo colorido */
.service-card > .tag,
.project-row > .tag,
.knowledge-card > .ktag,
.article-feature .article-meta,
.person-card > .tag{
  position:absolute;
  top:28px;
  left:22px;
  z-index:2;
  margin:0;
  color:#fff;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:8px 11px;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  backdrop-filter:blur(5px);
}

/* Mantém textos sempre legíveis na área branca */
.service-card h3,
.project-row h3,
.knowledge-card h3,
.article-feature h3,
.person-card h3{
  color:var(--lo-navy);
}
.service-card p,
.project-row p,
.knowledge-card p,
.article-feature p,
.person-card p{
  color:var(--lo-muted);
}

/* Hover tridimensional global */
.service-card,
.project-row,
.knowledge-card,
.article-feature,
.person-card{
  transition:
    transform .30s ease,
    box-shadow .30s ease,
    border-color .30s ease;
}
a.service-card:hover,
a.project-row:hover,
a.knowledge-card:hover,
a.article-feature:hover,
a.service-card:focus-visible,
a.project-row:focus-visible,
a.knowledge-card:focus-visible,
a.article-feature:focus-visible,
.person-card:hover{
  transform:translateY(-7px) scale(1.012);
  box-shadow:var(--lo-shadow-hover);
  border-color:var(--lo-gold);
  outline:none;
}

/* -------- Variações por área, sem romper a identidade -------- */

/* Engenharia */
.service-card.engineering::before,
.project-row.engineering::before,
.person-card.card-engineering::before{
  background:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(135deg,var(--lo-navy) 0%,var(--lo-navy-2) 100%);
  background-size:24px 24px,24px 24px,100% 100%;
}

/* Gestão */
.service-card.management::before,
.project-row.management::before,
.person-card.card-management::before{
  background:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(135deg,var(--lo-gold-dark) 0%,var(--lo-gold) 100%);
  background-size:24px 24px,24px 24px,100% 100%;
}

/* Segurança */
.service-card.safety::before,
.project-row.safety::before{
  background:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(135deg,#355f55 0%,#527a68 100%);
  background-size:24px 24px,24px 24px,100% 100%;
}

/* Dúvidas */
.knowledge-card::before{
  background:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(135deg,#173b5d 0%,#2c597b 100%);
  background-size:24px 24px,24px 24px,100% 100%;
}

/* Artigos */
.article-feature::before{
  background:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(135deg,#10283f 0%,#214d73 72%,#8f6934 145%);
  background-size:24px 24px,24px 24px,100% 100%;
}
.article-feature .txt{position:relative;z-index:1}

/* -------- Gestão de Obra -------- */
.project-row.management .arrow,
.service-card.management .arrow{
  color:var(--lo-gold-dark);
}

/* -------- Sobre Mim -------- */
.person-card{
  padding-top:154px;
}
.person-card .person-mark{
  position:absolute;
  top:24px;
  left:22px;
  z-index:2;
  width:50px;
  height:50px;
  margin:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:none;
}
.person-card > .tag{
  top:84px;
}

/* Trajetória: mesmo conceito, adaptado ao fundo escuro */
.section.navy .card-navy{
  padding-top:128px;
  background:#0e2941;
  border-color:rgba(255,255,255,.12);
}
.section.navy .card-navy::before{
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(135deg,#173b5d 0%,#8f6934 160%);
  background-size:24px 24px,24px 24px,100% 100%;
}
.section.navy .card-navy > .tag{
  position:absolute;
  top:28px;
  left:22px;
  z-index:2;
  margin:0;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.19);
  border-radius:999px;
  padding:8px 11px;
}
.section.navy .card-navy h3{color:#fff}
.section.navy .card-navy p{color:rgba(255,255,255,.72)}
.section.navy .card-navy:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px rgba(0,0,0,.22);
  border-color:rgba(181,133,62,.65);
}

/* -------- FAQ / Accordion -------- */
.faq{
  border-top:0;
  display:grid;
  gap:12px;
}
.faq-item{
  position:relative;
  overflow:hidden;
  border:1px solid var(--lo-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 18px rgba(16,40,63,.055);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.faq-item:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 32px rgba(16,40,63,.11);
  border-color:rgba(181,133,62,.58);
}
.faq-q{
  position:relative;
  padding:19px 48px 19px 24px;
  background:
    linear-gradient(rgba(16,40,63,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,40,63,.032) 1px, transparent 1px),
    linear-gradient(90deg,#f7f9fa 0%,#fff 100%);
  background-size:22px 22px,22px 22px,100% 100%;
}
.faq-q::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(var(--lo-navy),var(--lo-gold));
}
.faq-a{padding:0 24px 20px}

/* -------- Service bands -------- */
.service-band{
  background:linear-gradient(180deg,#fff 0%,#f8fafb 100%);
  box-shadow:0 14px 34px rgba(16,40,63,.065);
}
.service-band.engineering{border-left-color:var(--lo-navy)}
.service-band.management{border-left-color:var(--lo-gold)}
.service-band.safety{border-left-color:#527a68}

/* -------- Marca d'água estratégica -------- */
.watermark{
  position:relative;
  overflow:hidden;
}
.watermark::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:4%;
  top:50%;
  transform:translateY(-50%);
  background-image:url("../img/logo-lo.png");
  background-repeat:no-repeat;
  background-position:right center;
  background-size:contain;
  opacity:.04;
  pointer-events:none;
  z-index:0;
}
.watermark > .container{
  position:relative;
  z-index:1;
}

/* Seção escura da trajetória recebe marca d'água quase invisível */
.section.navy.watermark::after{
  filter:grayscale(1) brightness(3);
  opacity:.025;
}

/* -------- Tipografia global reforçada -------- */
body{font-family:"Inter",sans-serif}
h1,h2,h3,.nav a,.btn,.tag,.ktag,.article-meta{font-family:"Inter",sans-serif}

/* -------- Responsividade -------- */
@media(max-width:880px){
  .service-card,
  .project-row,
  .knowledge-card,
  .article-feature{padding-top:122px}
  .person-card{padding-top:148px}
}

@media(max-width:700px){
  .watermark::after,
  .section.navy.watermark::after{
    display:none !important;
  }

  .service-card::before,
  .project-row::before,
  .knowledge-card::before,
  .article-feature::before{
    height:92px;
  }

  .service-card,
  .project-row,
  .knowledge-card,
  .article-feature{
    padding-top:118px;
  }

  .service-card > .tag,
  .project-row > .tag,
  .knowledge-card > .ktag,
  .article-feature .article-meta{
    top:24px;
    left:18px;
  }

  .faq-q{padding:17px 42px 17px 20px}
  .faq-a{padding:0 20px 18px}
}


/* =========================================================
   V14 — Correções Artigos + Home
   ========================================================= */

/* ARTIGOS — badge sempre acima do título, sem sobreposição */
.article-feature{
  padding-top:132px;
}

.article-feature .txt{
  position:relative;
  z-index:2;
}

.article-feature .article-meta{
  position:absolute;
  top:26px;
  left:22px;
  z-index:3;
  margin:0;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(16,40,63,.92);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:.64rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.article-feature h3{
  position:relative;
  z-index:2;
  margin-top:0;
  color:var(--lo-navy);
}

.article-feature p{
  position:relative;
  z-index:2;
}

/* HOME — logo em máxima evidência no lugar de imagem temática */
.home-logo-showcase{
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  border-radius:18px;
  background:
    linear-gradient(rgba(16,40,63,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,40,63,.03) 1px, transparent 1px),
    linear-gradient(145deg,#ffffff 0%,#eef2f3 100%);
  background-size:24px 24px,24px 24px,100% 100%;
  border:1px solid var(--lo-line);
  box-shadow:0 24px 55px rgba(16,40,63,.14);
}

.home-logo-showcase img{
  width:min(82%,520px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 16px 24px rgba(16,40,63,.14));
}

@media(max-width:700px){
  .article-feature{
    padding-top:116px;
  }

  .article-feature .article-meta{
    top:22px;
    left:18px;
  }

  .home-logo-showcase{
    min-height:280px;
    padding:24px;
  }

  .home-logo-showcase img{
    width:min(88%,420px);
  }
}


/* =========================================================
   V15 — Integração final de imagens e layout responsivo
   ========================================================= */

:root{
  --hero-overlay:rgba(0,0,0,.60);
  --image-radius:16px;
  --image-shadow:0 10px 15px -3px rgba(0,0,0,.05);
  --whatsapp:#25D366;
  --whatsapp-hover:#1ebe5d;
}

/* ---------- Logo global maior e proporcional ---------- */
.logo-container{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.logo-container img{
  display:block;
  height:80px;
  width:auto;
  max-width:220px;
  object-fit:contain;
}
.brand.logo-container{
  gap:12px;
}
.navwrap{
  min-height:92px;
}

/* ---------- CTA principal da Navbar ---------- */
.nav-cta{
  background:var(--whatsapp) !important;
  color:#fff !important;
  border-color:var(--whatsapp) !important;
  border-radius:8px !important;
  font-weight:600 !important;
  box-shadow:0 4px 14px rgba(37,211,102,.30) !important;
  transition:all .3s cubic-bezier(.25,.8,.25,1) !important;
}
.nav-cta:hover,
.nav-cta:focus-visible{
  background:var(--whatsapp-hover) !important;
  border-color:var(--whatsapp-hover) !important;
  color:#fff !important;
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 10px 24px rgba(37,211,102,.38) !important;
  outline:none;
}

/* ---------- Hero global com imagem e overlay ---------- */
.hero-section{
  position:relative;
  min-height:450px;
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(var(--hero-overlay),var(--hero-overlay)),
    var(--hero-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:#fff;
  overflow:hidden;
}
.hero-section::after{
  content:none !important;
}
.hero-section > .container{
  width:100%;
  position:relative;
  z-index:2;
}
.hero-section h1,
.hero-section h2,
.hero-section h3,
.hero-section p,
.hero-section .lead,
.hero-section .eyebrow,
.hero-section .breadcrumb,
.hero-section .breadcrumb a{
  color:#fff !important;
}
.hero-section .breadcrumb{
  opacity:.84;
}
.hero-section .eyebrow{
  opacity:.90;
}
.hero-section .lead{
  max-width:850px;
  opacity:.94;
}
.hero-section .btn-outline{
  border-color:rgba(255,255,255,.72);
  color:#fff;
  background:rgba(255,255,255,.06);
}
.hero-section .btn-outline:hover,
.hero-section .btn-outline:focus-visible{
  background:#fff;
  color:var(--navy);
  border-color:#fff;
}

/* Imagem individual por página principal */
.page-home{--hero-image:url("../img/visual/hero.webp")}
.page-solucoes{--hero-image:url("../img/visual/empresas.webp")}
.page-projetos{--hero-image:url("../img/visual/projetos.webp")}
.page-gestao-obra{--hero-image:url("../img/visual/gerenciamento.webp")}
.page-seguranca-trabalho{--hero-image:url("../img/visual/construir.webp")}
.page-duvidas{--hero-image:url("../img/visual/consultoria.webp")}
.page-artigos{--hero-image:url("../img/visual/consulta-wide.webp")}
.page-sobre{--hero-image:url("../img/visual/hero.webp")}
.page-contato{--hero-image:url("../img/visual/contato-panoramica.webp")}

/* ---------- Home: atuação em duas colunas com imagem real ---------- */
.atuacao-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:54px;
  align-items:stretch;
}
.atuacao-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.atuacao-imagem-container{
  min-width:0;
  width:100%;
  min-height:450px;
  overflow:hidden;
  border-radius:var(--image-radius);
  box-shadow:var(--image-shadow);
}
.imagem-destaque-cheia{
  display:block;
  width:100%;
  height:100%;
  min-height:450px;
  max-height:560px;
  object-fit:cover;
  object-position:center;
  border-radius:var(--image-radius);
}

/* ---------- Cards com imagens temáticas reais ---------- */
.service-card::before,
.project-row::before,
.knowledge-card::before,
.article-feature::before{
  background-image:
    linear-gradient(rgba(10,27,43,.58),rgba(10,27,43,.58)),
    var(--card-image, url("../img/visual/hero.webp"));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Mapeamento de serviços */
a[href="projetos.html"]{--card-image:url("../img/visual/projetos.webp")}
a[href="regularizacao.html"]{--card-image:url("../img/visual/regularizacao.webp")}
a[href="vistorias-laudos.html"]{--card-image:url("../img/visual/vistorias.webp")}
a[href="gerenciamento.html"]{--card-image:url("../img/visual/gerenciamento.webp")}
a[href="consultoria.html"]{--card-image:url("../img/visual/consultoria.webp")}
a[href="reurb.html"]{--card-image:url("../img/visual/reurb.webp")}
a[href="seguranca-trabalho.html"]{--card-image:url("../img/visual/construir.webp")}

/* Gestão */
a[href^="gestao-"]{--card-image:url("../img/visual/gerenciamento.webp")}
a[href="gestao-planilhas-controles.html"],
a[href="gestao-financeira.html"]{--card-image:url("../img/visual/consultoria.webp")}
a[href="gestao-documentacao.html"]{--card-image:url("../img/visual/consulta-wide.webp")}
a[href="gestao-prestadores.html"]{--card-image:url("../img/visual/empresas.webp")}

/* Segurança */
a[href^="seguranca-"]{--card-image:url("../img/visual/construir.webp")}
a[href="seguranca-inspecao-obra.html"]{--card-image:url("../img/visual/vistorias.webp")}
a[href="seguranca-documentacao.html"]{--card-image:url("../img/visual/consulta-wide.webp")}

/* Dúvidas e Artigos */
.knowledge-card{--card-image:url("../img/visual/consultoria.webp")}
.article-feature{--card-image:url("../img/visual/consulta-wide.webp")}

/* Grade técnica sutil por cima das fotos */
.service-card::after,
.project-row::after,
.knowledge-card::after,
.article-feature::after{
  background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:22px 22px;
  border-radius:0;
  width:auto;
  height:104px;
  inset:0 0 auto 0;
  box-shadow:none;
  border:0;
  opacity:.75;
}

/* Badge sempre acima do conteúdo e com contraste */
.service-card > .tag,
.project-row > .tag,
.knowledge-card > .ktag,
.article-feature .article-meta{
  background:rgba(16,40,63,.90) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.25) !important;
}

/* ---------- Imagens comuns ---------- */
.content-image,
.section-image,
.card-image{
  display:block;
  width:100%;
  height:auto;
  max-height:400px;
  object-fit:cover;
  object-position:center;
  border-radius:var(--image-radius);
}

/* ---------- Contato panorâmico ---------- */
.contato-hero-section{
  min-height:450px;
  background-image:
    linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),
    url("../img/visual/contato-panoramica.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.contato-hero-section h1,
.contato-hero-section h2,
.contato-hero-section p,
.contato-hero-section .lead,
.contato-hero-section .eyebrow,
.contato-hero-section .breadcrumb,
.contato-hero-section .breadcrumb a{
  color:#fff !important;
}

/* ---------- Proteções de layout ---------- */
img{
  max-width:100%;
}
main,
section,
.container,
.service-grid,
.cards2,
.cards3,
.project-grid,
.knowledge-grid,
.article-grid{
  min-width:0;
}
.service-card,
.project-row,
.knowledge-card,
.article-feature{
  min-width:0;
}

/* ---------- Mobile / Tablet ---------- */
@media(max-width:1220px){
  .logo-container img{
    height:68px;
    max-width:190px;
  }
  .navwrap{min-height:82px}
}

@media(max-width:920px){
  .hero-section,
  .contato-hero-section{
    min-height:390px;
  }

  .atuacao-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .atuacao-copy{
    order:1;
  }
  .atuacao-imagem-container{
    order:2;
    min-height:320px;
    width:100%;
  }
  .imagem-destaque-cheia{
    min-height:320px;
    max-height:430px;
  }
}

@media(max-width:700px){
  .logo-container img{
    height:58px;
    max-width:160px;
  }
  .navwrap{
    min-height:72px;
  }

  .hero-section,
  .contato-hero-section{
    min-height:340px;
    padding:48px 0;
    background-position:center;
  }

  .hero-section > .container,
  .contato-hero-section > .container{
    padding-left:20px;
    padding-right:20px;
  }

  .atuacao-grid{
    padding-left:0;
    padding-right:0;
  }
  .atuacao-imagem-container{
    min-height:260px;
  }
  .imagem-destaque-cheia{
    min-height:260px;
    max-height:340px;
  }
}


/* =========================================================
   V16 — Revisão final: imagens únicas, hero alinhado e conversão
   ========================================================= */
.hero-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
  box-sizing:border-box;
}
.hero-section{
  min-height:450px;
  padding:80px 0 !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),
    var(--hero-image) !important;
}
.hero-section h1,.hero-section h2,.hero-section h3,.hero-section p,
.hero-section .lead,.hero-section .eyebrow,.hero-section .breadcrumb,.hero-section .breadcrumb a{
  color:#fff !important;
}

.page-home{--hero-image:url("../hero-home-engenharia.jpg")}
.page-solucoes{--hero-image:url("../hero-solucoes-engenharia.jpg")}
.page-projetos{--hero-image:url("../hero-projetos-engenharia.jpg")}
.page-gestao-obra{--hero-image:url("../hero-gestao-obra.jpg")}
.page-seguranca-trabalho{--hero-image:url("../hero-seguranca-trabalho.jpg")}
.page-duvidas{--hero-image:url("../hero-duvidas-tecnicas.jpg")}
.page-artigos{--hero-image:url("../hero-artigos-engenharia.jpg")}
.page-sobre{--hero-image:url("../hero-sobre-trajetoria.jpg")}
.page-contato{--hero-image:url("../hero-contato-residencial.jpg")}

.service-card::before,.project-row::before,.knowledge-card::before,.article-feature::before{
  height:200px !important;
  background-image:
    linear-gradient(135deg,rgba(16,40,63,.74),rgba(143,105,52,.42)),
    var(--card-image) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.service-card,.project-row,.knowledge-card,.article-feature{padding-top:226px !important}
.service-card::after,.project-row::after,.knowledge-card::after,.article-feature::after{height:200px !important}

/* Home */
.home-service-1{--card-image:url("../home-card-projetos.jpg")}
.home-service-2{--card-image:url("../home-card-regularizacao.jpg")}
.home-service-3{--card-image:url("../home-card-vistorias.jpg")}
.home-service-4{--card-image:url("../home-card-gerenciamento.jpg")}
.home-service-5{--card-image:url("../home-card-consultoria.jpg")}
.home-service-6{--card-image:url("../home-card-seguranca.jpg")}

/* Soluções */
.sol-service-1{--card-image:url("../solucoes-projetos.jpg")}
.sol-service-2{--card-image:url("../solucoes-regularizacao.jpg")}
.sol-service-3{--card-image:url("../solucoes-vistorias-laudos.jpg")}
.sol-service-4{--card-image:url("../solucoes-gerenciamento.jpg")}
.sol-service-5{--card-image:url("../solucoes-consultoria-tecnica.jpg")}
.sol-service-6{--card-image:url("../solucoes-reurb.jpg")}
.sol-service-7{--card-image:url("../solucoes-contratos-propostas.jpg")}
.sol-service-8{--card-image:url("../solucoes-planilhas-controles.jpg")}
.sol-service-9{--card-image:url("../solucoes-organizacao-financeira.jpg")}
.sol-service-10{--card-image:url("../solucoes-organizacao-documental.jpg")}
.sol-service-11{--card-image:url("../solucoes-apoio-prestadores.jpg")}
.sol-service-12{--card-image:url("../solucoes-consultoria-gestao.jpg")}
.sol-service-13{--card-image:url("../solucoes-inspecao-seguranca.jpg")}
.sol-service-14{--card-image:url("../solucoes-gro-pgr.jpg")}
.sol-service-15{--card-image:url("../solucoes-nr18-canteiro.jpg")}

/* Gestão */
.gestao-card-1{--card-image:url("../gestao-contratos-propostas.jpg")}
.gestao-card-2{--card-image:url("../gestao-planilhas-controles.jpg")}
.gestao-card-3{--card-image:url("../gestao-financeira-obra.jpg")}
.gestao-card-4{--card-image:url("../gestao-documental-obra.jpg")}
.gestao-card-5{--card-image:url("../gestao-prestadores-obra.jpg")}
.gestao-card-6{--card-image:url("../gestao-consultoria-obra.jpg")}

/* Segurança */
.seguranca-card-1{--card-image:url("../seguranca-inspecao-condicoes.jpg")}
.seguranca-card-2{--card-image:url("../seguranca-gro-pgr-riscos.jpg")}
.seguranca-card-3{--card-image:url("../seguranca-nr18-canteiro.jpg")}
.seguranca-card-4{--card-image:url("../seguranca-plano-acao.jpg")}
.seguranca-card-5{--card-image:url("../seguranca-documentacao-registros.jpg")}
.seguranca-card-6{--card-image:url("../seguranca-orientacao-tecnica.jpg")}

/* Dúvidas */
.duvida-card-1{--card-image:url("../duvida-reurb.jpg")}
.duvida-card-2{--card-image:url("../duvida-trincas.jpg")}
.duvida-card-3{--card-image:url("../duvida-laudos.jpg")}
.duvida-card-4{--card-image:url("../duvida-nbrs.jpg")}
.duvida-card-5{--card-image:url("../duvida-art.jpg")}
.duvida-card-6{--card-image:url("../duvida-alvara.jpg")}
.duvida-card-7{--card-image:url("../duvida-documentacao-construir.jpg")}
.duvida-card-8{--card-image:url("../duvida-regularizacao-construcao.jpg")}
.duvida-card-9{--card-image:url("../duvida-contrato-obra.jpg")}
.duvida-card-10{--card-image:url("../duvida-controle-financeiro.jpg")}
.duvida-card-11{--card-image:url("../duvida-cno-obra.jpg")}
.duvida-card-12{--card-image:url("../duvida-nfse-iss.jpg")}
.duvida-card-13{--card-image:url("../duvida-seguranca-trabalho.jpg")}
.duvida-card-14{--card-image:url("../duvida-organizacao-prestadores.jpg")}

/* Artigos */
.artigo-card-1{--card-image:url("../blog-gestao-erros.jpg")}
.artigo-card-2{--card-image:url("../blog-estrutural.jpg")}
.artigo-card-3{--card-image:url("../blog-arquitetonico.jpg")}
.artigo-card-4{--card-image:url("../blog-barracao-metalico.jpg")}
.artigo-card-5{--card-image:url("../blog-contrato.jpg")}
.artigo-card-6{--card-image:url("../blog-documentacao.jpg")}
.artigo-card-7{--card-image:url("../blog-seguranca-construcao.jpg")}
.artigo-card-8{--card-image:url("../blog-gestao-prestador.jpg")}
.artigo-card-9{--card-image:url("../blog-trincas-laudo.jpg")}
.artigo-card-10{--card-image:url("../blog-imovel-irregular.jpg")}
.artigo-card-11{--card-image:url("../blog-reurb.jpg")}
.artigo-card-12{--card-image:url("../blog-compatibilizacao-projetos.jpg")}
.artigo-card-13{--card-image:url("../blog-vistoria-compra-imovel.jpg")}
.artigo-card-14{--card-image:url("../blog-trinca-fissura-infiltracao.jpg")}

/* Sobre */
.sobre-card-1::before{
  background-image:linear-gradient(135deg,rgba(16,40,63,.72),rgba(16,40,63,.30)),url("../sobre-lauro-engenharia.jpg") !important;
  background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;
}
.sobre-card-2::before{
  background-image:linear-gradient(135deg,rgba(16,40,63,.72),rgba(143,105,52,.32)),url("../sobre-marlei-gestao.jpg") !important;
  background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;
}

/* Projetos */
.projeto-card-1 .project-visual{background-image:linear-gradient(rgba(16,40,63,.56),rgba(16,40,63,.56)),url("../projeto-estrutural-bim.jpg") !important}
.projeto-card-2 .project-visual{background-image:linear-gradient(rgba(16,40,63,.56),rgba(16,40,63,.56)),url("../projeto-arquitetonico-residencial.jpg") !important}
.projeto-card-3 .project-visual{background-image:linear-gradient(rgba(16,40,63,.56),rgba(16,40,63,.56)),url("../projeto-eletrico-instalacoes.jpg") !important}
.projeto-card-4 .project-visual{background-image:linear-gradient(rgba(16,40,63,.56),rgba(16,40,63,.56)),url("../projeto-hidraulico-instalacoes.jpg") !important}
.projeto-card-5 .project-visual{background-image:linear-gradient(rgba(16,40,63,.56),rgba(16,40,63,.56)),url("../projeto-drenagem-pluvial.jpg") !important}
.projeto-card-6 .project-visual{background-image:linear-gradient(rgba(16,40,63,.56),rgba(16,40,63,.56)),url("../projeto-reformas-ampliacoes.jpg") !important}
.project-visual{min-height:200px !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}

.service-card,.project-row,.knowledge-card,.article-feature,.project-modal-card{
  overflow:hidden;transform-origin:center;
}
.service-card:hover,.project-row:hover,.knowledge-card:hover,.article-feature:hover,.project-modal-card:hover{
  transform:translateY(-6px);box-shadow:0 24px 52px rgba(16,40,63,.18);
}

.nav-cta{
  background:#25D366 !important;color:#fff !important;border-color:#25D366 !important;
  border-radius:8px !important;font-weight:600 !important;
  box-shadow:0 4px 14px rgba(37,211,102,.30) !important;
  transition:all .3s cubic-bezier(.25,.8,.25,1) !important;
}
.nav-cta:hover,.nav-cta:focus-visible{
  background:#1ebe5d !important;transform:translateY(-3px) scale(1.04);
  box-shadow:0 10px 24px rgba(37,211,102,.38) !important;
}

@media(max-width:920px){
  .hero-container{padding:0 28px}
  .hero-section{padding:64px 0 !important}
}
@media(max-width:700px){
  .hero-container{padding:0 20px}
  .hero-section{min-height:340px;padding:52px 0 !important}
  .service-card,.project-row,.knowledge-card,.article-feature{padding-top:190px !important}
  .service-card::before,.project-row::before,.knowledge-card::before,.article-feature::before,
  .service-card::after,.project-row::after,.knowledge-card::after,.article-feature::after{height:164px !important}
}


/* =========================================================
   V18 — Publicação oficial: SEO técnico, UI responsiva e chatbot
   ========================================================= */

:root{
  --lo-navy:#10283f;
  --lo-navy-2:#183b5d;
  --lo-gold:#b5853e;
  --lo-green:#25D366;
  --lo-green-hover:#1ebe5d;
  --lo-paper:#f8f7f3;
}

/* Heros */
.hero-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
  box-sizing:border-box;
}
.hero-section{
  min-height:450px;
  padding:80px 0 !important;
  display:flex;
  align-items:center;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.hero-section h1,.hero-section h2,.hero-section h3,
.hero-section p,.hero-section .lead,.hero-section .eyebrow,
.hero-section .breadcrumb,.hero-section .breadcrumb a{
  color:#fff !important;
}

.page-index .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../banner-obra-principal.jpg") !important;
}
.page-solucoes .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../banner-solucoes-novo.jpg") !important;
}
.page-projetos .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../hero-projetos-engenharia.jpg") !important;
}
.page-gestao-obra .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../hero-gestao-obra.jpg") !important;
}
.page-seguranca-trabalho .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../hero-seguranca-trabalho.jpg") !important;
}
.page-duvidas .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../hero-duvidas-tecnicas.jpg") !important;
}
.page-artigos .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../hero-artigos-engenharia.jpg") !important;
}
.page-sobre .hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../hero-sobre-trajetoria.jpg") !important;
}
.page-contato .hero-section,.contato-hero-section{
  background-image:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),url("../contato-panoramica.jpg") !important;
}

/* Cards: dimensão fixa e sem sobreposição */
.service-card,.project-row,.knowledge-card,.article-feature,.card-navy{
  overflow:hidden;
}
.service-card::before,.project-row::before,.knowledge-card::before,
.article-feature::before,.card-navy::before{
  height:220px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.service-card,.project-row,.knowledge-card,.article-feature{
  padding-top:246px !important;
}

/* Gestão — novos cards */
.gestao-marlei::before{
  background-image:linear-gradient(rgba(16,40,63,.64),rgba(16,40,63,.64)),url("../gestao-marlei.jpg") !important;
}
.gestao-rotina::before{
  background-image:linear-gradient(rgba(16,40,63,.64),rgba(16,40,63,.64)),url("../gestao-rotina.jpg") !important;
}
.gestao-financeira::before{
  background-image:linear-gradient(rgba(16,40,63,.64),rgba(16,40,63,.64)),url("../gestao-financeira.jpg") !important;
}
.gestao-documental::before{
  background-image:linear-gradient(rgba(16,40,63,.64),rgba(16,40,63,.64)),url("../gestao-documental.jpg") !important;
}
.gestao-prestadores::before{
  background-image:linear-gradient(rgba(16,40,63,.64),rgba(16,40,63,.64)),url("../gestao-prestadores.jpg") !important;
}
.gestao-consultoria::before{
  background-image:linear-gradient(rgba(16,40,63,.64),rgba(16,40,63,.64)),url("../gestao-consultoria.jpg") !important;
}

/* Segurança — imagens exclusivas */
.header-seguranca-canteiro::before{
  background-image:linear-gradient(rgba(16,40,63,.60),rgba(16,40,63,.60)),url("../seguranca-canteiro.jpg") !important;
}
.header-seguranca-adequacoes::before{
  background-image:linear-gradient(rgba(16,40,63,.60),rgba(16,40,63,.60)),url("../seguranca-adequacoes.jpg") !important;
}
.header-seguranca-registros::before{
  background-image:linear-gradient(rgba(16,40,63,.60),rgba(16,40,63,.60)),url("../seguranca-registros.jpg") !important;
}
.header-seguranca-consultoria::before{
  background-image:linear-gradient(rgba(16,40,63,.60),rgba(16,40,63,.60)),url("../seguranca-consultoria.jpg") !important;
}

/* CTA global */
.nav-cta{
  min-height:44px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:var(--lo-green) !important;
  color:#fff !important;
  border-color:var(--lo-green) !important;
  border-radius:8px !important;
  font-weight:600 !important;
  box-shadow:0 4px 14px rgba(37,211,102,.30) !important;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease !important;
}
.nav-cta:hover,.nav-cta:focus-visible{
  background:var(--lo-green-hover) !important;
  color:#fff !important;
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 10px 24px rgba(37,211,102,.38) !important;
}
.nav a,.menu-toggle,button,.btn{
  min-height:44px;
}

/* Imagens HTML */
img{
  max-width:100%;
  height:auto;
}
.imagem-destaque-cheia{
  width:100%;
  min-height:320px;
  max-height:560px;
  object-fit:cover;
  object-position:center;
}

/* Nota de escopo */
.scope-note-wrap{
  background:#fff;
  border-bottom:1px solid rgba(16,40,63,.08);
}
.scope-note{
  margin:0;
  padding:18px 0;
  color:#52616d;
  font-size:.94rem;
  line-height:1.65;
}

/* Chatbot LO */
.lo-chat{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9999;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.lo-chat__toggle{
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:var(--lo-navy);
  color:#fff;
  box-shadow:0 16px 40px rgba(16,40,63,.28);
  cursor:pointer;
  font-size:24px;
}
.lo-chat__panel{
  position:absolute;
  right:0;
  bottom:70px;
  width:min(380px,calc(100vw - 32px));
  max-height:min(680px,calc(100vh - 110px));
  background:#fff;
  border:1px solid rgba(16,40,63,.10);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(16,40,63,.25);
  overflow:hidden;
  display:none;
}
.lo-chat.open .lo-chat__panel{display:flex;flex-direction:column}
.lo-chat__head{
  padding:15px 16px;
  background:linear-gradient(135deg,var(--lo-navy),var(--lo-navy-2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.lo-chat__head strong{display:block;font-size:1rem}
.lo-chat__head small{display:block;opacity:.82;margin-top:2px}
.lo-chat__close{
  width:44px;height:44px;border:0;border-radius:10px;
  background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:20px
}
.lo-chat__body{
  padding:14px;
  overflow:auto;
  background:#f7f9fa;
  flex:1;
}
.lo-chat__msg{
  max-width:88%;
  padding:10px 12px;
  border-radius:13px;
  margin:0 0 10px;
  line-height:1.45;
  font-size:.92rem;
  white-space:pre-wrap;
}
.lo-chat__msg--bot{background:#fff;color:#263641;border:1px solid rgba(16,40,63,.08)}
.lo-chat__msg--user{background:var(--lo-navy);color:#fff;margin-left:auto}
.lo-chat__quick{
  display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px
}
.lo-chat__quick button{
  min-height:40px;border:1px solid rgba(16,40,63,.14);border-radius:999px;
  background:#fff;color:var(--lo-navy);padding:7px 10px;cursor:pointer;font-size:.84rem
}
.lo-chat__form{
  padding:12px;
  border-top:1px solid rgba(16,40,63,.08);
  background:#fff;
  display:grid;
  gap:8px;
}
.lo-chat__form input{
  width:100%;
  min-height:44px;
  border:1px solid #cad2d8;
  border-radius:10px;
  padding:10px 12px;
  font:inherit;
}
.lo-chat__composer{
  display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid rgba(16,40,63,.08)
}
.lo-chat__composer input{
  flex:1;min-width:0;min-height:44px;border:1px solid #cad2d8;border-radius:10px;padding:10px 12px;font:inherit
}
.lo-chat__send,.lo-chat__lead-submit,.lo-chat__finish{
  min-height:44px;border:0;border-radius:10px;background:var(--lo-green);color:#fff;
  font-weight:700;padding:0 14px;cursor:pointer
}
.lo-chat__status{font-size:.78rem;color:#62717c;padding:0 12px 10px;background:#fff}
.lo-chat__footer-actions{
  display:flex;gap:8px;padding:0 12px 12px;background:#fff
}
.lo-chat__finish{background:var(--lo-navy)}
.lo-chat__wa{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;padding:0 12px;background:var(--lo-green);color:#fff;text-decoration:none;font-weight:700
}

@media(max-width:920px){
  .hero-container{padding:0 28px}
  .hero-section{padding:64px 0 !important}
}

@media(max-width:700px){
  .hero-container{padding:0 20px}
  .hero-section{min-height:340px;padding:52px 0 !important}
  .service-card,.project-row,.knowledge-card,.article-feature{padding-top:246px !important}
  .service-card::before,.project-row::before,.knowledge-card::before,
  .article-feature::before,.card-navy::before{height:220px !important}
  .nav{max-height:calc(100vh - 76px);overflow:auto}
  .nav a{width:100%;padding:12px 14px}
  .lo-chat{right:12px;bottom:12px}
  .lo-chat__panel{width:calc(100vw - 24px);max-height:calc(100vh - 92px)}
  .lo-chat__toggle{width:56px;height:56px}
}


/* =========================================================
   V19 — Correções cirúrgicas: Projetos, Gestão e Artigos
   ========================================================= */

.breadcrumb-voltar-wrap{
  background:#f8f7f3;
  border-bottom:1px solid rgba(16,40,63,.08);
}
.breadcrumb-voltar-wrap .hero-container{
  padding-top:12px;
  padding-bottom:12px;
}
.breadcrumb-voltar{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:#10283f;
  font-weight:600;
  text-decoration:none;
  transition:transform .2s ease,color .2s ease;
}
.breadcrumb-voltar:hover,
.breadcrumb-voltar:focus-visible{
  color:#b5853e;
  transform:translateX(-3px);
}

/* Projetos principais */
.project-visual.header-projeto-estrutural{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../projeto-estrutural-bim.jpg") !important;
}
.project-visual.header-projeto-eletrico{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../projeto-eletrico.jpg") !important;
}
.project-visual.header-projeto-hidraulico{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../projeto-hidraulico.jpg") !important;
}
.project-visual.header-projeto-arquitetonico{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../projeto-arquitetonico-planta.jpg") !important;
}
.project-visual.header-projeto-estrutural,
.project-visual.header-projeto-eletrico,
.project-visual.header-projeto-hidraulico,
.project-visual.header-projeto-arquitetonico{
  height:220px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* Estruturas metálicas / barracões */
.header-projeto-barracoes::before{
  height:220px !important;
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../card-barracoes.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* Gestão */
.header-gestao-marlei::before,
.header-gestao-rotina::before{
  height:220px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.header-gestao-marlei::before{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../gestao-marlei.jpg") !important;
}
.header-gestao-rotina::before{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../gestao-rotina.jpg") !important;
}

/* Artigos */
.header-blog-barracoes::before,
.header-blog-gestao-erros::before,
.header-blog-caderno-gestao::before{
  height:220px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.header-blog-barracoes::before{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../blog-barracoes.jpg") !important;
}
.header-blog-gestao-erros::before{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../blog-gestao-erros.jpg") !important;
}
.header-blog-caderno-gestao::before{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("../blog-caderno-gestao.jpg") !important;
}

/* Proteção de badges/textos */
.project-visual > *,
.header-projeto-barracoes > *,
.header-gestao-marlei > *,
.header-gestao-rotina > *,
.header-blog-barracoes > *,
.header-blog-gestao-erros > *,
.header-blog-caderno-gestao > *{
  position:relative;
  z-index:1;
}


/* =========================================================
   V20 — Top Bar Marquee contínuo e responsivo
   ========================================================= */

.top-bar-marquee{
  width:100%;
  background:#000 !important;
  color:#fff !important;
  overflow:hidden !important;
  border:0;
}

.top-bar-marquee__viewport{
  width:100%;
  overflow:hidden;
  white-space:nowrap;
  position:relative;
}

.top-bar-marquee__track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:loTopBarMarquee 18s linear infinite;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}

.top-bar-marquee__item{
  flex:0 0 auto;
  display:inline-block;
  white-space:nowrap;
  color:#fff;
  line-height:1;
  padding:10px 0;
  padding-right:2.5rem;
  font-size:inherit;
  font-weight:inherit;
}

@keyframes loTopBarMarquee{
  from{
    transform:translate3d(0,0,0);
  }
  to{
    transform:translate3d(-50%,0,0);
  }
}

/* Evita barras horizontais causadas por qualquer elemento animado */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

/* Mantém o efeito fluido no mobile */
@media(max-width:700px){
  .top-bar-marquee__track{
    animation-duration:20s;
  }

  .top-bar-marquee__item{
    padding-top:9px;
    padding-bottom:9px;
    padding-right:2rem;
  }
}

/* Respeita acessibilidade para quem reduz animações */
@media(prefers-reduced-motion:reduce){
  .top-bar-marquee__track{
    animation:none;
    transform:none;
  }

  .top-bar-marquee__viewport{
    overflow:auto;
    scrollbar-width:none;
  }

  .top-bar-marquee__viewport::-webkit-scrollbar{
    display:none;
  }

  .top-bar-marquee__item:nth-child(2){
    display:none;
  }
}


/* =========================================================
   V21 — Barra premium de redes sociais no rodapé
   ========================================================= */

.footer-social-container{
  margin-top:28px;
  padding:26px 20px 30px;
  background:#f8f9fa;
  border-top:1px solid rgba(16,40,63,.08);
  text-align:center;
}

.footer-social-container h4{
  margin:0 0 18px;
  color:#10283f;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
}

.footer-social-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
}

.footer-social-btn{
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid rgba(16,40,63,.15);
  background:#fff;
  color:#46535d;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(16,40,63,.06);
  transition:
    transform .3s cubic-bezier(.2,.8,.2,1.2),
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    box-shadow .3s ease;
  will-change:transform;
}

.footer-social-btn i{
  font-size:1.25rem;
  line-height:1;
}

.footer-social-btn:hover,
.footer-social-btn:focus-visible{
  transform:translateY(-5px);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 24px rgba(16,40,63,.16);
  outline:none;
}

.footer-social-btn:focus-visible{
  box-shadow:
    0 0 0 3px rgba(181,133,62,.24),
    0 12px 24px rgba(16,40,63,.16);
}

/* Cores oficiais/aproximadas das plataformas */
.footer-social-btn.social-whatsapp:hover,
.footer-social-btn.social-whatsapp:focus-visible{
  background:#25D366;
}

.footer-social-btn.social-instagram:hover,
.footer-social-btn.social-instagram:focus-visible{
  background:#E1306C;
}

.footer-social-btn.social-facebook:hover,
.footer-social-btn.social-facebook:focus-visible{
  background:#1877F2;
}

.footer-social-btn.social-youtube:hover,
.footer-social-btn.social-youtube:focus-visible{
  background:#FF0000;
}

.footer-social-btn.social-linkedin:hover,
.footer-social-btn.social-linkedin:focus-visible{
  background:#0A66C2;
}

.footer-social-btn.social-tiktok:hover,
.footer-social-btn.social-tiktok:focus-visible{
  background:#000000;
}

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media(max-width:700px){
  .footer-social-container{
    margin-top:22px;
    padding:22px 14px 26px;
  }

  .footer-social-container h4{
    font-size:.95rem;
    margin-bottom:15px;
  }

  .footer-social-links{
    gap:10px;
  }

  .footer-social-btn{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
  }

  .footer-social-btn i{
    font-size:1.1rem;
  }
}

@media(max-width:380px){
  .footer-social-links{
    gap:8px;
  }

  .footer-social-btn{
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-social-btn{
    transition:background-color .15s ease,color .15s ease,border-color .15s ease;
  }
  .footer-social-btn:hover,
  .footer-social-btn:focus-visible{
    transform:none;
  }
}


/* =========================================================
   V22 — CONSOLIDAÇÃO FINAL PARA PUBLICAÇÃO
   ========================================================= */

/* 1) TOP BAR — LETREIRO CONTÍNUO */
.top-bar-marquee{
  width:100%;
  overflow:hidden !important;
  background:#000 !important;
  color:#fff !important;
}
.top-bar-marquee__viewport{
  width:100%;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.top-bar-marquee__track{
  display:flex !important;
  align-items:center;
  width:max-content;
  white-space:nowrap !important;
  animation:letreiro-infinito 24s linear infinite !important;
  will-change:transform;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}
.top-bar-marquee__item{
  flex:0 0 auto;
  display:inline-block;
  white-space:nowrap !important;
  padding:10px 0;
  color:#fff !important;
}
@keyframes letreiro-infinito{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* 2) HERO HOME — RESIDÊNCIA PANORÂMICA */
.page-index .hero-section{
  background-image:
    linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),
    url("../hero-residencia-panoramica.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.hero-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
  box-sizing:border-box;
}
.hero-section h1,
.hero-section h2,
.hero-section h3,
.hero-section p,
.hero-section .lead,
.hero-section .eyebrow{
  color:#fff !important;
}

/* 3) TRAJETÓRIA / SOBRE — ZERA VAZAMENTO E PROTEGE TEXTO */
.trajetoria-section{
  position:relative;
  overflow:hidden !important;
}
.trajetoria-section::after{
  content:none !important;
  display:none !important;
}
.trajetoria-card{
  position:relative;
  overflow:hidden !important;
  padding:244px 24px 24px !important;
  min-height:390px;
  background:#10283f !important;
  isolation:isolate;
}
.trajetoria-card::after{
  content:none !important;
  display:none !important;
}
.trajetoria-card::before{
  height:220px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  z-index:0 !important;
}
.trajetoria-card > .tag{
  position:absolute !important;
  top:24px !important;
  left:24px !important;
  z-index:2 !important;
  margin:0 !important;
  color:#fff !important;
  background:rgba(16,40,63,.74) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:999px;
  padding:8px 11px;
}
.trajetoria-card h3,
.trajetoria-card p{
  position:relative;
  z-index:2;
}
.trajetoria-card h3{
  color:#fff !important;
}
.trajetoria-card p{
  color:rgba(255,255,255,.82) !important;
  line-height:1.65;
}
.trajetoria-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 38px rgba(0,0,0,.20);
}

/* 4) GESTÃO — 6 IMAGENS 100% EXCLUSIVAS */
.header-contratos::before,
.header-planilhas::before,
.header-financeiro::before,
.header-documental::before,
.header-prestadores::before,
.header-consultoria::before{
  height:200px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.header-contratos::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../gestao-contratos.jpg") !important;
}
.header-planilhas::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../gestao-planilhas.jpg") !important;
}
.header-financeiro::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../gestao-financeira.jpg") !important;
}
.header-documental::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../gestao-documental.jpg") !important;
}
.header-prestadores::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../gestao-prestadores.jpg") !important;
}
.header-consultoria::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../gestao-consultoria.jpg") !important;
}
.header-contratos,
.header-planilhas,
.header-financeiro,
.header-documental,
.header-prestadores,
.header-consultoria{
  padding-top:226px !important;
  overflow:hidden !important;
  position:relative;
}
.header-contratos > .tag,
.header-planilhas > .tag,
.header-financeiro > .tag,
.header-documental > .tag,
.header-prestadores > .tag,
.header-consultoria > .tag{
  position:absolute !important;
  top:24px !important;
  left:22px !important;
  z-index:3 !important;
  margin:0 !important;
}
.card-prestadores-fix h3,
.card-prestadores-fix p,
.card-prestadores-fix .arrow{
  position:relative !important;
  z-index:2 !important;
  margin-top:0;
}
.card-prestadores-fix{
  padding-left:24px !important;
  padding-right:24px !important;
  padding-bottom:24px !important;
}

/* 5) CTA */
.nav-cta{
  min-height:44px;
  background:#25D366 !important;
  color:#fff !important;
  border-color:#25D366 !important;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease !important;
}
.nav-cta:hover,
.nav-cta:focus-visible{
  background:#1ebe5d !important;
  transform:translateY(-3px) scale(1.04) !important;
}

/* 6) PROTEÇÃO DE LAYOUT */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
img{
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.service-card,
.project-row,
.knowledge-card,
.article-feature,
.person-card,
.card-navy{
  max-width:100%;
  box-sizing:border-box;
}

/* Mobile */
@media(max-width:700px){
  .hero-container{padding:0 20px !important}
  .top-bar-marquee__track{animation-duration:25s !important}
  .trajetoria-card{
    padding:244px 20px 22px !important;
    min-height:0;
  }
  .header-contratos,
  .header-planilhas,
  .header-financeiro,
  .header-documental,
  .header-prestadores,
  .header-consultoria{
    padding-top:226px !important;
  }
}

/* Acessibilidade */
@media(prefers-reduced-motion:reduce){
  .top-bar-marquee__track{
    animation:none !important;
    transform:none !important;
  }
}


/* =========================================================
   V23 — AJUSTE FINAL TOP BAR + HERO HOME
   ========================================================= */

/* TOP BAR: loop contínuo real */
.top-bar-marquee{
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  background:#000 !important;
  color:#fff !important;
}

.top-bar-marquee__viewport{
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}

.top-bar-marquee__track{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  width:max-content !important;
  min-width:max-content !important;
  white-space:nowrap !important;
  will-change:transform;
  backface-visibility:hidden;
  transform:translate3d(0,0,0);
  animation:letreiro-infinito 23s linear infinite !important;
}

.top-bar-marquee__item{
  display:block !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  color:#fff !important;
  padding:10px 2.25rem 10px 0 !important;
  line-height:1.15 !important;
}

/* Com duas cópias idênticas, -50% desloca exatamente uma frase completa
   e mantém o encaixe visual sem buracos. */
@keyframes letreiro-infinito{
  0%{
    transform:translate3d(0,0,0);
  }
  100%{
    transform:translate3d(-50%,0,0);
  }
}

/* HOME: residência moderna panorâmica */
body.page-index .hero-section,
.page-index .hero-section{
  background-image:
    linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.60)),
    url("../hero-residencia-panoramica.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.page-index .hero-section h1,
.page-index .hero-section p,
.page-index .hero-section .lead,
.page-index .hero-section .eyebrow{
  color:#ffffff !important;
}

@media(max-width:700px){
  .top-bar-marquee__track{
    animation-duration:25s !important;
  }
}

/* Mantém o layout sem scroll horizontal causado pelo marquee */
html,body{
  max-width:100% !important;
  overflow-x:hidden !important;
}

/* =========================================================
   V24 — Ajustes finos: topo, chatbot, scroll-top e imagens únicas
   ========================================================= */

/* Top bar mais legível e com loop contínuo limpo */
.top-bar-marquee{
  font-size:.68rem !important;
  line-height:1 !important;
}
.top-bar-marquee__viewport{
  overflow:hidden !important;
  white-space:nowrap !important;
}
.top-bar-marquee__track{
  gap:0 !important;
  animation:letreiro-infinito 22s linear infinite !important;
}
.top-bar-marquee__item{
  padding:9px 1.8rem 9px 0 !important;
  line-height:1.1 !important;
  color:#ffffff !important;
}

/* WhatsApp fixo preservado */
.whatsapp{
  right:18px !important;
  bottom:18px !important;
  z-index:1200 !important;
}

/* Chatbot sobe acima do botão WhatsApp para não sobrepor */
.lo-chat{
  right:18px !important;
  bottom:92px !important;
  z-index:1190 !important;
}
.lo-chat__panel{
  right:0 !important;
  bottom:78px !important;
}
.lo-chat__toggle{
  box-shadow:0 14px 34px rgba(16,40,63,.22) !important;
}

/* Botão voltar ao topo */
.scroll-top{
  position:fixed;
  right:18px;
  bottom:166px;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#10283f;
  color:#ffffff;
  box-shadow:0 12px 28px rgba(16,40,63,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background-color .25s ease;
  z-index:1180;
}
.scroll-top:hover,
.scroll-top:focus-visible{
  background:#173b5d;
  transform:translateY(-4px);
  outline:none;
}
.scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.scroll-top__icon{
  font-size:1.25rem;
  line-height:1;
  font-weight:800;
}

/* Soluções / Segurança — imagens exclusivas */
.sol-service-13{--card-image:url("../seguranca-inspecao-condicoes.jpg") !important;}
.sol-service-14{--card-image:url("../seguranca-gro-pgr-riscos.jpg") !important;}
.sol-service-15{--card-image:url("../seguranca-canteiro.jpg") !important;}

/* Dúvidas — elimina repetições visuais */
.duvida-card-9{--card-image:url("../blog-contrato.jpg") !important;}
.duvida-card-10{--card-image:url("../gestao-financeira.jpg") !important;}
.duvida-card-12{--card-image:url("../duvida-nfse-iss.jpg") !important;}

@media(max-width:700px){
  .top-bar-marquee{
    font-size:.62rem !important;
  }
  .top-bar-marquee__track{
    animation-duration:24s !important;
  }
  .top-bar-marquee__item{
    padding:8px 1.3rem 8px 0 !important;
  }
  .whatsapp{
    right:12px !important;
    bottom:12px !important;
    padding:11px 14px !important;
    font-size:.69rem !important;
  }
  .lo-chat{
    right:12px !important;
    bottom:82px !important;
  }
  .lo-chat__panel{
    bottom:72px !important;
    width:calc(100vw - 24px) !important;
    max-height:calc(100vh - 110px) !important;
  }
  .scroll-top{
    right:12px;
    bottom:148px;
    width:44px;
    height:44px;
  }
}

@media(prefers-reduced-motion:reduce){
  .scroll-top,
  .scroll-top:hover,
  .scroll-top:focus-visible{
    transition:none !important;
    transform:none !important;
  }
}


/* =========================================================
   V24 — Correções sinalizadas pelo usuário
   ========================================================= */

/* 1. Assistente Virtual acima do botão WhatsApp */
.lo-chat{
  right:20px !important;
  bottom:96px !important;
  z-index:10010 !important;
}
@media(max-width:700px){
  .lo-chat{
    right:12px !important;
    bottom:92px !important;
  }
}

/* 2. Top Bar: movimento contínuo e legível */
.top-bar-marquee{
  overflow:hidden !important;
  white-space:nowrap !important;
}
.top-bar-marquee__viewport{
  overflow:hidden !important;
  white-space:nowrap !important;
}
.top-bar-marquee__track{
  display:flex !important;
  width:max-content !important;
  animation:letreiro-infinito 24s linear infinite !important;
  will-change:transform;
}
.top-bar-marquee__item{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  padding-right:2.5rem !important;
}
@keyframes letreiro-infinito{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* 3. Botão Voltar ao Topo */
.back-to-top{
  position:fixed;
  left:20px;
  bottom:20px;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:#10283f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 28px rgba(16,40,63,.24);
  cursor:pointer;
  z-index:9998;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease,background .2s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible{
  background:#b5853e;
  transform:translateY(-3px);
  outline:none;
}
.back-to-top i{pointer-events:none}

@media(max-width:700px){
  .back-to-top{
    left:12px;
    bottom:12px;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
  }
}

/* 4. Soluções / Segurança — imagens únicas */
.seguranca-gro-pgr-exclusiva::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../seguranca-gro-pgr-exclusiva.jpg") !important;
}
.seguranca-canteiro-exclusiva::before{
  background-image:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("../seguranca-canteiro-exclusiva.jpg") !important;
}
.seguranca-gro-pgr-exclusiva::before,
.seguranca-canteiro-exclusiva::before{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  height:220px !important;
}

/* 5. Dúvidas — imagens repetidas corrigidas */
.duvida-financeiro-exclusiva::before{
  background-image:
    linear-gradient(rgba(0,0,0,.40),rgba(0,0,0,.40)),
    url("../duvida-controle-financeiro-exclusiva.jpg") !important;
}
.duvida-contrato-exclusiva::before{
  background-image:
    linear-gradient(rgba(0,0,0,.40),rgba(0,0,0,.40)),
    url("../duvida-contrato-obra-exclusiva.jpg") !important;
}
.duvida-financeiro-exclusiva::before,
.duvida-contrato-exclusiva::before{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  height:220px !important;
}

/* 6. Sobre — bloco final de história e referências */
.sobre-referencias{
  padding:64px 0;
  background:#f8f7f3;
}
.sobre-referencias__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:36px;
  align-items:center;
}
.sobre-referencias__image{
  width:100%;
  min-height:360px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 46px rgba(16,40,63,.14);
}
.sobre-referencias__image img{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
  object-position:center;
}
.sobre-referencias__content h2{
  margin:0 0 14px;
  color:#10283f;
}
.sobre-referencias__content p{
  color:#52616d;
  line-height:1.7;
  margin:0 0 22px;
}
.sobre-referencias__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.sobre-referencias__links a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:10px;
  border:1px solid #10283f;
  color:#10283f;
  background:#fff;
  font-weight:700;
  text-decoration:none;
  transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
}
.sobre-referencias__links a:hover,
.sobre-referencias__links a:focus-visible{
  transform:translateY(-3px);
  background:#10283f;
  color:#fff;
  outline:none;
}
.sobre-referencias__links a:last-child{
  border-color:#b5853e;
  color:#7a5a2c;
}
.sobre-referencias__links a:last-child:hover,
.sobre-referencias__links a:last-child:focus-visible{
  background:#b5853e;
  color:#fff;
}
@media(max-width:820px){
  .sobre-referencias__grid{
    grid-template-columns:1fr;
  }
  .sobre-referencias__image,
  .sobre-referencias__image img{
    min-height:280px;
  }
}


/* =========================================================
   V25 FINAL — Trajetória interativa + Top Bar estática legível
   ========================================================= */

/* TOP BAR: três informações principais, sem marquee */
.top-bar-static{
  width:100% !important;
  background:#000 !important;
  color:#fff !important;
  overflow:hidden !important;
}

.top-bar-static__inner{
  width:min(100% - 32px, 1200px);
  min-height:36px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:32px;
  padding:7px 0;
  box-sizing:border-box;
  font-size:.78rem;
  line-height:1.35;
  color:#fff;
}

.top-bar-static__left,
.top-bar-static__center,
.top-bar-static__right{
  display:block;
  color:#fff;
  white-space:nowrap;
}

.top-bar-static__left{
  text-align:left;
}

.top-bar-static__center{
  text-align:center;
  font-weight:700;
  padding:0 16px;
  border-left:1px solid rgba(255,255,255,.22);
  border-right:1px solid rgba(255,255,255,.22);
}

.top-bar-static__right{
  text-align:right;
}

/* neutraliza completamente animações antigas da barra */
.top-bar-static .top-bar-marquee__track,
.top-bar-static .top-bar-marquee__item{
  animation:none !important;
  transform:none !important;
}

/* TRAJETÓRIA: cards com imagem própria e clique explicativo */
.trajetoria-section .cards3{
  align-items:stretch;
}

.trajetoria-card-trigger{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:16px;
  background:#10283f !important;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
  overflow:hidden !important;
  display:flex;
  flex-direction:column;
  min-height:470px;
  position:relative;
  box-shadow:0 10px 26px rgba(0,0,0,.10);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.trajetoria-card-trigger::before,
.trajetoria-card-trigger::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

.trajetoria-card-trigger:hover,
.trajetoria-card-trigger:focus-visible{
  transform:translateY(-6px);
  box-shadow:0 22px 42px rgba(0,0,0,.20);
  border-color:rgba(181,133,62,.60) !important;
  outline:none;
}

.trajetoria-card-trigger:focus-visible{
  box-shadow:
    0 0 0 3px rgba(181,133,62,.28),
    0 22px 42px rgba(0,0,0,.20);
}

.trajetoria-card__visual{
  position:relative;
  width:100%;
  height:220px;
  flex:0 0 220px;
  display:block;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.trajetoria-card__visual .tag{
  position:absolute !important;
  top:22px !important;
  left:22px !important;
  z-index:2;
  margin:0 !important;
  color:#fff !important;
  background:rgba(16,40,63,.82) !important;
  border:1px solid rgba(255,255,255,.30);
}

.trajetoria-card__content{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px;
  color:#fff;
}

.trajetoria-card__title{
  display:block;
  margin:0 0 10px;
  color:#fff;
  font-size:1.08rem;
  line-height:1.3;
  font-weight:800;
}

.trajetoria-card__text{
  display:block;
  color:rgba(255,255,255,.78);
  line-height:1.65;
  font-size:.94rem;
}

.trajetoria-card__more{
  display:block;
  margin-top:auto;
  padding-top:18px;
  color:#e1b86e;
  font-size:.86rem;
  font-weight:700;
}

/* Diálogos explicativos */
.trajetoria-dialog{
  width:min(720px,calc(100vw - 32px));
  max-height:calc(100vh - 40px);
  padding:0;
  border:0;
  border-radius:18px;
  background:#fff;
  color:#263641;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
}

.trajetoria-dialog::backdrop{
  background:rgba(7,20,32,.72);
  backdrop-filter:blur(3px);
}

.trajetoria-dialog__content{
  position:relative;
  padding:28px;
}

.trajetoria-dialog__close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#10283f;
  color:#fff;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}

.trajetoria-dialog .tag{
  margin:0 0 12px;
}

.trajetoria-dialog h2{
  margin:0 52px 18px 0;
  color:#10283f;
}

.trajetoria-dialog img{
  width:100%;
  height:260px;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:13px;
  margin:0 0 20px;
}

.trajetoria-dialog p{
  margin:0 0 14px;
  color:#52616d;
  line-height:1.72;
}

.trajetoria-dialog__cta{
  margin-top:8px;
}

/* Responsividade da Top Bar */
@media(max-width:1050px){
  .top-bar-static__inner{
    grid-template-columns:1fr 1fr;
    gap:6px 22px;
    padding:8px 0;
  }

  .top-bar-static__center{
    grid-column:1 / -1;
    grid-row:1;
    border:0;
    padding:0 0 4px;
  }

  .top-bar-static__left{
    grid-column:1;
    grid-row:2;
  }

  .top-bar-static__right{
    grid-column:2;
    grid-row:2;
  }
}

@media(max-width:700px){
  .top-bar-static__inner{
    width:100%;
    grid-template-columns:1fr;
    gap:4px;
    padding:8px 16px;
    font-size:.72rem;
  }

  .top-bar-static__left,
  .top-bar-static__center,
  .top-bar-static__right{
    grid-column:1;
    text-align:center;
    white-space:normal;
  }

  .top-bar-static__center{
    grid-row:auto;
    padding:4px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .trajetoria-card-trigger{
    min-height:0;
  }

  .trajetoria-card__visual{
    height:200px;
    flex-basis:200px;
  }

  .trajetoria-card__content{
    padding:22px 20px;
  }

  .trajetoria-dialog__content{
    padding:24px 20px;
  }

  .trajetoria-dialog img{
    height:210px;
  }
}


/* =========================================================
   V28 — Chat interativo: área de conversa sempre clara
   ========================================================= */
.lo-chat__composer:not([hidden]){
  display:flex !important;
  gap:8px;
  padding:12px;
  background:#fff;
  border-top:1px solid rgba(16,40,63,.10);
  flex:0 0 auto;
}

.lo-chat__composer[hidden],
.lo-chat__footer-actions[hidden],
.lo-chat__form[hidden]{
  display:none !important;
}

.lo-chat__composer input{
  min-width:0;
  border:1.5px solid #aebbc5 !important;
  background:#fff;
}

.lo-chat__composer input:focus{
  border-color:#183b5d !important;
  box-shadow:0 0 0 3px rgba(24,59,93,.10);
  outline:none;
}

.lo-chat__send{
  white-space:nowrap;
}

.lo-chat__status:empty{
  display:none;
}

.lo-chat__status:not(:empty){
  padding:8px 12px 10px;
  border-top:1px solid rgba(16,40,63,.06);
}
