/* ═══════════════════════════════════════════════
   LEGEND SEGURANÇA V2 — STYLESHEET
   Preto & Branco · Textura & Profundidade · Poppins
═══════════════════════════════════════════════ */

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

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --black:      #060606;
  --black-2:    #0A0A0A;
  --black-3:    #0F0F0F;
  --black-4:    #141414;
  --black-5:    #1A1A1A;
  --black-6:    #222222;
  --black-7:    #2A2A2A;
  --white:      #FFFFFF;
  --white-90:   rgba(255,255,255,0.90);
  --white-70:   rgba(255,255,255,0.70);
  --white-50:   rgba(255,255,255,0.50);
  --white-30:   rgba(255,255,255,0.30);
  --white-15:   rgba(255,255,255,0.15);
  --white-08:   rgba(255,255,255,0.08);
  --white-05:   rgba(255,255,255,0.05);
  --silver:     #888888;
  --silver-2:   #AAAAAA;
  --silver-3:   #CCCCCC;
  --border:     rgba(255,255,255,0.07);
  --border-2:   rgba(255,255,255,0.14);
  --border-3:   rgba(255,255,255,0.22);
  --font:       'Poppins', sans-serif;
  --ease:       cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out:   cubic-bezier(0.0, 0.0, 0.2, 1.0);
}

html { scroll-behavior:smooth; }

body {
  font-family: var(--font);
  background: var(--black);
  color: var(--white);
  overflow-x: hidden;
  line-height: 1.6;
}

::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--black); }
::-webkit-scrollbar-thumb { background:var(--white-30); }

img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { font-family:var(--font); cursor:pointer; border:none; background:none; }
em { font-style:normal; color:var(--white-50); }

.container { max-width:1200px; margin:0 auto; padding:0 5%; }
.section { padding:110px 0; }

/* ── TEXTURE OVERLAY ── */
body::after {
  content:'';
  position:fixed;
  inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
  opacity:0.025;
  pointer-events:none;
  z-index:9999;
}

/* ── TYPOGRAPHY ── */
.section-tag {
  display:inline-flex; align-items:center; gap:10px;
  font-size:10px; font-weight:600; color:var(--silver);
  letter-spacing:0.28em; text-transform:uppercase; margin-bottom:14px;
}
.section-tag::before { content:''; width:18px; height:1px; background:var(--silver); }

.section-title {
  font-size:clamp(26px, 3.8vw, 46px);
  font-weight:700; line-height:1.1;
  letter-spacing:-0.025em; margin-bottom:14px;
}

.section-desc {
  font-size:14.5px; color:var(--silver-2); line-height:1.85;
  max-width:520px; margin-bottom:48px;
}

.section-header-center { text-align:center; margin-bottom:60px; }
.section-header-center .section-tag { justify-content:center; }
.section-header-center .section-tag::before { display:none; }
.section-header-center .section-tag::after { content:''; width:18px; height:1px; background:var(--silver); }
.section-header-center .section-desc { margin:0 auto 0; }

.sobre-divider {
  width:40px; height:2px;
  background:var(--white-30); margin:20px 0 24px;
}

/* ── BUTTONS ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 30px;
  background:var(--white); color:var(--black);
  font-size:11px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  border:1px solid var(--white);
  transition:all 0.3s var(--ease);
}
.btn-primary:hover { background:transparent; color:var(--white); }

.btn-secondary {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 30px;
  background:transparent; color:var(--white);
  font-size:11px; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase;
  border:1px solid var(--white-30);
  transition:all 0.3s var(--ease);
}
.btn-secondary:hover { border-color:var(--white); }

.btn-video {
  display:inline-flex; align-items:center; gap:12px;
  padding:13px 24px;
  background:var(--white-08); color:var(--white);
  font-size:11px; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
  border:1px solid var(--white-15);
  transition:all 0.3s var(--ease);
}
.btn-video:hover { background:var(--white-15); border-color:var(--white-30); }
.btn-video-icon {
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--white-30);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:all 0.3s;
}
.btn-video:hover .btn-video-icon { background:var(--white-15); }

/* ── TOPBAR ── */
.topbar {
  background:var(--black-2);
  border-bottom:1px solid var(--border);
  padding:0 5%;
}
.topbar-inner {
  max-width:1200px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  height:38px;
}
.topbar-left, .topbar-right { display:flex; align-items:center; gap:24px; }
.topbar-item {
  display:flex; align-items:center; gap:6px;
  font-size:11px; color:var(--silver);
}
.topbar-link { transition:color 0.3s; }
.topbar-link:hover { color:var(--white); }
.topbar-socials { display:flex; gap:12px; padding-left:16px; border-left:1px solid var(--border); }
.topbar-social {
  font-size:11px; font-weight:700; color:var(--silver);
  text-transform:uppercase; transition:color 0.3s;
}
.topbar-social:hover { color:var(--white); }

/* ── NAVBAR ── */
.navbar {
  position:fixed; top:38px; left:0; right:0; z-index:1000;
  height:66px;
  background:rgba(6,6,6,0.65);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid transparent;
  transition:all 0.4s var(--ease);
}
.navbar.scrolled {
  top:0; height:58px;
  background:rgba(6,6,6,0.97);
  border-bottom-color:var(--border);
}

.nav-container {
  height:100%; max-width:1200px; margin:0 auto; padding:0 5%;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}

.nav-logo { display:flex; align-items:center; gap:11px; flex-shrink:0; }
.nav-logo-img { width:38px; height:38px; object-fit:contain; }
.nav-logo-text { line-height:1; }
.nav-logo-name { font-size:13px; font-weight:700; color:var(--white); letter-spacing:0.03em; display:block; }
.nav-logo-sub { font-size:8px; color:var(--silver); letter-spacing:0.18em; text-transform:uppercase; margin-top:2px; display:block; }

.nav-links { display:flex; gap:32px; align-items:center; }
.nav-link {
  font-size:11px; font-weight:500; color:var(--silver);
  letter-spacing:0.1em; text-transform:uppercase;
  position:relative; transition:color 0.3s;
}
.nav-link::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:1px; background:var(--white);
  transform:scaleX(0); transition:transform 0.3s var(--ease);
}
.nav-link:hover { color:var(--white); }
.nav-link:hover::after { transform:scaleX(1); }

.nav-cta {
  padding:9px 20px;
  background:var(--white); color:var(--black);
  font-size:11px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  border:1px solid var(--white);
  transition:all 0.3s var(--ease); flex-shrink:0;
}
.nav-cta:hover { background:transparent; color:var(--white); }

.nav-toggle {
  display:none; flex-direction:column; gap:5px; padding:4px;
}
.nav-toggle span { display:block; width:22px; height:1.5px; background:var(--white); transition:all 0.3s; }

/* ── HERO ── */
.hero {
  position:relative; width:100%; height:100vh;
  min-height:640px; overflow:hidden; background:var(--black);
}

.hero-video {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; z-index:0;
}

.hero-slides { position:absolute; inset:0; z-index:1; }
.hero-slide {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transform:scale(1.04);
  transition:opacity 0.9s ease, transform 7s ease;
}
.hero-slide.active { opacity:1; transform:scale(1.0); }

