:root{
  --navy:#11172d;
  --navy-2:#07152a;
  --navy-3:#020b18;
  --silver:#c9c9c7;
  --silver-light:#f2f2ef;
  --white:#ffffff;
  --text:#1b2130;
  --muted:#727782;
  --line:rgba(201,201,199,.28);
  --radius:22px;
  --shadow:0 24px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Mulish',Arial,sans-serif;background:var(--navy);color:var(--white);line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:auto}
.section-dark{background:radial-gradient(circle at top left,rgba(33,55,92,.8),transparent 42%),linear-gradient(135deg,var(--navy),var(--navy-2) 55%,var(--navy-3))}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,13,29,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:285px;border-radius:2px}
.main-nav{display:flex;gap:34px;align-items:center;font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.main-nav a{position:relative;opacity:.9;transition:.25s ease}
.main-nav a:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--silver);transition:.25s ease}
.main-nav a:hover{color:var(--silver-light)}
.main-nav a:hover:after{width:100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;padding:15px 24px;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.05em;transition:.28s ease;border:1px solid transparent;cursor:pointer}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,.22)}
.btn-silver{background:linear-gradient(135deg,#fff,#b9b9b5);color:#0b1224}
.btn-outline{border-color:var(--silver);color:var(--silver-light);background:rgba(255,255,255,.03)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.header-whatsapp{padding:13px 18px;white-space:nowrap}.wa-icon{font-size:18px}
.menu-toggle{display:none;background:transparent;border:0;width:36px}.menu-toggle span{display:block;height:2px;background:#fff;margin:7px 0}
.hero{min-height:680px;display:flex;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:50px;align-items:center;padding:90px 0}
.eyebrow{display:block;color:var(--silver);text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:13px;margin-bottom:18px}.eyebrow.navy{color:#34405d}
h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.04em;margin-bottom:24px}
.hero p{font-size:19px;max-width:650px;color:#d9dce2}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}
.hero-card{min-height:480px;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;background-image:url('assets/hero-rc.png')}
.building-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.08) 12.5% 13%,transparent 13.5% 25%),linear-gradient(0deg,transparent 0 16%,rgba(255,255,255,.06) 16.5% 17%,transparent 17.5% 33%);transform:perspective(420px) rotateY(-18deg) scale(1.25);opacity:.8}
.glass-card{position:absolute;left:42px;bottom:42px;right:42px;padding:30px;border-radius:18px;background:rgba(4,11,24,.68);border:1px solid var(--line);backdrop-filter:blur(12px)}
.glass-card span{font-size:76px;letter-spacing:-.08em;color:var(--silver)}.glass-card strong,.glass-card small{display:block}.glass-card strong{text-transform:uppercase;letter-spacing:.14em}.glass-card small{color:#cfd2d8;margin-top:6px}
.trust-bar{border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.trust-grid div{padding:28px;border-right:1px solid var(--line);color:#d9dce2}.trust-grid div:last-child{border-right:0}.trust-grid span{display:block;color:var(--silver);font-weight:800;margin-bottom:6px}
.services{padding:90px 0 110px}.section-heading{text-align:center;max-width:780px;margin:0 auto 50px}.section-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-.03em}.section-heading p{color:#d9dce2;font-size:20px;margin-top:8px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{min-height:330px;padding:34px 26px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);text-align:center;transition:.28s ease}.service-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.075);box-shadow:0 20px 40px rgba(0,0,0,.22)}
.service-icon{width:74px;height:74px;border:1px solid var(--silver);border-radius:12px;margin:0 auto 26px;display:grid;place-items:center;color:var(--silver);font-size:38px}.service-card h3{text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;color:#f6f6f4}.service-card p{font-size:15px;color:#d2d6de}
.about{background:#f4f4f1;color:var(--text);padding:92px 0}.about-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}.about h2{font-size:clamp(34px,3.7vw,52px);line-height:1.1;letter-spacing:-.04em;margin-bottom:24px}.about p{color:#3f4656;margin-bottom:16px}.office-panel{height:520px;border-radius:22px;background:linear-gradient(rgba(8,14,29,.1),rgba(8,14,29,.2)),linear-gradient(145deg,#0b1225,#020711);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden}.office-panel:before{content:'';position:absolute;inset:8%;border:1px solid rgba(255,255,255,.12);border-radius:18px}.panel-logo{font-size:110px;line-height:1;color:var(--silver);letter-spacing:-.12em;margin-bottom:22px}.office-panel h3{text-transform:uppercase;letter-spacing:.18em;font-weight:600}.office-panel span{text-transform:uppercase;letter-spacing:.35em;color:var(--silver);font-size:13px;margin-top:8px}
.contact{padding:90px 0;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:840px;margin:0 auto}.contact-card{padding:34px;border:1px solid var(--line);border-radius:16px;text-align:center;background:rgba(255,255,255,.035);transition:.28s ease}.contact-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.08)}.contact-card small{display:block;text-transform:uppercase;letter-spacing:.14em;color:var(--silver);font-weight:800}.contact-card strong{display:block;margin-top:10px;font-size:24px}
.floating-whatsapp{position:fixed;right:26px;bottom:26px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#26d366;color:#fff;font-size:34px;border:4px solid #fff;box-shadow:0 16px 35px rgba(0,0,0,.28);z-index:45;transition:.25s ease}.floating-whatsapp:hover{transform:scale(1.08) rotate(6deg)}
.site-footer{border-top:1px solid var(--line);padding:38px 0}.footer-inner{display:grid;grid-template-columns:260px 1fr auto;gap:28px;align-items:center}.footer-inner img{width:240px}.footer-inner p{color:#d9dce2}.footer-inner small{color:#adb2bc}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}
@media(max-width:980px){.header-inner{height:auto;padding:18px 0}.brand img{width:220px}.menu-toggle{display:block}.main-nav,.header-whatsapp{display:none}.main-nav.open{display:flex;position:absolute;top:78px;left:4%;right:4%;flex-direction:column;background:#071022;border:1px solid var(--line);border-radius:14px;padding:22px}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.trust-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-inner img{margin:auto}}
@media(max-width:620px){.hero{min-height:auto}.hero-grid{padding:60px 0}.hero-actions .btn{width:100%}.trust-grid,.service-grid{grid-template-columns:1fr}.trust-grid div{border-right:0;border-bottom:1px solid var(--line)}.office-panel{height:360px}.contact-card strong{font-size:18px}.floating-whatsapp{width:58px;height:58px}.brand img{width:190px}}

/* Ajustes para trabalhar com imagem real na Hero e espaços reservados */
.hero{
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.has-hero-bg{
    background-image:
        linear-gradient(
            90deg,
            rgba(6,18,38,.92) 0%,
            rgba(6,18,38,.80) 32%,
            rgba(6,18,38,.35) 58%,
            rgba(6,18,38,.15) 100%
        ),
        var(--hero-bg);

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.hero-grid{
    position: relative;
    z-index: 2;
}

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

.hero-image-slot{
  min-height:480px;
  border:1px dashed rgba(201,201,199,.5);
  border-radius:var(--radius);
  background:rgba(3,10,25,.18);
  backdrop-filter:blur(2px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:36px;
  color:var(--silver-light);
  opacity:.68;
  transition:.28s ease;
}
.hero-image-slot:hover{
  opacity:.95;
  background:rgba(255,255,255,.055);
  transform:translateY(-4px);
}
.hero-image-slot span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
}
.hero-image-slot small{
  max-width:360px;
  margin-top:10px;
  color:#d6d9de;
}
.about-image-slot{
  margin:0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#081021;
  transition:.28s ease;
}
.about-image-slot:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 70px rgba(0,0,0,.32);
}
.about-image-slot img{
  width:100%;
  height:520px;
  object-fit:cover;
}
@media(max-width:980px){
  .hero.has-hero-bg{background-position:center}
  .hero-image-slot{min-height:260px}
  .about-image-slot img{height:380px}
}
@media(max-width:620px){
  .hero.has-hero-bg{
    background-image:
      linear-gradient(180deg,rgba(2,8,20,.92),rgba(2,8,20,.82)),
      var(--hero-bg);
  }
  .hero-image-slot{display:none}
}


/* =========================================================
   HERO COM IMAGEM DE FUNDO
   A imagem deve estar em: assets/hero-rc.png
   Como este CSS está dentro da pasta css/, o caminho correto é:
   ../assets/hero-rc.png
   ========================================================= */

.hero.has-hero-bg{
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);

  background:
    linear-gradient(
      90deg,
      rgba(2, 8, 20, .96) 0%,
      rgba(2, 8, 20, .88) 28%,
      rgba(2, 8, 20, .58) 48%,
      rgba(2, 8, 20, .20) 70%,
      rgba(2, 8, 20, .08) 100%
    ),
    url("../assets/hero-rc.png");

  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}

.hero.has-hero-bg .hero-grid{
  position: relative;
  z-index: 2;
  display: block;
  padding: 110px 0;
}

.hero.has-hero-bg .hero-content{
  width: min(620px, 100%);
  max-width: 620px;
}

.hero.has-hero-bg h1,
.hero.has-hero-bg p,
.hero.has-hero-bg .eyebrow,
.hero.has-hero-bg .hero-actions{
  position: relative;
  z-index: 2;
}

/* Remove qualquer card/slot visual antigo da hero, caso exista */
.hero.has-hero-bg .hero-card,
.hero.has-hero-bg .hero-image-slot{
  display: none !important;
}

@media(max-width:980px){
  .hero.has-hero-bg{
    min-height: 620px;
    background:
      linear-gradient(
        90deg,
        rgba(2, 8, 20, .96) 0%,
        rgba(2, 8, 20, .86) 45%,
        rgba(2, 8, 20, .42) 100%
      ),
      url("../assets/hero-rc.png");
    background-size: cover;
    background-position: center right;
  }

  .hero.has-hero-bg .hero-grid{
    padding: 86px 0;
  }
}

@media(max-width:620px){
  .hero.has-hero-bg{
    min-height: auto;
    background:
      linear-gradient(
        180deg,
        rgba(2, 8, 20, .96) 0%,
        rgba(2, 8, 20, .90) 48%,
        rgba(2, 8, 20, .72) 100%
      ),
      url("../assets/hero-rc.png");
    background-size: cover;
    background-position: 68% center;
  }

  .hero.has-hero-bg .hero-grid{
    padding: 64px 0;
  }
}

.header-whatsapp{
background:#25D366!important;
border-color:#25D366!important;
color:#fff!important;
}
.header-whatsapp:hover{background:#20bd5a!important;border-color:#20bd5a!important}
.header-whatsapp .wa-icon{width:18px;height:18px;display:block;flex:0 0 18px}
.floating-whatsapp{
background:#25D366!important;
color:#fff!important;
display:flex;align-items:center;justify-content:center;
font-size:0;
}
.floating-whatsapp .wa-icon{width:34px;height:34px}
