/* ============================================================
   AVELLAR ENGENHARIA — VERSÃO 1 "INDUSTRIAL BOLD"
   ============================================================ */

:root{
  --charcoal-900:#161616;
  --charcoal-800:#1F1F1F;
  --charcoal-700:#2E2E2E;
  --charcoal-600:#474747;
  --paper:#F6F2EA;
  --cream:#FBF8F3;
  --orange-500:#E9510E;
  --text-muted:#B3B3B3;
  --font:'Exo', sans-serif;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:var(--font);
  background:var(--paper);
  color:var(--charcoal-900);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:var(--font);
  font-weight:800;
  letter-spacing:-0.02em;
  margin:0;
}

p{margin:0;}

a{text-decoration:none;color:inherit;}

.text-accent{color:var(--orange-500);}

.eyebrow{
  font-size:40px;
  line-height: 42px;
  font-weight:800;
  letter-spacing:.5px;
  color: var(--font);
  margin-bottom: 0;
}
.eyebrow::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  background:var(--orange-500);
  margin:18px auto;
  border-radius:2px;
}
.eyebrow-dark{color:var(--orange-500);}
.hero-inner .eyebrow {
color: var(--text-muted);
  font-size: 20px;
  line-height: 20px;
  font-weight: 400;
}

/* ===== reveal-on-scroll ===== */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
}
.reveal.in-view{opacity:1; transform:translateY(0);}

/* ============ NAVBAR ============ */
#mainNav{
  padding:1.1rem 0;
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  background:#fff;
  box-shadow:0 2px 12px rgba(23,20,15,.06);
}
#mainNav.scrolled{
  background:#fff;
  padding:.7rem 0;
  box-shadow:0 20px 40px rgba(0,0,0,.15);
}
.brand-logo{height:50px; transition:height .35s ease;}
#mainNav.scrolled .brand-logo{height:42px;}
.navbar-collapse{
  align-items:center;
  gap:1.4rem;
}
@media(min-width:992px){
  .navbar-collapse{display:flex;}
}
.nav-cta{flex:0 0 auto;}
.navbar-nav .nav-link{
  color:var(--charcoal-900);
  font-weight: 700;
  font-size:18px;
  line-height: 20px;
  margin:0 .6rem;
  position:relative;
  padding:.4rem 0 !important;
}
.navbar-nav .nav-link::after{
  content:"";
  position:absolute;
  left:0; bottom:-2px;
  width:0; height:2px;
  background:var(--orange-500);
  transition:width .3s ease;
}
.navbar-nav .nav-link:hover::after{width:100%;}

.toggler-bar{
  display:block;
  width:24px; height:2px;
  background:var(--charcoal-900);
  margin:5px 0;
  transition:.3s;
}
.navbar-toggler{border:none; padding:.25rem;}
.navbar-toggler:focus{box-shadow:none;}

.btn-cta{
  background:var(--orange-500);
  color:#fff !important;
  font-weight:700;
  font-size: 16px;
  line-height: 16px;
  letter-spacing:.02em;
  padding: 13px 30px 12px 30px;
  border-radius:50px;
  border:1px solid var(--orange-500);
  transition:all .3s ease;
  display:inline-block;
}
.btn-cta:hover{
  background:var(--orange-500);
  border-color:var(--orange-500);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(233,81,14,.35);
}
.btn-outline-cta{
  background:transparent;
  color:var(--cream) !important;
  font-size: 16px;
  line-height: 16px;
  letter-spacing:.02em;
  padding: 13px 30px 12px 30px;
  border-radius:50px;
  border:1px solid rgba(251,248,243,.4);
  transition:all .3s ease;
  display:inline-block;
}
.btn-outline-cta:hover{
  border-color:var(--cream);
  background:rgba(251,248,243,.08);
}
.btn-outline-dark{
  background:transparent;
  color:var(--charcoal-900) !important;
  font-weight:700;
  font-size:.88rem;
  letter-spacing:.02em;
  padding:.65rem 1.5rem;
  border-radius:50px;
  border:1px solid rgba(23,20,15,.3);
  transition:all .3s ease;
  display:inline-block;
}
.btn-outline-dark:hover{
  border-color:var(--orange-500);
  color:var(--orange-500) !important;
  background:rgba(233,81,14,.06);
}