/* hide slides when video exists */
.hero-video:not([src=""]) ~ .hero-slides { display:none; }

.hero-overlay {
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(
    105deg,
    rgba(6,6,6,0.92) 0%,
    rgba(6,6,6,0.75) 45%,
    rgba(6,6,6,0.30) 100%
  );
}

/* Texture grain on hero */
.hero-noise {
  position:absolute; inset:0; z-index:3; opacity:0.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events:none;
}

/* Diagonal line decoration */
.hero::before {
  content:''; position:absolute;
  left:4.5%; top:0; bottom:0;
  width:1px; background:var(--white-08); z-index:4;
}
.hero::after {
  content:''; position:absolute;
  left:calc(4.5% + 24px); top:0; bottom:0;
  width:1px; background:var(--white-05); z-index:4;
}

.hero-content {
  position:relative; z-index:5;
  height:100%; display:flex; flex-direction:column;
  justify-content:center;
  padding:104px 6% 80px calc(4.5% + 48px);
  max-width:720px;
}

.hero-tag {
  display:inline-flex; align-items:center; gap:10px;
  font-size:9px; font-weight:600; color:var(--white-50);
  letter-spacing:0.3em; text-transform:uppercase; margin-bottom:24px;
}
.hero-tag-dot {
  width:6px; height:6px;
  background:var(--white-50); border-radius:50%;
  animation:pulse 2.5s ease infinite;
}

.hero-title {
  margin-bottom:20px; line-height:0.92;
  letter-spacing:-0.03em;
}
.hero-title-line1 {
  display:block;
  font-size:clamp(52px, 9vw, 108px);
  font-weight:700; color:var(--white);
  transition:opacity 0.4s ease, transform 0.4s ease;
}
.hero-title-line2 {
  display:block;
  font-size:clamp(30px, 4.8vw, 58px);
  font-weight:300; color:var(--white-50);
  margin-top:6px;
  transition:opacity 0.4s ease 0.08s, transform 0.4s ease 0.08s;
}
.hero-title-line1.fade, .hero-title-line2.fade { opacity:0; transform:translateY(10px); }

.hero-desc {
  font-size:15px; font-weight:300; color:var(--white-50);
  line-height:1.8; margin-bottom:36px; max-width:480px;
}

.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:52px; }

.hero-stats {
  display:flex; align-items:center; gap:0;
  padding-top:24px; border-top:1px solid var(--white-08);
  flex-wrap:wrap; row-gap:16px;
}
.hero-stat { padding:0 32px 0 0; }
.hero-stat:first-child { padding-left:0; }
.hero-stat-num { display:block; font-size:22px; font-weight:700; color:var(--white); line-height:1; }
.hero-stat-label { display:block; font-size:9px; color:var(--white-40, rgba(255,255,255,0.4)); letter-spacing:0.14em; text-transform:uppercase; margin-top:4px; }
.hero-stat-div { width:1px; height:32px; background:var(--white-15); margin-right:32px; align-self:center; }

.hero-nav {
  position:absolute; bottom:32px; right:5%;
  z-index:5; display:flex; flex-direction:column;
  align-items:flex-end; gap:14px;
}
.hero-dots { display:flex; gap:7px; }
.hero-dot {
  width:6px; height:6px; border-radius:3px;
  background:var(--white-25, rgba(255,255,255,0.25));
  border:none; cursor:pointer; padding:0;
  transition:all 0.4s var(--ease);
}
.hero-dot.active { width:22px; background:var(--white); }

.hero-counter {
  display:flex; align-items:center; gap:9px;
  font-size:12px; font-weight:600; color:var(--white);
}
.hero-counter-bar { width:22px; height:1px; background:var(--white-30); }
.hero-counter-total { color:var(--white-40, rgba(255,255,255,0.4)); }

.hero-scroll-hint {
  position:absolute; bottom:32px; left:calc(4.5% + 48px);
  z-index:5; display:flex; align-items:center; gap:12px;
  font-size:9px; font-weight:500; color:var(--white-40, rgba(255,255,255,0.4));
  letter-spacing:0.2em; text-transform:uppercase;
  animation:fadeUp 0.8s var(--ease) 1.4s both;
}
.hero-scroll-line { width:32px; height:1px; background:var(--white-30); }

/* hero reveal */
.reveal-hero { animation:fadeUp 0.75s var(--ease) both; }
.reveal-hero:nth-child(1) { animation-delay:0.2s; }
.reveal-hero:nth-child(2) { animation-delay:0.35s; }
.reveal-hero:nth-child(3) { animation-delay:0.5s; }
.reveal-hero:nth-child(4) { animation-delay:0.65s; }
.reveal-hero:nth-child(5) { animation-delay:0.8s; }

/* ── VIDEO MODAL ── */
.video-modal {
  position:fixed; inset:0; z-index:2000;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity 0.3s;
}
.video-modal.open { opacity:1; pointer-events:all; }
.video-modal-bg {
  position:absolute; inset:0;
  background:rgba(0,0,0,0.92);
  backdrop-filter:blur(8px);
}
.video-modal-content {
  position:relative; z-index:1;
  width:90%; max-width:900px;
  background:var(--black-4);
  border:1px solid var(--border-2);
}
.video-modal-close {
  position:absolute; top:-44px; right:0;
  width:36px; height:36px;
  border:1px solid var(--border-2);
  color:var(--white-70); font-size:14px;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s;
}
.video-modal-close:hover { border-color:var(--white); color:var(--white); }

/* ── SOBRE ── */
.sobre { background:var(--black-2); }

.sobre-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
}

.sobre-images {
  position:relative; height:520px;
}
.sobre-img-main {
  position:absolute; top:0; left:0;
  width:75%; height:80%;
  background:var(--black-5); border:1px solid var(--border);
  overflow:hidden;
}
.sobre-img-main img { width:100%; height:100%; object-fit:cover; filter:grayscale(20%); }
.sobre-img-side {
  position:absolute; bottom:0; right:0;
  width:52%; height:50%;
  background:var(--black-6); border:1px solid var(--border-2);
  overflow:hidden;
}
.sobre-img-side img { width:100%; height:100%; object-fit:cover; filter:grayscale(30%); }

.img-fallback {
  display:flex; align-items:center; justify-content:center;
}
.img-fallback::after {
  content:'◈'; font-size:48px; color:var(--white-08);
}
.img-fallback img { display:none; }

.sobre-badge-float {
  position:absolute; top:50%; left:72%;
  transform:translate(-50%,-50%);
  width:100px; height:100px;
  background:var(--white);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  z-index:2;
}
.sobre-badge-num { font-size:20px; font-weight:700; color:var(--black); line-height:1; }
.sobre-badge-txt { font-size:8px; font-weight:700; color:var(--black); letter-spacing:0.08em; text-transform:uppercase; }

