:root{
  --gold:#d4a017;
  --gold-soft:rgba(212,160,23,0.16);
  --dark:#050505;
  --gray:#151515;
  --gray-2:#0d0d0d;
  --panel:#111;
  --text:#f2f2f2;
  --muted:#ccc;
  --line:rgba(212,160,23,0.35);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--dark);
  color:var(--text);
}

a{
  color:inherit;
}

header{
  position:fixed;
  top:0;
  width:100%;
  background:rgba(0,0,0,0.85);
  padding:18px 8%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:10;
  border-bottom:1px solid rgba(212,160,23,0.4);
}

.logo{
  font-size:24px;
  font-weight:bold;
  color:var(--gold);
  letter-spacing:2px;
  text-decoration:none;
}

.logo img{
  height:42px;
  width:auto;
  display:block;
}

.logo span{
  display:none;
}

nav{
  display:flex;
  align-items:center;
  gap:25px;
}

nav a{
  color:white;
  text-decoration:none;
  font-size:14px;
  white-space:nowrap;
}

nav a:hover,
nav a.active{
  color:var(--gold);
}

.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:120px 8% 80px;
  background:
    linear-gradient(90deg,rgba(0,0,0,0.72),rgba(0,0,0,0.38)),
    url('banner.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.page-hero{
  min-height:78vh;
  padding-top:140px;
}

.hero-content{
  max-width:900px;
}

.hero h1{
  font-size:76px;
  color:var(--gold);
  margin:0 0 15px;
  letter-spacing:3px;
}

.page-hero h1{
  max-width:980px;
  font-size:64px;
  line-height:1.05;
}

.hero h2{
  font-size:34px;
  font-weight:400;
  margin:0 0 25px;
}

.hero p{
  font-size:20px;
  line-height:1.7;
  color:#ddd;
  max-width:820px;
}

.buttons{
  margin-top:35px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:14px 24px;
  border-radius:4px;
  border:0;
  text-decoration:none;
  font-weight:bold;
  font-size:15px;
  line-height:1.2;
  cursor:pointer;
}

.btn svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.btn-gold{
  background:var(--gold);
  color:#000;
}

.btn-outline{
  border:1px solid var(--gold);
  color:var(--gold);
  background:transparent;
}

.btn-block{
  width:100%;
}

section{
  padding:90px 8%;
}

.section-title{
  font-size:38px;
  color:var(--gold);
  margin:0 0 15px;
}

.section-subtitle{
  font-size:18px;
  color:var(--muted);
  max-width:900px;
  line-height:1.7;
  margin:0 0 45px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:24px;
}

.card{
  background:linear-gradient(180deg,#1b1b1b,#101010);
  padding:28px;
  border-left:4px solid var(--gold);
  border-radius:6px;
  min-height:190px;
  box-shadow:0 0 25px rgba(0,0,0,0.35);
}

.card h3{
  color:var(--gold);
  font-size:22px;
  margin:0 0 12px;
}

.card p{
  color:var(--muted);
  line-height:1.6;
  margin:0;
}

.icon-card{
  position:relative;
}

.icon-card .icon{
  width:42px;
  height:42px;
  color:var(--gold);
  margin-bottom:20px;
}

.dark-section{
  background:var(--gray-2);
}

.tech-list{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

.tech{
  border:1px solid rgba(212,160,23,0.5);
  padding:14px 22px;
  border-radius:4px;
  color:#eee;
  background:#111;
}

.destaque{
  background:
    linear-gradient(90deg,rgba(212,160,23,0.15),rgba(0,0,0,0.1)),
    #111;
  border-left:5px solid var(--gold);
  padding:45px;
  border-radius:6px;
  font-size:21px;
  line-height:1.7;
}

.split{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,0.9fr);
  gap:38px;
  align-items:start;
}

.feature-list{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}

.feature-list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#ddd;
  line-height:1.55;
}

.feature-list svg{
  width:18px;
  height:18px;
  color:var(--gold);
  flex:0 0 auto;
  margin-top:3px;
}

.steps{
  counter-reset:steps;
  display:grid;
  gap:18px;
}