/* ============ HERO ============ */
/* wraps hero + ticker so together they always fill exactly one screen,
   no matter the ticker's rendered height — no scrolling needed to see it */
.hero-screen{
  height:100vh;
  display:flex;
  flex-direction:column;
}
.hero{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  background:var(--charcoal-900);
  display:flex;
  align-items:center;
  overflow:hidden;
  padding-top:100px;
  padding-bottom:64px;
}

/* real-photo/video layer, dimmed to 15% opacity */
.hero-photo{
  position:absolute;
  inset:0;
  overflow:hidden;
  background-image:url('../img/hero-bg.png');
  background-size:cover;
  background-position:center;
  opacity:.15;
}
.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* straight diagonal split: bottom-left -> top-right, black holds the button area */
.hero-bg-shape{
  position:absolute;
  inset:0;
  background:var(--charcoal-900);
  clip-path:polygon(55% 100%, 100% 100%, 100% 0%);
}
.hero-bg-shape::before{
  content:"";
  position:absolute; inset:0;
  background:var(--orange-500);
  opacity:.96;
}
.hero-bg-shape::after{
  content:"";
  position:absolute; inset:0;
  background:repeating-linear-gradient(115deg, rgba(0,0,0,.04) 0 1px, transparent 1px 12px);
}
.hero-inner{position:relative; z-index:2;}
.hero-title{
  font-size: 56px;
  line-height: 56px;
  color:var(--cream);
  font-weight: 800;
  letter-spacing: 0.5px;
}
.hero-title strong {
  color:var(--orange-500);
  font-weight: 800;
}
.hero-lead{
  display:block;
  max-width:520px;
  margin:1.6rem auto 0;
  color:var(--text-muted);
  font-size: 20px;
  line-height:20px;
}
.hero-actions{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:2.4rem;
}

/* ============ MARQUEE ============ */
.ticker-wrap{
  position:relative;
  z-index:3;
  flex:0 0 auto;
  background:var(--orange-500);
  color:var(--charcoal-900);
  overflow:hidden;
  white-space:nowrap;
  padding:.85rem 0;
  box-shadow:0 -8px 30px rgba(0,0,0,.25);
}
.ticker-track{
  display:inline-flex;
  align-items:center;
  animation:ticker 26s linear infinite;
}
.ticker-item{
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.02em;
  white-space:nowrap;
}
.ticker-sep{
  display:inline-block;
  width:28px;
  height:2px;
  background:var(--charcoal-900);
  opacity:.55;
  margin:0 1.1rem;
  flex:0 0 auto;
}
@keyframes ticker{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ============ HELMET OVERLAP ============ */
.helmet-overlap{
  position:relative;
  z-index:4;
  display:flex;
  justify-content:center;
  margin-top:-104px;
  margin-bottom:-70px;
  pointer-events:none;
}
.helmet-img{
  width:190px;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));
}

/* ============ SECTION TITLES (shared) ============ */
.eyebrow-dark {
color: var(--font);
}
.section-servicos .eyebrow,
.section-contato .eyebrow {
color: #fff;
}
.section-title{
font-size: 18px;
  line-height: 26px;
  margin-bottom: 46px;
  font-weight: 400;
}
.section-title strong{color:var(--orange-500); font-weight:700;}
.section-subtitle{
  font-size: 32px;
  line-height: 32px;
  font-weight:700;
  color:var(--font);
  margin-bottom:1.2rem;
}
.section-subtitle strong{color:var(--orange-500); font-weight:700;}
.section-subtitle-light{color:var(--text-muted);}
.section-text{
  color:var(--font);
  font-size: 18px;
  line-height: 26px;
  /* max-width:680px; */
  margin:0 auto;
}
.section-text-light{color:var(--text-muted);}
.text-white{color:var(--cream);}