.sobre-exp-badge {
  position:absolute; bottom:48px; left:-20px;
  background:var(--black-4); border:1px solid var(--border-3);
  padding:14px 20px; display:flex; flex-direction:column; gap:2px;
}
.sobre-exp-num { font-size:22px; font-weight:700; color:var(--white); }
.sobre-exp-txt { font-size:9px; color:var(--silver); letter-spacing:0.12em; text-transform:uppercase; }

.sobre-content { padding-left:8px; }
.sobre-text { font-size:14px; color:var(--silver-2); line-height:1.9; margin-bottom:14px; }

.sobre-pillars { display:flex; flex-direction:column; gap:14px; margin-top:28px; }
.pillar {
  display:flex; gap:14px; padding:16px;
  border:1px solid var(--border); background:var(--black-3);
  transition:border-color 0.3s;
}
.pillar:hover { border-color:var(--border-2); }
.pillar-icon { font-size:18px; color:var(--white-30); flex-shrink:0; margin-top:2px; }
.pillar-title { font-size:13px; font-weight:600; color:var(--white); margin-bottom:3px; }
.pillar-desc { font-size:12px; color:var(--silver); line-height:1.6; }

/* ── SERVIÇOS ── */
.servicos { background:var(--black-3); }

.servicos-header {
  display:flex; justify-content:space-between;
  align-items:flex-end; margin-bottom:56px; gap:40px; flex-wrap:wrap;
}
.servicos-header-desc {
  font-size:14px; color:var(--silver-2); line-height:1.8;
  max-width:340px; margin-bottom:0;
}

.servicos-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px;
}

.servico-card {
  background:var(--black-5); overflow:hidden;
  transition:transform 0.4s var(--ease);
  border:1px solid transparent;
}
.servico-card:hover { transform:translateY(-4px); border-color:var(--border-2); }

.servico-img {
  position:relative; aspect-ratio:16/10; overflow:hidden;
  background:var(--black-7);
}
.servico-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.6s var(--ease), filter 0.6s;
  filter:grayscale(40%) brightness(0.85);
}
.servico-card:hover .servico-img img { transform:scale(1.06); filter:grayscale(0%) brightness(1); }

.servico-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(6,6,6,0.7) 0%, transparent 50%);
}
.servico-num {
  position:absolute; top:12px; right:14px;
  font-size:42px; font-weight:700; color:rgba(255,255,255,0.07); line-height:1;
}

.servico-body { padding:22px; }
.servico-title { font-size:16px; font-weight:700; color:var(--white); margin-bottom:8px; }
.servico-desc { font-size:12.5px; color:var(--silver); line-height:1.7; margin-bottom:14px; }
.servico-list { display:flex; flex-direction:column; gap:6px; }
.servico-list li {
  font-size:11.5px; color:var(--silver-2);
  display:flex; align-items:center; gap:8px;
}
.servico-list li::before { content:''; width:12px; height:1px; background:var(--white-30); flex-shrink:0; }

/* ── PORQUE ── */
.porque { background:var(--black-4); }

.porque-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }

.porque-items { display:flex; flex-direction:column; gap:0; margin-top:36px; }
.porque-item {
  display:grid; grid-template-columns:50px 1fr;
  gap:18px; padding:22px 0; border-bottom:1px solid var(--border);
}
.porque-item:last-child { border-bottom:none; }
.porque-num { font-size:10px; font-weight:700; color:var(--silver); letter-spacing:0.1em; padding-top:3px; }
.porque-title { font-size:14px; font-weight:600; color:var(--white); margin-bottom:5px; }
.porque-desc { font-size:12.5px; color:var(--silver); line-height:1.7; }

.porque-right { display:flex; flex-direction:column; gap:16px; }

.porque-metrics {
  background:var(--black-5); border:1px solid var(--border-2);
  padding:36px; display:flex; flex-direction:column; gap:24px;
}
.metric-label-head {
  font-size:9.5px; font-weight:700; color:var(--silver);
  letter-spacing:0.22em; text-transform:uppercase;
  padding-bottom:18px; border-bottom:1px solid var(--border);
}
.metric-item { display:flex; flex-direction:column; gap:7px; }
.metric-labels {
  display:flex; justify-content:space-between;
  font-size:11.5px; font-weight:500; color:var(--silver-2);
}
.metric-bar { height:2px; background:var(--white-08); }
.metric-fill { height:100%; background:var(--white); width:0%; transition:width 1.4s var(--ease-out); }

.metric-google {
  display:flex; align-items:center; gap:18px;
  padding-top:18px; border-top:1px solid var(--border);
}
.metric-google-score { font-size:40px; font-weight:700; color:var(--white); line-height:1; }
.metric-google-label { font-size:12px; color:var(--silver-2); margin-bottom:2px; }
.metric-google-sub { font-size:11px; color:var(--silver); }

.porque-cta-strip {
  background:var(--black-6); border:1px solid var(--border-2);
  padding:22px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  flex-wrap:wrap;
}
.porque-cta-strip strong { display:block; font-size:14px; color:var(--white); margin-bottom:3px; }
.porque-cta-strip span { font-size:12px; color:var(--silver); }

/* ── COBERTURA ── */
.cobertura { background:var(--black-3); }

.cobertura-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }

.zona-card {
  background:var(--black-5); padding:36px 28px;
  border:1px solid var(--border); display:flex;
  flex-direction:column; gap:0;
  transition:border-color 0.3s, background 0.3s;
}
.zona-card:hover { border-color:var(--border-2); background:var(--black-6); }
.zona-hq { border-color:var(--border-2); }

.zona-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.zona-badge {
  display:inline-block; padding:4px 11px;
  font-size:9px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
}
.zona-badge-hq { background:var(--white); color:var(--black); }
.zona-badge-base { border:1px solid var(--border-2); color:var(--silver); }
.zona-icon { font-size:22px; color:var(--white-20); }

.zona-name { font-size:26px; font-weight:700; color:var(--white); margin-bottom:4px; }
.zona-region { font-size:10px; color:var(--silver); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:20px; }

.zona-list { display:flex; flex-direction:column; gap:10px; flex:1; }
.zona-list li {
  font-size:12.5px; color:var(--silver);
  display:flex; align-items:flex-start; gap:9px;
}
.zona-list li::before { content:'—'; color:var(--white-20); flex-shrink:0; }

.zona-footer {
  margin-top:24px; padding-top:18px; border-top:1px solid var(--border);
}
.zona-link { font-size:12px; color:var(--silver-2); transition:color 0.3s; }
.zona-link:hover { color:var(--white); }

/* ── PROCESSO ── */
.processo { background:var(--black-2); padding:0; }
.processo-bg {
  background:var(--black-3);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:100px 0;
}

.processo-steps {
  display:flex; align-items:flex-start; gap:0;
  position:relative;
}

.processo-step {
  flex:1; padding:0 28px; text-align:center;
  position:relative; z-index:1;
}
.processo-step:first-child { padding-left:0; }
.processo-step:last-child { padding-right:0; }

.step-num {
  font-size:9px; font-weight:700; color:var(--silver);
  letter-spacing:0.2em; margin-bottom:12px;
}
.step-icon {
  width:60px; height:60px; margin:0 auto 18px;
  border:1px solid var(--border-2);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; color:var(--white-50);
  transition:all 0.3s; background:var(--black-4);
}
.processo-step:hover .step-icon { border-color:var(--white); color:var(--white); background:var(--black-6); }