.step{
  counter-increment:steps;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  align-items:start;
  background:linear-gradient(180deg,#1b1b1b,#101010);
  border:1px solid rgba(212,160,23,0.25);
  border-radius:6px;
  padding:22px;
}

.step::before{
  content:counter(steps);
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:#000;
  font-weight:bold;
  font-size:20px;
}

.step h3{
  margin:0 0 8px;
  color:var(--gold);
  font-size:20px;
}

.step p{
  margin:0;
  color:#ddd;
  line-height:1.6;
}

.notice{
  border:1px solid rgba(212,160,23,0.4);
  background:rgba(255,255,255,0.04);
  border-radius:6px;
  padding:30px;
}

.notice .feature-list{
  gap:16px;
}

.quote-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  background:linear-gradient(180deg,#1a1a1a,#101010);
  border:1px solid rgba(212,160,23,0.3);
  border-radius:6px;
  padding:30px;
}

.form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-field.full{
  grid-column:1 / -1;
}

.form-field label{
  color:#f5f5f5;
  font-weight:bold;
  font-size:14px;
}

.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid rgba(212,160,23,0.28);
  border-radius:4px;
  background:#090909;
  color:#f5f5f5;
  min-height:46px;
  padding:12px;
  font:inherit;
}

.form-field textarea{
  min-height:130px;
  resize:vertical;
}

.form-field input[type="file"]{
  padding:10px;
}

.form-note{
  grid-column:1 / -1;
  margin:0;
  color:#aaa;
  line-height:1.6;
  font-size:14px;
}

.form-actions{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.portfolio{
  padding:80px 8%;
  background:#0b0b0b;
  text-align:center;
  border-top:1px solid rgba(212,160,23,0.25);
  border-bottom:1px solid rgba(212,160,23,0.25);
}

.portfolio h2{
  color:var(--gold);
  font-size:36px;
  margin-bottom:20px;
}

.portfolio p{
  max-width:850px;
  margin:0 auto 30px;
  color:#ddd;
  font-size:18px;
  line-height:1.6;
}

footer{
  background:#000;
  padding:55px 8%;
  border-top:1px solid rgba(212,160,23,0.5);
}

footer h2{
  color:var(--gold);
  margin-top:0;
}

footer p{
  line-height:1.8;
  color:#ccc;
}

.footer-intro{
  max-width:850px;
  margin:0 auto 35px;
  color:#ddd;
  font-size:18px;
  line-height:1.6;
  text-align:center;
}

.contatos-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(280px, 1fr));
  gap:30px;
  max-width:1000px;
  margin:40px auto;
}

.contato-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(212,160,23,0.35);
  border-radius:8px;
  padding:30px;
  text-align:center;
}

.contato-card h3{
  color:var(--gold);
  font-size:24px;
  margin-bottom:8px;
}

.contato-card .cargo{
  color:#fff;
  font-weight:bold;
  margin-bottom:20px;
}

.contato-card p{
  color:#ddd;
  line-height:1.7;
}

.contato-card a{
  color:var(--gold);
}

.contato-card .btn{
  color:#000;
  margin-top:15px;
  display:inline-flex;
}

.footer-local{
  margin-top:35px;
  color:#aaa;
  text-align:center;
  line-height:1.6;
}

@media(max-width:980px){
  header{
    align-items:flex-start;
    gap:16px;
  }

  nav{
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:14px 18px;
  }

  .hero h1,
  .page-hero h1{
    font-size:52px;
  }

  .split{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  header{
    position:static;
    padding:16px 6%;
  }

  nav{
    display:none;
  }

  .hero,
  .page-hero{
    min-height:auto;
    padding:84px 6% 64px;
  }

  .hero h1,
  .page-hero h1{
    font-size:42px;
    line-height:1.08;
  }

  .hero h2{
    font-size:25px;
  }

  .hero p{
    font-size:18px;
  }

  section{
    padding:64px 6%;
  }

  .section-title{
    font-size:32px;
  }

  .buttons,
  .form-actions{
    flex-direction:column;
  }

  .btn{
    width:100%;
  }

  .destaque{
    padding:28px;
    font-size:18px;
  }

  .quote-form{
    grid-template-columns:1fr;
    padding:24px;
  }

  .contatos-grid{
    grid-template-columns:1fr;
  }

  .step{
    grid-template-columns:44px 1fr;
    gap:14px;
    padding:18px;
  }

  .step::before{
    width:44px;
    height:44px;
    font-size:18px;
  }
}