/* ============ QUEM SOMOS ============ */
.section-sobre{
  background:var(--cream);
  padding:90px 0 100px;
}
.pillar-item{
  text-align:center;
  padding:0 .5rem;
}
.pillars-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--orange-500);
  font-size:32px;
  margin-bottom:1rem;
}
.pillar-item strong{
  display:block;
  font-size: 20px;
  line-height: 20px;
  margin-bottom:20px;
}
.pillar-item p{
  color:var(--charcoal-600);
  font-size:16px;
  line-height: 22px;
}

/* ============ SERVIÇOS ============ */
.section-servicos{
  background:var(--charcoal-900);
  padding:100px 0;
  position:relative;
  overflow:hidden;
}
.section-servicos::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpath d='M-1,1 L1,-1 M0,6 L6,0 M5,7 L7,5' stroke='%23FFFFFF' stroke-opacity='.05' stroke-width='.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:repeat;
  pointer-events:none;
}
.section-servicos .container{
  position:relative;
  z-index:1;
}
.service-card{
  background:#fff;
  border:1px solid rgba(23,20,15,.08);
  border-radius:4px;
  padding:2.2rem 1.7rem 1.9rem;
  height:100%;
  position:relative;
  overflow:hidden;
  text-align:center;
  transition:transform .35s ease, border-color .35s ease, background .35s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:var(--orange-500);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.service-card:hover{
  border-color:rgba(233,81,14,.4);
}
.service-card:hover::before{transform:scaleX(1);}
.service-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px; height:58px;
  background:#fff;
  border-radius:3px;
  margin-bottom:1.3rem;
}
.service-chip img{width:32px; height:32px; object-fit:contain;}
.service-card h3{
  color:var(--charcoal-900);
  font-size: 20px;
  line-height: 20px;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}
.service-card p{
  color:var(--charcoal-600);
  font-size: 16px;
  line-height: 22px;
}

/* ============ PROJETOS ============ */
.section-projetos{
  background:var(--paper);
  padding:100px 0;
}
.project-card{
  background:var(--cream);
  border:1px solid rgba(23,20,15,.08);
  border-radius:6px;
  overflow:hidden;
  height:100%;
  cursor:pointer;
  transition:transform .35s ease, box-shadow .35s ease;
}
.project-card:focus-visible{outline:2px solid var(--orange-500); outline-offset:3px;}
.project-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(23,20,15,.12);
}
.project-media{
  position:relative;
  height:210px;
  overflow:hidden;
}
.project-media img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.project-card:hover .project-media img{transform:scale(1.06);}
.project-badge{
  position:absolute;
  top:14px; left:14px;
  background:var(--orange-500);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding: 4px 20px 3px 20px;
  border-radius: 16px;
}
#projectModalBody .project-badge {
padding: 12px 20px 10px 20px;
}
.project-body{padding:1.5rem 1.5rem 1.7rem;}
.project-body h4{font-size:1.08rem; margin-bottom:.8rem; line-height:1.3;}
.project-ficha{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(23,20,15,.1);
  color:var(--charcoal-600);
  font-size:.85rem;
  line-height:1.9;
}
.project-ficha strong{color:var(--orange-500); font-weight:700;}
.project-body p{
  color:var(--charcoal-600);
  font-size:.88rem;
  line-height:1.6;
}

/* ============ MODAL DE PROJETO ============ */
.project-modal .modal-content{
  background:var(--charcoal-900);
  color:var(--cream);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.project-modal-close{
  position:absolute;
  top:16px; right:16px;
  z-index:4;
  width:36px; height:36px;
  border-radius:50%;
  background-color:var(--cream);
  background-size:.85em;
  opacity:1;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  transition:background-color .2s ease, transform .2s ease;
}
.project-modal-close:hover{background-color:var(--orange-500); transform:rotate(90deg);}
.modal-body{padding:0;}
.project-modal-media{position:relative; line-height:0;}
.project-modal-media img{width:100%; max-height:360px; object-fit:cover; display:block;}
.project-modal-media .project-badge{top:20px; left:20px;}
.project-modal-content{padding:2rem 2.2rem 2.4rem;}
.project-modal-content h3{
  color:var(--cream);
  font-size:1.6rem;
  margin-bottom:1.2rem;
}
.project-modal-desc p{
  color:var(--text-muted);
  font-size:.95rem;
  line-height:1.75;
  margin-bottom:1rem;
}
.project-modal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:1.4rem;
  margin:1.6rem 0;
  padding:1.6rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
}
.project-modal-label{
  display:block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--orange-500);
  margin-bottom:.6rem;
}
.project-modal-block p{
  color:var(--text-muted);
  font-size:.9rem;
  line-height:1.8;
}
.project-modal-block strong{color:var(--orange-500);}
.project-modal-thumbs{
  display:flex;
  gap:.6rem;
  padding:.9rem 2.2rem;
  overflow-x:auto;
  background:rgba(0,0,0,.25);
}
.project-modal-thumb{
  width:64px; height:64px;
  flex:0 0 auto;
  object-fit:cover;
  border-radius:6px;
  cursor:pointer;
  opacity:.55;
  border:2px solid transparent;
  transition:opacity .2s ease, border-color .2s ease, transform .2s ease;
}
.project-modal-thumb:hover{opacity:.85; transform:translateY(-2px);}
.project-modal-thumb.active{opacity:1; border-color:var(--orange-500);}