.step-title { font-size:14px; font-weight:600; color:var(--white); margin-bottom:8px; }
.step-desc { font-size:12.5px; color:var(--silver); line-height:1.7; }

.processo-arrow {
  flex-shrink:0; font-size:18px; color:var(--white-20);
  margin-top:30px; align-self:flex-start; padding:0 4px;
}

/* ── TESTEMUNHOS ── */
.testemunhos { background:var(--black-4); }

.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }

.testi-card {
  background:var(--black-5); padding:36px;
  border:1px solid var(--border);
  display:flex; flex-direction:column; gap:16px;
  transition:border-color 0.3s;
  position:relative;
}
.testi-card:hover { border-color:var(--border-2); }

.testi-quote {
  font-size:60px; line-height:0.8; color:var(--white-08);
  font-family:Georgia, serif; position:absolute; top:20px; right:24px;
}
.testi-stars { font-size:12px; color:var(--white-50); letter-spacing:3px; }
.testi-text {
  font-size:13.5px; color:var(--silver-2); line-height:1.85;
  font-style:italic; flex:1;
}
.testi-author {
  display:flex; align-items:center; gap:14px;
  padding-top:18px; border-top:1px solid var(--border);
}
.testi-avatar {
  width:42px; height:42px; border-radius:50%;
  background:var(--black-7); border:1px solid var(--border-2);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; color:var(--silver); flex-shrink:0;
}
.testi-name { font-size:13px; font-weight:600; color:var(--white); }
.testi-role { font-size:11px; color:var(--silver); margin-top:2px; }

/* ── FAQ ── */
.faq { background:var(--black-3); }

.faq-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:72px; align-items:start; }
.faq-side { display:flex; flex-direction:column; gap:16px; }

.faq-list { display:flex; flex-direction:column; gap:2px; margin-top:36px; }
.faq-item { border:1px solid var(--border); overflow:hidden; }
.faq-q {
  width:100%; padding:17px 20px;
  background:var(--black-4);
  display:flex; justify-content:space-between; align-items:center;
  font-size:13px; font-weight:500; color:var(--white);
  text-align:left; gap:16px; transition:background 0.3s;
}
.faq-q:hover, .faq-q.active { background:var(--black-5); }
.faq-icon { font-size:18px; color:var(--silver); transition:transform 0.3s; flex-shrink:0; }
.faq-q.active .faq-icon { transform:rotate(45deg); }
.faq-a {
  background:var(--black-5); max-height:0; overflow:hidden;
  transition:max-height 0.4s var(--ease), padding 0.4s var(--ease);
}
.faq-a.open { max-height:200px; padding:16px 20px; }
.faq-a p { font-size:13px; color:var(--silver); line-height:1.8; }

.faq-cta {
  background:var(--black-5); border:1px solid var(--border-2);
  padding:40px 36px; display:flex; flex-direction:column; gap:18px;
}
.faq-cta-icon { font-size:32px; color:var(--white-30); }
.faq-cta-title { font-size:24px; font-weight:700; color:var(--white); line-height:1.2; }
.faq-cta-desc { font-size:13px; color:var(--silver); line-height:1.75; }

.faq-contact-strip {
  background:var(--black-6); border:1px solid var(--border);
  padding:24px 28px; display:flex; flex-direction:column; gap:16px;
}
.faq-contact-item {
  display:flex; align-items:flex-start; gap:14px;
  font-size:18px; color:var(--white-40);
}
.faq-contact-item > div { display:flex; flex-direction:column; gap:2px; }
.faq-contact-item strong { font-size:12.5px; color:var(--white); font-weight:600; }
.faq-contact-item span { font-size:11px; color:var(--silver); }

/* ── CONTACTO ── */
.contacto { background:var(--black-2); }
.contacto-header { margin-bottom:56px; }

.contacto-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:72px; }

.contacto-info { display:flex; flex-direction:column; gap:24px; }
.contacto-item { display:flex; gap:16px; align-items:flex-start; }
.contacto-icon {
  width:42px; height:42px; flex-shrink:0;
  background:var(--black-5); border:1px solid var(--border-2);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; color:var(--white-50);
}
.contacto-label { font-size:9px; font-weight:600; color:var(--silver); letter-spacing:0.18em; text-transform:uppercase; margin-bottom:4px; }
.contacto-value { font-size:13.5px; font-weight:600; color:var(--white); }
.contacto-sub { font-size:11px; color:var(--silver); margin-top:2px; }

.contacto-wa { margin-top:8px; }
.contacto-wa-btn {
  display:inline-flex; align-items:center; gap:12px;
  padding:13px 22px;
  background:#25D366; color:var(--white);
  font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  transition:all 0.3s;
}
.contacto-wa-btn:hover { background:#20ba5a; }

.contacto-form { display:flex; flex-direction:column; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-label { font-size:9.5px; font-weight:600; color:var(--silver); letter-spacing:0.15em; text-transform:uppercase; }
.form-input {
  width:100%; padding:12px 15px;
  background:var(--black-5); border:1px solid var(--border);
  color:var(--white); font-family:var(--font); font-size:13px;
  outline:none; transition:border-color 0.3s;
  -webkit-appearance:none; appearance:none;
}
.form-input:focus { border-color:var(--white-30); }
.form-input::placeholder { color:var(--silver); opacity:0.6; }
.form-input option { background:var(--black-5); }
.form-textarea { resize:vertical; min-height:110px; }
.form-success {
  display:none; padding:13px 16px;
  background:var(--black-5); border:1px solid var(--border-2);
  font-size:13px; color:var(--silver-2);
}

/* ── FOOTER ── */
.footer { background:var(--black); }
.footer-top { padding:64px 0 0; }

.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:52px; padding-bottom:52px; border-bottom:1px solid var(--border);
}

.footer-logo { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.footer-logo-img { width:36px; height:36px; object-fit:contain; }
.footer-logo-name { font-size:12px; font-weight:700; color:var(--white); }
.footer-logo-sub { font-size:8px; color:var(--silver); letter-spacing:0.16em; text-transform:uppercase; margin-top:2px; }
.footer-desc { font-size:12.5px; color:var(--silver); line-height:1.8; margin-bottom:22px; }
.footer-social { display:flex; gap:8px; }
.social-btn {
  width:32px; height:32px; border:1px solid var(--border-2);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; color:var(--silver); text-transform:uppercase;
  transition:all 0.3s;
}
.social-btn:hover { border-color:var(--white); color:var(--white); }

.footer-col-title { font-size:9.5px; font-weight:700; color:var(--white); letter-spacing:0.2em; text-transform:uppercase; margin-bottom:18px; }
.footer-links { display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:12.5px; color:var(--silver); transition:color 0.3s; }
.footer-links a:hover { color:var(--white); }
.footer-links li:not(:has(a)) { font-size:12.5px; color:var(--silver); }

.footer-bottom { padding:22px 0; }
.footer-bottom-inner {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px;
}
.footer-copy { font-size:11.5px; color:var(--silver); }
.footer-copy span { color:var(--white-60, rgba(255,255,255,0.6)); }

/* ── WHATSAPP FLOAT ── */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:900;
  width:50px; height:50px; background:#25D366; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--white);
  box-shadow:0 4px 18px rgba(37,211,102,0.3);
  transition:transform 0.3s var(--ease), box-shadow 0.3s;
}
.wa-float:hover { transform:scale(1.08) translateY(-2px); box-shadow:0 8px 26px rgba(37,211,102,0.4); }

/* ── SCROLL REVEAL ── */
.reveal {
  opacity:0; transform:translateY(28px);
  transition:opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.35; transform:scale(1.6); }
}