/* ============ CLIENTES ============ */
.section-clientes{
  background:#fff;
  padding:100px 0 110px;
  text-align:center;
}
.section-clientes .section-title{margin-bottom:0;}
.clients-marquee{
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.clients-track{
  display:inline-flex;
  align-items:center;
  gap:3.5rem;
  animation:clientsScroll 32s linear infinite;
}
.clients-track:hover{
  animation-play-state:paused;
}
.client-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:72px;
}
.client-logo img{
  max-height:72px;
  max-width:180px;
  width:auto;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.55;
  transition:opacity .3s ease, filter .3s ease;
}
.client-logo img:hover{filter:grayscale(0); opacity:1;}
@keyframes clientsScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ============ CONTATO ============ */
.section-contato{
  background:var(--charcoal-900);
  padding:110px 0;
  position:relative;
  overflow:hidden;
}
.section-contato::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpath d='M-1,1 L1,-1 M0,6 L6,0 M5,7 L7,5' stroke='%23FFFFFF' stroke-opacity='.05' stroke-width='.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:repeat;
  pointer-events:none;
}
.section-contato .container{
  position:relative;
  z-index:1;
}
.contact-form{
  background:var(--charcoal-800);
  border:1px solid rgba(251,248,243,.08);
  border-radius:4px;
  padding:2.2rem;
}
.contact-form .form-label{
  color:var(--text-muted);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:.45rem;
}
.contact-form .form-control,
.contact-form .form-select{
  background:var(--charcoal-900);
  border:1px solid rgba(251,248,243,.12);
  color:var(--cream);
  border-radius:12px;
  padding:.7rem 1.2rem;
}
.contact-form .form-select{
  background-color:var(--charcoal-900);
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23E9510E' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right .9rem center;
  background-size:16px 12px;
  padding-right:2.5rem;
}
.contact-form .form-control:focus,
.contact-form .form-select:focus{
  background:var(--charcoal-900);
  color:var(--cream);
  border-color:var(--orange-500);
  box-shadow:0 0 0 .18rem rgba(233,81,14,.25);
}
.contact-form .form-control::placeholder{color:var(--charcoal-600);}
.contact-form .form-select option{background:var(--charcoal-900); color:var(--cream);}
.form-success{
  display:none;
  margin-top:1.1rem;
  color:var(--orange-500);
  font-size:.9rem;
  font-weight:600;
}
.form-success.show{display:block;}

.contact-info-card{
  background:var(--charcoal-800);
  border:1px solid rgba(251,248,243,.08);
  border-radius:4px;
  padding:2.2rem;
  height:100%;
}
.contact-info-card h4{
  color:var(--cream);
  font-size:1.1rem;
  margin-bottom:1.4rem;
}
.contact-info{list-style:none; margin:0; padding:0;}
.contact-info li{
  display:flex;
  align-items:stretch;
  gap:.9rem;
  padding:1rem 0;
  border-bottom:1px solid rgba(251,248,243,.1);
}
.contact-info li:last-child{border-bottom:none; padding-bottom:0;}
.contact-info li > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-info i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:45px;
  min-height: 45px;
  flex:0 0 auto;
  background:var(--orange-500);
  color:#fff;
  border-radius:9px;
  font-size:1.05rem;
}
.contact-info strong{
  display:block;
  color:var(--cream);
  font-size:.85rem;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:.1rem;
}
.contact-info span{color:var(--text-muted); font-size:.95rem; line-height:1.2;}

/* ============ TRABALHE CONOSCO ============ */
.section-trabalhe{
  background:var(--paper);
  padding:100px 0;
}
.work-form{
  background:var(--cream);
  border:1px solid rgba(23,20,15,.08);
  border-radius:6px;
  padding:2.2rem;
}
.work-form .form-control{
  border:1px solid rgba(23,20,15,.15);
  border-radius:12px;
  padding:.75rem 1.1rem;
  background:#fff;
}
.work-form .form-control:focus{
  border-color:var(--orange-500);
  box-shadow:0 0 0 .18rem rgba(233,81,14,.18);
}
.upload-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
  border:1.5px dashed rgba(23,20,15,.25);
  border-radius:12px;
  padding:1.8rem 1rem;
  color:var(--charcoal-600);
  font-size:.92rem;
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease;
}
.upload-box:hover{border-color:var(--orange-500); background:rgba(233,81,14,.04);}
.upload-box i{font-size:1.4rem; color:var(--orange-500);}

.work-form .wpcf7-form-control-wrap:has(input[type="file"]){
  display:flex;
  align-items:center;
  gap:.6rem;
  border:1.5px dashed rgba(23,20,15,.25);
  border-radius:12px;
  padding:.9rem 1rem;
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease;
}
.work-form .wpcf7-form-control-wrap:has(input[type="file"]):hover{
  border-color:var(--orange-500);
  background:rgba(233,81,14,.04);
}
.work-form .wpcf7-form-control-wrap:has(input[type="file"]) i{
  font-size:1.2rem;
  color:var(--orange-500);
}
.work-form input[type="file"]{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.work-form .upload-filename{
  color:var(--charcoal-600);
  font-size:.92rem;
}
.work-form .upload-filename.has-file{
  color:var(--charcoal-800);
  font-weight:600;
}

/* ============ FOOTER ============ */
.footer-helmet-center{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  z-index:5;
  pointer-events:none;
}
.footer-helmet-img{
  width:230px;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.4));
}

.footer{
  background-color:var(--charcoal-900);
}
.footer-split{
  position:relative;
  display:flex;
  flex-wrap:wrap;
}
.footer-half{
  flex:1 1 480px;
  display:flex;
  align-items:center;
}
.footer-half-inner{
  padding:96px clamp(1.5rem, 6vw, 5rem) 54px;
  width:100%;
  position:relative;
  z-index:1;
}
.footer-half-dark{
  background:rgba(20,20,20,.97);
  position:relative;
  overflow:hidden;
}
.footer-half-dark::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpath d='M-1,1 L1,-1 M0,6 L6,0 M5,7 L7,5' stroke='%23FFFFFF' stroke-opacity='.05' stroke-width='.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:repeat;
  pointer-events:none;
}
.footer-half-orange{
  background:linear-gradient(135deg, rgba(233,81,14,.95), rgba(198,69,12,.95) 85%);
  justify-content:flex-end;
}
.footer-tagline{
  color:var(--cream);
  font-size:1.5rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:-.01em;
  margin-bottom:1.8rem;
}
.footer-social{display:flex; gap:.8rem;}
.footer-social a{
  width:40px; height:40px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(251,248,243,.18);
  border-radius:50%;
  color:var(--cream);
  transition:all .25s ease;
}
.footer-social a:hover{background:var(--orange-500); border-color:var(--orange-500);}

.footer-links-stack{
  list-style:none;
  margin:0; padding:0;
  text-align:right;
}
.footer-links-stack li{margin-bottom:1.1rem;}
.footer-links-stack li:last-child{margin-bottom:0;}
.footer-links-stack a{
  display:inline-block;
  color:#fff;
  font-weight:800;
  font-size:1.1rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  transition:transform .25s ease, opacity .25s ease;
}
.footer-links-stack a:hover{opacity:.75; transform:translateX(-4px);}