/* ── MOBILE MENU ── */
@media (max-width:920px) {
  .nav-links {
    position:fixed; top:0; left:0; right:0; bottom:0;
    background:rgba(6,6,6,0.98); backdrop-filter:blur(20px);
    flex-direction:column; align-items:center; justify-content:center;
    gap:28px; opacity:0; pointer-events:none; transition:opacity 0.3s;
    z-index:998;
  }
  .nav-links.open { opacity:1; pointer-events:all; }
  .nav-link { font-size:16px; }
  .nav-cta { display:none; }
  .nav-toggle { display:flex; z-index:999; }
  .nav-toggle.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity:0; }
  .nav-toggle.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
  .topbar { display:none; }
  .navbar { top:0; }
}

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .servicos-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
}

@media (max-width:768px) {
  .section { padding:72px 0; }
  .hero-content { padding:80px 5% 80px 5%; }
  .hero::before, .hero::after { display:none; }
  .hero-stats { gap:20px; }
  .hero-stat-div { display:none; }
  .hero-stat { padding:0; }

  .sobre-grid { grid-template-columns:1fr; gap:48px; }
  .sobre-images { height:300px; }
  .sobre-content { padding-left:0; }

  .servicos-grid { grid-template-columns:1fr; }
  .servicos-header { flex-direction:column; align-items:flex-start; }

  .porque-grid { grid-template-columns:1fr; gap:48px; }

  .cobertura-grid { grid-template-columns:1fr; gap:2px; }

  .processo-steps { flex-direction:column; gap:32px; }
  .processo-arrow { display:none; }
  .processo-step { padding:0; text-align:left; }
  .step-icon { margin:0 0 14px; }

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

  .faq-grid { grid-template-columns:1fr; gap:48px; }

  .contacto-grid { grid-template-columns:1fr; gap:48px; }
  .form-row { grid-template-columns:1fr; }

  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width:480px) {
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .footer-grid { grid-template-columns:1fr; }
  .processo-steps { gap:24px; }
}

/* ═══════════════════════════════════════════════
   V3 — EFEITOS DE LUZ · CARDS ARREDONDADOS · DINAMISMO
═══════════════════════════════════════════════ */

/* ── EFEITOS DE LUZ GLOBAIS ── */
.luz-bg {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  animation: luzFloat 8s ease-in-out infinite;
}
@keyframes luzFloat {
  0%,100% { transform: translateY(0) scale(1); opacity: 0.6; }
  50%      { transform: translateY(-24px) scale(1.08); opacity: 1; }
}
@keyframes luzFloat2 {
  0%,100% { transform: translateY(0) scale(1); opacity: 0.4; }
  50%      { transform: translateY(20px) scale(0.95); opacity: 0.8; }
}
@keyframes luzPulse {
  0%,100% { opacity: 0.3; transform: scale(1); }
  50%      { opacity: 0.7; transform: scale(1.15); }
}

/* ── HERO LUZES ── */
.hero-luz-1 {
  position: absolute; width: 600px; height: 600px;
  top: -150px; right: 5%;
  background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none; z-index: 2;
  animation: luzFloat 10s ease-in-out infinite;
}
.hero-luz-2 {
  position: absolute; width: 400px; height: 400px;
  bottom: 10%; left: 10%;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none; z-index: 2;
  animation: luzFloat2 12s ease-in-out infinite;
}
.hero-luz-3 {
  position: absolute; width: 200px; height: 200px;
  top: 30%; left: 40%;
  background: radial-gradient(circle, rgba(255,255,255,0.025) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none; z-index: 2;
  animation: luzPulse 7s ease-in-out infinite;
}

/* ── SECTION LUZ SOBRE ── */
.sobre {
  position: relative; overflow: hidden;
}
.sobre::before {
  content: '';
  position: absolute; top: -200px; right: -200px;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.025) 0%, transparent 65%);
  pointer-events: none; animation: luzFloat 14s ease-in-out infinite;
}
.sobre::after {
  content: '';
  position: absolute; bottom: -150px; left: -100px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.015) 0%, transparent 65%);
  pointer-events: none; animation: luzFloat2 11s ease-in-out infinite;
}

/* ── SECTION LUZ PORQUE ── */
.porque {
  position: relative; overflow: hidden;
}
.porque::before {
  content: '';
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 800px; height: 800px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.018) 0%, transparent 60%);
  pointer-events: none; animation: luzPulse 9s ease-in-out infinite;
}

/* ── SECTION LUZ COBERTURA ── */
.cobertura {
  position: relative; overflow: hidden;
}
.cobertura::after {
  content: '';
  position: absolute; top: -100px; right: -100px;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.022) 0%, transparent 65%);
  pointer-events: none; animation: luzFloat 13s ease-in-out infinite;
}

/* ── SECTION LUZ PROCESSO ── */
.processo-bg {
  position: relative; overflow: hidden;
}
.processo-bg::before {
  content: '';
  position: absolute; bottom: -200px; left: 50%; transform: translateX(-50%);
  width: 900px; height: 900px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.015) 0%, transparent 60%);
  pointer-events: none; animation: luzPulse 11s ease-in-out infinite;
}

/* ── SECTION LUZ CONTACTO ── */
.contacto {
  position: relative; overflow: hidden;
}
.contacto::before {
  content: '';
  position: absolute; top: -150px; left: -150px;
  width: 650px; height: 650px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.02) 0%, transparent 65%);
  pointer-events: none; animation: luzFloat 15s ease-in-out infinite;
}
.contacto::after {
  content: '';
  position: absolute; bottom: -100px; right: -100px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.015) 0%, transparent 65%);
  pointer-events: none; animation: luzFloat2 12s ease-in-out infinite;
}

/* ── CARDS ARREDONDADOS ── */
.servico-card {
  border-radius: 12px !important;
  margin: 0 !important;
}
.servico-img {
  border-radius: 12px 12px 0 0;
}
.testi-card {
  border-radius: 12px !important;
}
.zona-card {
  border-radius: 12px !important;
}
.pillar {
  border-radius: 10px;
}
.faq-item {
  border-radius: 10px;
  overflow: hidden;
}
.faq-cta {
  border-radius: 12px;
}
.porque-metrics {
  border-radius: 12px;
}
.porque-cta-strip {
  border-radius: 10px;
}
.sobre-img-main {
  border-radius: 12px;
}
.sobre-img-side {
  border-radius: 10px;
}
.faq-contact-strip {
  border-radius: 10px;
}
.contacto-wa-btn {
  border-radius: 8px;
}
.contacto-icon {
  border-radius: 8px;
}
.sobre-exp-badge {
  border-radius: 10px;
}