.footer-bottom-bar{
  background:var(--charcoal-900);
  padding:1.1rem 0;
  text-align:center;
}
.footer-copy{color:var(--text-muted); font-size:.82rem; margin:0;}

/* ============ WHATSAPP FLOAT ============ */
.whatsapp-float{
  position:fixed;
  right:24px; bottom:24px;
  width:56px; height:56px;
  background:var(--orange-500);
  color:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
  z-index:999;
  transition:transform .25s ease;
}
.whatsapp-float:hover{transform:scale(1.08); color:#fff;}

/* ============ RESPONSIVE ============ */
@media(max-width:991.98px){
  .navbar-nav .nav-link::after{display:none;}
  .navbar-collapse{
    background:#fff;
    box-shadow:0 10px 30px rgba(23,20,15,.12);
    margin-top:1rem;
    padding:1.2rem;
    border-radius:4px;
  }
  .navbar-nav{gap:.3rem;}
  .navbar-nav .nav-link{padding:.5rem 0 !important;}
  .btn-cta{width:100%; text-align:center; margin-top:.6rem;}
  .helmet-overlap{margin-top:-78px; margin-bottom:-50px;}
  .helmet-img{width:130px;}
}
@media(max-width:767.98px){
  /* narrower viewports wrap the headline onto more lines, so keep the
     orange wedge small and low so it never sits behind the orange text */
  .hero-bg-shape{clip-path:polygon(60% 100%, 100% 100%, 100% 48%);}

  .footer-half-orange{justify-content:flex-start;}
  .footer-links-stack{text-align:left;}
  .footer-helmet-img{width:150px;}
}
@media(max-width:575.98px){
  .hero{padding-top:130px;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{width:100%; text-align:center;}
}

.wpcf7 form .wpcf7-response-output {
margin: 0;
border: 0;
padding: 14px 30px 12px 30px;
text-align: center;
color: var(--orange-500);
color: #fff;
border-radius: 30px;
}

/* ALL MOBILE */

@media(max-width: 980px){

  .brand-logo {
  height: 40px;
  }

  .hero-screen {
  text-align: center;
  }

  .section-sobre {
  padding: 80px 0 50px 0;
  text-align: center;
  }

  .section-servicos {
  padding: 40px 0 50px 0;
  text-align: center;
  }

  .section-projetos {
  padding: 40px 0 50px 0;
  text-align: center;
  }

  .section-clientes {
  padding: 40px 0 50px 0;
  text-align: center;
  }

  .section-contato {
  padding: 40px 0 50px 0;
  text-align: center;
  }

  .contact-form {
  margin-top: -40px;
  }

  .contact-info li {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  }

  .contact-info i {
  height: 40px;
  width: 40px;
  }

  .section-trabalhe {
  padding: 40px 0 50px 0;
  text-align: center;
  }

  .footer-half-inner {
  padding: 60px 0 60px 0;
  text-align: center;
  }

  .footer-helmet-center {
  top: 41%;
  }

  .footer-helmet-center img {
  width: auto;
  height: 80px;
  }

  .footer-social {
  justify-content: center;
  }

  .footer-links-stack {
  text-align: center;
  }

  .footer-bottom-bar {
  padding: 1.1rem 1.1em;
  }
  
  #mainNav,
  #mainNav.scrolled {
  padding: 10px 0 6px 0;
  }

  #mainNav.scrolled .brand-logo {
  height: 40px;
  }

  .hero-title {
  font-size: 34px;
  line-height: 34px;
  }

  .hero-inner {
  padding: 40px;
  }

  .eyebrow,
  .hero-lead {
  font-size: 28px;
  line-height: 28px;
  }

  .section-title {
font-size: 18px;
  line-height: 22px;
  margin-bottom: 20px;
  }

  .section-title br {
  display: none;
  }

  .section-subtitle {
  font-size: 24px;
  line-height: 24px;
  margin-bottom: 0;
  }

  .project-modal-thumbs {
  padding: 12px;
  }

  .project-modal-media img {
  width: 100%;
  height: auto;
  object-fit: inherit;
  }

}

.captcha {
display: flex;
justify-content: center;
align-items: center;
}