/* ── GAP 10PX NOS GRIDS ── */
.servicos-grid {
  gap: 10px !important;
}
.testi-grid {
  gap: 10px !important;
}
.cobertura-grid {
  gap: 10px !important;
}

/* ── DINAMISMO — HOVER LIFT ── */
.servico-card {
  transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94),
              box-shadow 0.4s ease,
              border-color 0.3s ease !important;
}
.servico-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.1) !important;
}

.testi-card {
  transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94),
              box-shadow 0.4s ease,
              border-color 0.3s !important;
}
.testi-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.5) !important;
}

.zona-card {
  transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94),
              box-shadow 0.4s ease,
              border-color 0.3s,
              background 0.3s !important;
}
.zona-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.5) !important;
}

.pillar {
  transition: transform 0.3s ease, border-color 0.3s, box-shadow 0.3s !important;
}
.pillar:hover {
  transform: translateX(6px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}

/* ── PROCESSO STEP GLOW ── */
.step-icon {
  transition: all 0.4s ease, box-shadow 0.4s ease !important;
}
.processo-step:hover .step-icon {
  box-shadow: 0 0 24px rgba(255,255,255,0.12) !important;
}

/* ── BOTOES COM GLOW ── */
.btn-primary {
  transition: all 0.3s ease, box-shadow 0.3s ease !important;
}
.btn-primary:hover {
  box-shadow: 0 0 20px rgba(255,255,255,0.12) !important;
}

.nav-cta {
  transition: all 0.3s ease, box-shadow 0.3s !important;
}
.nav-cta:hover {
  box-shadow: 0 0 18px rgba(255,255,255,0.1) !important;
}

/* ── STAT CARDS NO HERO ── */
.hero-stat {
  position: relative;
  transition: transform 0.3s ease;
}

/* ── SECTION DIVIDERS ANIMADOS ── */
.section-tag::before {
  transition: width 0.4s ease;
}
.section-tag:hover::before {
  width: 32px;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.4); }

/* ── REVEAL MELHORADO ── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.75s cubic-bezier(0.25,0.46,0.45,0.94),
              transform 0.75s cubic-bezier(0.25,0.46,0.45,0.94) !important;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── FOOTER ROUNDED ── */
.social-btn { border-radius: 6px; }

/* ═══════════════════════════════════════════════
   V4 — ALTERNÂNCIA PRETO / BRANCO
   Hero → Preto | Sobre → Branco | Serviços → Preto
   Porque → Branco | Cobertura → Preto | Processo → Branco
   Testemunhos → Preto | FAQ → Branco | Contacto → Preto
   Footer → Preto
═══════════════════════════════════════════════ */

/* ── SECÇÕES BRANCAS ── */
.sobre,
.porque,
.processo-bg,
.faq {
  background: #F5F5F5 !important;
  color: #0A0A0A !important;
}

/* Remover pseudo-elementos de luz nas secções brancas */
.sobre::before, .sobre::after,
.porque::before,
.processo-bg::before { display: none; }

/* ── TEXTOS NAS SECÇÕES BRANCAS ── */
.sobre .section-tag,
.porque .section-tag,
.processo .section-tag,
.faq .section-tag {
  color: #555 !important;
}
.sobre .section-tag::before,
.porque .section-tag::before,
.faq .section-tag::before {
  background: #555 !important;
}
.sobre .section-title,
.porque .section-title,
.processo .section-title,
.faq .section-title {
  color: #0A0A0A !important;
}
.sobre .section-title em,
.porque .section-title em,
.processo .section-title em,
.faq .section-title em {
  color: #555 !important;
}
.sobre .section-desc,
.porque .section-desc,
.faq .section-desc {
  color: #555 !important;
}
.sobre .sobre-divider,
.porque .sobre-divider,
.faq .sobre-divider {
  background: rgba(0,0,0,0.2) !important;
}
.sobre .sobre-text { color: #444 !important; }
.sobre .pillar {
  background: #FFFFFF !important;
  border-color: rgba(0,0,0,0.1) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.sobre .pillar:hover {
  border-color: rgba(0,0,0,0.25) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.1) !important;
}
.sobre .pillar-icon { color: rgba(0,0,0,0.3) !important; }
.sobre .pillar-title { color: #0A0A0A !important; }
.sobre .pillar-desc { color: #555 !important; }

.sobre .sobre-exp-badge {
  background: #FFFFFF !important;
  border-color: rgba(0,0,0,0.15) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.sobre .sobre-exp-num { color: #0A0A0A !important; }
.sobre .sobre-exp-txt { color: #666 !important; }

.sobre .btn-primary {
  background: #0A0A0A !important;
  color: #FFF !important;
  border-color: #0A0A0A !important;
}
.sobre .btn-primary:hover {
  background: transparent !important;
  color: #0A0A0A !important;
}

/* ── PORQUE SECÇÃO BRANCA ── */
.porque .porque-item { border-bottom-color: rgba(0,0,0,0.1) !important; }
.porque .porque-num { color: #999 !important; }
.porque .porque-title { color: #0A0A0A !important; }
.porque .porque-desc { color: #555 !important; }

.porque .porque-metrics {
  background: #FFFFFF !important;
  border-color: rgba(0,0,0,0.1) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}
.porque .metric-label-head { color: #888 !important; border-bottom-color: rgba(0,0,0,0.1) !important; }
.porque .metric-labels { color: #444 !important; }
.porque .metric-bar { background: rgba(0,0,0,0.08) !important; }
.porque .metric-fill { background: #0A0A0A !important; }
.porque .metric-google { border-top-color: rgba(0,0,0,0.1) !important; }
.porque .metric-google-score { color: #0A0A0A !important; }
.porque .metric-google-label { color: #444 !important; }
.porque .metric-google-sub { color: #888 !important; }

.porque .porque-cta-strip {
  background: #ECECEC !important;
  border-color: rgba(0,0,0,0.12) !important;
}
.porque .porque-cta-strip strong { color: #0A0A0A !important; }
.porque .porque-cta-strip span { color: #666 !important; }
.porque .porque-cta-strip .btn-primary {
  background: #0A0A0A !important;
  color: #FFF !important;
  border-color: #0A0A0A !important;
}
.porque .porque-cta-strip .btn-primary:hover {
  background: transparent !important;
  color: #0A0A0A !important;
}

/* ── PROCESSO SECÇÃO BRANCA ── */
.processo-bg {
  border-top-color: rgba(0,0,0,0.08) !important;
  border-bottom-color: rgba(0,0,0,0.08) !important;
}
.processo .step-num { color: #888 !important; }
.processo .step-icon {
  border-color: rgba(0,0,0,0.15) !important;
  background: #FFFFFF !important;
  color: rgba(0,0,0,0.4) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.processo-step:hover .step-icon {
  border-color: #0A0A0A !important;
  color: #0A0A0A !important;
  box-shadow: 0 0 24px rgba(0,0,0,0.12) !important;
}
.processo .step-title { color: #0A0A0A !important; }
.processo .step-desc { color: #555 !important; }
.processo .processo-arrow { color: rgba(0,0,0,0.2) !important; }

/* ── FAQ SECÇÃO BRANCA ── */
.faq .faq-item { border-color: rgba(0,0,0,0.1) !important; }
.faq .faq-q {
  background: #FFFFFF !important;
  color: #0A0A0A !important;
}
.faq .faq-q:hover, .faq .faq-q.active { background: #ECECEC !important; }
.faq .faq-icon { color: #888 !important; }
.faq .faq-a {
  background: #ECECEC !important;
}
.faq .faq-a p { color: #555 !important; }
.faq .faq-cta {
  background: #FFFFFF !important;
  border-color: rgba(0,0,0,0.12) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}
.faq .faq-cta-icon { color: rgba(0,0,0,0.2) !important; }
.faq .faq-cta-title { color: #0A0A0A !important; }
.faq .faq-cta-title em { color: #666 !important; }
.faq .faq-cta-desc { color: #555 !important; }
.faq .faq-cta .btn-primary {
  background: #0A0A0A !important;
  color: #FFF !important;
  border-color: #0A0A0A !important;
}
.faq .faq-cta .btn-primary:hover {
  background: transparent !important;
  color: #0A0A0A !important;
}
.faq .faq-contact-strip {
  background: #ECECEC !important;
  border-color: rgba(0,0,0,0.1) !important;
}
.faq .faq-contact-item { color: rgba(0,0,0,0.3) !important; }
.faq .faq-contact-item strong { color: #0A0A0A !important; }
.faq .faq-contact-item span { color: #666 !important; }

/* ── REVEAL NAS SECÇÕES BRANCAS ── */
.sobre .reveal,
.porque .reveal,
.faq .reveal { color: inherit; }

/* ── TRANSIÇÃO SUAVE ENTRE SECÇÕES ── */
section {
  transition: background-color 0.1s ease;
}

/* ── SEPARADORES VISUAIS ── */
.sobre { border-top: 1px solid rgba(0,0,0,0.06); }
.servicos { border-top: 1px solid rgba(255,255,255,0.04); }
.porque { border-top: 1px solid rgba(0,0,0,0.06); }
.cobertura { border-top: 1px solid rgba(255,255,255,0.04); }
.processo { border-top: 1px solid rgba(0,0,0,0.06); }
.testemunhos { border-top: 1px solid rgba(255,255,255,0.04); }
.faq { border-top: 1px solid rgba(0,0,0,0.06); }
.contacto { border-top: 1px solid rgba(255,255,255,0.04); }

/* ── EFEITO DIAGONAL NAS TRANSIÇÕES ── */
.sobre::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom right, var(--black-4) 49.9%, transparent 50%);
  z-index: 1;
  pointer-events: none;
}

.porque::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom left, var(--black-4) 49.9%, transparent 50%);
  z-index: 1;
  pointer-events: none;
}

.processo-bg::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom right, var(--black-3) 49.9%, transparent 50%);
  z-index: 1;
  pointer-events: none;
}

.faq::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom left, var(--black-3) 49.9%, transparent 50%);
  z-index: 1;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════
   V5 — FIXES: NAVBAR MOBILE + TOPBAR OFFSET
═══════════════════════════════════════════════ */

/* ── TOPBAR SEMPRE VISÍVEL ── */
.topbar {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1001 !important;
}

.navbar {
  position: fixed !important;
  top: 38px !important;
}
.navbar.scrolled {
  top: 0 !important;
}

/* Compensar o espaço do topbar + navbar no topo da página */
body {
  padding-top: 104px !important;
}

/* Hero não precisa de padding-top pois é fullscreen */
.hero {
  margin-top: -104px;
}

/* ── MENU HAMBURGER — DRAWER LATERAL ── */

/* Overlay escuro por baixo do drawer */
.nav-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(4px);
  z-index: 997;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.nav-drawer-overlay.open {
  opacity: 1;
  pointer-events: all;
}

/* Drawer lateral — desliza da direita */
.nav-links {
  position: fixed !important;
  top: 0 !important; bottom: 0 !important;
  right: 0 !important; left: auto !important;
  width: 300px !important;
  background: #0A0A0A !important;
  border-left: 1px solid rgba(255,255,255,0.1) !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding: 100px 40px 40px !important;
  gap: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transform: translateX(100%) !important;
  transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94) !important;
  z-index: 998 !important;
  box-shadow: none;
}
.nav-links.open {
  pointer-events: all !important;
  transform: translateX(0%) !important;
  box-shadow: -20px 0 60px rgba(0,0,0,0.5) !important;
}

/* Links dentro do drawer */
.nav-links .nav-link {
  font-size: 13px !important;
  color: rgba(255,255,255,0.6) !important;
  padding: 14px 0 !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  letter-spacing: 0.14em !important;
  display: block !important;
  transition: color 0.3s, padding-left 0.3s !important;
}
.nav-links .nav-link:hover {
  color: #fff !important;
  padding-left: 8px !important;
}
.nav-links .nav-link::after { display: none !important; }

/* CTA dentro do drawer */
.nav-links .nav-cta-mobile {
  display: inline-flex !important;
  margin-top: 32px !important;
  padding: 13px 28px !important;
  background: #fff !important;
  color: #0A0A0A !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border: 1px solid #fff !important;
  transition: all 0.3s !important;
}
.nav-links .nav-cta-mobile:hover {
  background: transparent !important;
  color: #fff !important;
}

/* Logo no topo do drawer */
.nav-links .drawer-logo {
  position: absolute;
  top: 28px; left: 40px;
  font-size: 13px; font-weight: 700;
  color: rgba(255,255,255,0.9);
  letter-spacing: 0.04em;
}

/* ── HAMBURGER ANIMADO ── */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 6px;
  z-index: 999;
  cursor: pointer;
  width: 36px; height: 36px;
}
.nav-toggle span {
  display: block;
  width: 22px; height: 1.5px;
  background: var(--white);
  transition: all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
  transform-origin: center;
}

/* X animado */
.nav-toggle.open span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.nav-toggle.open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.nav-toggle.open span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ── STATS NO HERO — LINHA ÚNICA ── */
@media (min-width: 769px) {
  .hero-stats {
    flex-wrap: nowrap !important;
  }
  .hero-stat-div {
    display: block !important;
  }
}

/* ── TOPBAR OCULTO NO MOBILE ── */
@media (max-width: 920px) {
  .topbar {
    display: none !important;
  }
  .navbar {
    top: 0 !important;
  }
  body {
    padding-top: 66px !important;
  }
  .nav-toggle {
    display: flex !important;
  }
  .nav-cta {
    display: none !important;
  }
  /* Overlay aparece no mobile */
  .nav-drawer-overlay {
    display: block;
  }
}

/* ═══════════════════════════════════════════════
   V6 — FIX: NAV LINKS DESKTOP + SOCIAL DESTACADOS
═══════════════════════════════════════════════ */

/* ── RESTAURAR NAV LINKS EM DESKTOP ── */
@media (min-width: 921px) {
  .nav-links {
    position: static !important;
    top: auto !important; bottom: auto !important;
    right: auto !important; left: auto !important;
    width: auto !important;
    background: transparent !important;
    border-left: none !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    gap: 32px !important;
    opacity: 1 !important;
    pointer-events: all !important;
    transform: none !important;
    transition: none !important;
    box-shadow: none !important;
  }

  .nav-links .nav-link {
    font-size: 11px !important;
    color: var(--silver) !important;
    padding: 0 !important;
    width: auto !important;
    border-bottom: none !important;
    letter-spacing: 0.1em !important;
    display: inline !important;
    transition: color 0.3s !important;
  }
  .nav-links .nav-link:hover { color: var(--white) !important; padding-left: 0 !important; }
  .nav-links .nav-link::after { display: block !important; }

  .nav-links .nav-cta-mobile { display: none !important; }
  .nav-links .drawer-logo { display: none !important; }
  .nav-toggle { display: none !important; }
  .nav-cta { display: inline-flex !important; }
  .nav-drawer-overlay { display: none !important; }
}

/* ── TOPBAR SOCIALS — MAIS DESTACADOS ── */
.topbar-socials {
  display: flex;
  gap: 4px !important;
  padding-left: 16px;
  border-left: 1px solid rgba(255,255,255,0.1);
}

.topbar-social {
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.7) !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,0.04) !important;
  transition: all 0.3s ease !important;
  letter-spacing: 0 !important;
}
.topbar-social:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.4) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Facebook */
.topbar-social:nth-child(1):hover { background: rgba(24,119,242,0.2) !important; border-color: rgba(24,119,242,0.5) !important; color: #4A90D9 !important; }
/* Instagram */
.topbar-social:nth-child(2):hover { background: rgba(225,48,108,0.2) !important; border-color: rgba(225,48,108,0.5) !important; color: #E1306C !important; }
/* LinkedIn */
.topbar-social:nth-child(3):hover { background: rgba(10,102,194,0.2) !important; border-color: rgba(10,102,194,0.5) !important; color: #0A66C2 !important; }

/* ── FOOTER SOCIALS — MAIS DESTACADOS ── */
.footer-social { gap: 10px !important; }

.social-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.6) !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}
.social-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4) !important;
}
/* Facebook */
.footer-social a:nth-child(1):hover {
  background: rgba(24,119,242,0.15) !important;
  border-color: rgba(24,119,242,0.4) !important;
  color: #4A90D9 !important;
}
/* Instagram */
.footer-social a:nth-child(2):hover {
  background: rgba(225,48,108,0.15) !important;
  border-color: rgba(225,48,108,0.4) !important;
  color: #E1306C !important;
}
/* LinkedIn */
.footer-social a:nth-child(3):hover {
  background: rgba(10,102,194,0.15) !important;
  border-color: rgba(10,102,194,0.4) !important;
  color: #0A66C2 !important;
}

/* ── LOGO FIX — IMAGEM NÃO CORTADA ── */
.nav-logo-img {
  min-width: 40px !important;
  min-height: 40px !important;
}

/* ═══════════════════════════════════════════════
   V8 — FIX NAVBAR SEMPRE VISÍVEL
═══════════════════════════════════════════════ */

/* Topbar fixo no topo */
.topbar {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1002 !important;
  height: 38px;
}

/* Navbar logo abaixo do topbar */
.navbar {
  position: fixed !important;
  top: 38px !important;
  z-index: 1001 !important;
}

/* Quando faz scroll — topbar some, navbar sobe */
.navbar.scrolled {
  top: 0 !important;
}

/* Compensar espaço no topo da página */
body {
  padding-top: 104px !important; /* 38px topbar + 66px navbar */
}

/* Hero fullscreen — começa por baixo do topbar+navbar */
.hero {
  margin-top: -104px !important;
  padding-top: 104px !important;
}

/* Mobile — sem topbar */
@media (max-width: 920px) {
  .topbar {
    display: none !important;
  }
  .navbar {
    top: 0 !important;
  }
  body {
    padding-top: 66px !important;
  }
  .hero {
    margin-top: -66px !important;
    padding-top: 66px !important;
  }
}

/* ═══════════════════════════════════════════════
   V9 — REMOVER EFEITOS DIAGONAIS · SOCIAL SVG
═══════════════════════════════════════════════ */

/* ── REMOVER TODOS OS EFEITOS DIAGONAIS ── */
.sobre::before,
.porque::before,
.processo-bg::before,
.faq::before {
  display: none !important;
  content: none !important;
}

/* ── TRANSIÇÃO LIMPA ENTRE SECÇÕES ── */
.sobre,
.porque,
.processo-bg,
.faq {
  border-top: none !important;
}

/* Separador subtil apenas com linha fina */
.sobre { border-top: 1px solid rgba(0,0,0,0.06) !important; }
.servicos { border-top: 1px solid rgba(255,255,255,0.04) !important; }
.porque { border-top: 1px solid rgba(0,0,0,0.06) !important; }
.cobertura { border-top: 1px solid rgba(255,255,255,0.04) !important; }
.processo { border-top: 1px solid rgba(0,0,0,0.04) !important; }
.testemunhos { border-top: 1px solid rgba(255,255,255,0.04) !important; }
.faq { border-top: 1px solid rgba(0,0,0,0.06) !important; }
.contacto { border-top: 1px solid rgba(255,255,255,0.04) !important; }

/* ── TOPBAR SOCIAL SVG ── */
.topbar-social {
  width: 26px !important;
  height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,0.04) !important;
  color: rgba(255,255,255,0.6) !important;
  transition: all 0.3s ease !important;
  font-size: 0 !important;
}
.topbar-social svg { width: 13px; height: 13px; display: block; }
.topbar-social:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.35) !important;
  color: var(--white) !important;
  transform: translateY(-1px) !important;
}

/* ── FOOTER SOCIAL SVG ── */
.social-btn {
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.04) !important;
  color: rgba(255,255,255,0.5) !important;
  transition: all 0.3s ease !important;
  font-size: 0 !important;
}
.social-btn svg { width: 15px; height: 15px; display: block; }
.social-btn:hover {
  border-color: rgba(255,255,255,0.3) !important;
  background: rgba(255,255,255,0.1) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

/* ── SERVIÇOS GRID — 3 COLUNAS PARA 7 CARDS ── */
@media (min-width: 769px) {
  .servicos-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
/* Último card centrado se ficar sozinho */
.servico-card:last-child:nth-child(3n+1) {
  grid-column: 2;
}

/* Fix ícones sociais SVG */
.topbar-social svg,
.social-btn svg {
  fill: currentColor;
  display: block;
  flex-shrink: 0;
}

.topbar-social {
  color: rgba(255,255,255,0.6);
}

.topbar-social:hover {
  color: #ffffff;
}

.social-btn {
  color: rgba(255,255,255,0.5);
}

.social-btn:hover {
  color: #ffffff;
}
