:root{
  --orange:#FF6B00;
  --orange-light:#FF8C00; /* Web search confirms #FF8C00 is DarkOrange */
  --orange-dark:#E05A00;
  --black:#0D0D0D;
  --dark:#161616;
  --dark2:#1E1E1E;
  --dark3:#262626;
  --dark4:#2E2E2E;
  --white:#FFFFFF;
  --text-muted:rgba(255,255,255,0.55);
  --text-soft:rgba(255,255,255,0.75);
  --border:rgba(255,255,255,0.08);
  --border-orange:rgba(255,107,0,0.25);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--dark);color:var(--white);overflow-x:hidden;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--dark);}
::-webkit-scrollbar-thumb{background:var(--orange);border-radius:3px;}

/* ANIMAÇÕES */
@keyframes zoomBg{from{transform:scale(1);}to{transform:scale(1.06);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}
@keyframes lineGrow{to{transform:scaleX(1);}}
@keyframes scrollDot{0%{transform:translateY(0);opacity:1;}100%{transform:translateY(10px);opacity:0;}}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes fadeUpAnim{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* SHARED */
section{padding:90px 40px;}
.container{max-width:1200px;margin:0 auto;}
.sec-lbl{display:inline-flex;align-items:center;gap:8px;color:var(--orange);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;}
.sec-lbl::before{content:'';width:20px;height:2px;background:var(--orange);border-radius:2px;}
.sec-title{font-size:clamp(26px,3.5vw,42px);font-weight:900;line-height:1.15;margin-bottom:16px;}
.hl{color:var(--orange);}
.sec-desc{font-size:16px;color:var(--text-muted);line-height:1.7;max-width:560px;}
.fade-up{opacity:0;transform:translateY(24px);transition:all .6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 40px;height:70px;display:flex;align-items:center;justify-content:space-between;background:rgba(13,13,13,0.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-orange);transition:all .3s;}
nav.scrolled{background:rgba(13,13,13,0.99);}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-logo-icon{width:142px;height:82px;background:var;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#fff;overflow:hidden;}
.nav-logo-icon img{width:100%;height:100%;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.1;}
.nav-logo-text span:first-child{font-size:17px;font-weight:800;color:#fff;letter-spacing:1px;}
.nav-logo-text span:last-child{font-size:10px;font-weight:600;color:var(--orange);letter-spacing:3px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none;}
.nav-links a{color:var(--text-soft);text-decoration:none;font-size:14px;font-weight:500;transition:color .3s;}
.nav-links a:hover{color:var(--orange);}
.nav-cta{background:var(--orange)!important;color:#fff!important;padding:9px 20px!important;border-radius:8px;font-weight:700!important;transition:all .3s!important;}
.nav-cta:hover{background:var(--orange-light)!important;box-shadow:0 4px 16px rgba(255,107,0,.4);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px;}
.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s;}
.mob-menu{display:none;position:fixed;top:70px;left:0;right:0;background:rgba(13,13,13,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-orange);padding:20px 32px;z-index:999;flex-direction:column;gap:2px;}
.mob-menu.open{display:flex;}
.mob-menu a{color:var(--text-soft);text-decoration:none;font-size:16px;font-weight:500;padding:12px 0;border-bottom:1px solid var(--border);transition:color .3s;cursor:pointer;}
.mob-menu a:hover{color:var(--orange);}
.mob-menu .wl{color:#25D366!important;}

/* HERO */
.hero{min-height:90vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:100px 40px 80px;}
.hero-bg-img{position:absolute;inset:0;background-image:url('../img/hero-bg.png');background-size:cover;background-position:center;animation:zoomBg 18s ease-in-out infinite alternate;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,13,13,0.88) 0%,rgba(13,13,13,0.65) 55%,rgba(13,13,13,0.78) 100%);z-index:1;}
.hero-overlay-orange{position:absolute;inset:0;background:radial-gradient(ellipse 55% 75% at 0% 50%,rgba(255,107,0,0.14) 0%,transparent 70%);z-index:2;}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,107,0,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,107,0,0.04) 1px,transparent 1px);background-size:60px 60px;z-index:3;}
.hero-wrap{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center;position:relative;z-index:10;}
.hero-content{}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,107,0,.12);border:1px solid rgba(255,107,0,.35);padding:8px 16px;border-radius:100px;font-size:13px;font-weight:600;color:var(--orange);margin-bottom:24px;animation:fadeUp .6s ease both;}
.hero-title{font-size:clamp(38px,5vw,66px);font-weight:900;line-height:1.05;margin-bottom:20px;animation:fadeUp .6s ease .1s both;}
.hero-title .hl{position:relative;}
.hero-title .hl::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:3px;background:var(--orange);border-radius:2px;transform:scaleX(0);transform-origin:left;animation:lineGrow .8s ease .9s forwards;}
.hero-sub{font-size:17px;color:rgba(255,255,255,.8);line-height:1.65;margin-bottom:32px;max-width:500px;animation:fadeUp .6s ease .2s both;}
.hero-sub strong{color:#fff;}
.hero-stats{display:flex;gap:14px;margin-bottom:36px;animation:fadeUp .6s ease .3s both;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 20px;backdrop-filter:blur(10px);}
.stat-n{font-size:26px;font-weight:900;color:var(--orange);}
.stat-l{font-size:11px;color:rgba(255,255,255,.55);margin-top:2px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp .6s ease .4s both;}
.hero-scroll-indicator{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;}
.hero-scroll-indicator span{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6);}
.scroll-mouse{width:22px;height:36px;border:2px solid rgba(255,255,255,.25);border-radius:11px;display:flex;align-items:flex-start;justify-content:center;padding-top:5px;}
.scroll-dot{width:3px;height:7px;background:var(--orange);border-radius:2px;animation:scrollDot 1.5s ease-in-out infinite;}

/* BOTÕES */
.btn-p{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff;padding:15px 26px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .3s;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(255,107,0,.45);font-family:inherit;}
.btn-p:hover{background:var(--orange-light);transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,107,0,.55);}
.btn-s{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);padding:15px 26px;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s;border:1px solid rgba(255,255,255,.2);}
.btn-s:hover{border-color:var(--orange);color:var(--orange);background:rgba(255,107,0,.08);}
.btn-w{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:15px 26px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .3s;}
.btn-w:hover{background:#1db954;transform:translateY(-2px);}

/* FORM CARD */
.form-card{background:rgba(22,22,22,.92);border:1px solid var(--border-orange);border-radius:20px;padding:32px;backdrop-filter:blur(24px);animation:fadeRight .8s ease .3s both;position:relative;overflow:hidden;}
.form-card-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-light));}
.form-ttl{font-size:19px;font-weight:800;margin-bottom:6px;}
.form-sub{font-size:13px;color:var(--text-muted);margin-bottom:22px;}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:11px;font-weight:700;color:rgba(255,255,255,.55);margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px;}
.fg input,.fg select,.fg textarea{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;padding:12px 15px;border-radius:10px;font-size:14px;font-family:inherit;transition:all .3s;outline:none;-webkit-appearance:none;appearance:none;}
.fg select option{background:#1e1e1e;color:#fff;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--orange);background:rgba(255,107,0,.07);box-shadow:0 0 0 3px rgba(255,107,0,.12);}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.25);}
.fg textarea{min-height:90px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.btn-form{width:100%;background:var(--orange);color:#fff;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;box-shadow:0 4px 16px rgba(255,107,0,.35);margin-top:4px;}
.btn-form:hover{background:var(--orange-light);transform:translateY(-1px);}
.btn-form:disabled{opacity:.65;cursor:not-allowed;transform:none;}
.form-disc{font-size:11px;color:rgba(255,255,255,.3);text-align:center;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--dark2);border:1px solid var(--border-orange);border-radius:20px;padding:36px;width:100%;max-width:460px;position:relative;animation:fadeUpAnim .4s ease both;max-height:90vh;overflow-y:auto;}
.modal-box-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-light));border-radius:20px 20px 0 0;}
.modal-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.07);border:none;color:rgba(255,255,255,.5);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .3s;}
.modal-close:hover{background:rgba(255,107,0,.2);color:var(--orange);}
.modal-ttl{font-size:20px;font-weight:800;margin-bottom:6px;}
.modal-sub{font-size:13px;color:var(--text-muted);margin-bottom:22px;}

/* TICKER (Seção de Logos) */
.ticker{background:var(--dark2);overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 0;}
.ticker-inner{display:flex;align-items:center;animation:ticker 35s linear infinite;white-space:nowrap;}
.ticker-inner:hover{animation-play-state:paused;}
.tk-logo{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border-right:1px solid var(--border);flex-shrink:0;transition:all .3s;cursor:default;}
.tk-logo:hover{background:rgba(255,107,0,.05);}
.tk-logo span{font-size:13px;font-weight:700;color:rgba(255,255,255,.35);transition:color .3s;letter-spacing:.5px;}
.tk-logo:hover span{color:var(--orange);}
.tk-logo img { /* NOVO: Estilo para as imagens dos logos */
  max-height: 40px; /* Ajuste a altura máxima dos logos */
  width: auto;
  filter: grayscale(100%) brightness(150%); /* Exemplo: logos em tons de cinza */
  opacity: 0.7;
  transition: all 0.3s ease;
}
.tk-logo img:hover {
  filter: grayscale(0%) brightness(100%);
  opacity: 1;
}


/* NOSSOS PRODUTOS (Seção de Coberturas) */
.seg-sec{background:var(--dark);padding:90px 40px;}
.seg-hdr{text-align:center;margin-bottom:56px;}
.seg-hdr .sec-desc{margin:0 auto;}

/* ALTERADO: Regras para .seg-grid para 3 colunas */
/* NOSSOS PRODUTOS (Seção de Coberturas) */
.seg-sec{background:var(--dark);padding:90px 40px;}
.seg-hdr{text-align:center;margin-bottom:56px;}
.seg-hdr .sec-desc{margin:0 auto;}

/* Regras para .seg-grid para 3 colunas */
.seg-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr); /* 3 colunas em telas grandes */
  gap:20px;
  margin-top: 50px; /* Espaçamento do título */
}

.seg-card{
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden; /* Garante que a imagem não vaze do card */
  cursor:pointer;
  transition:all .3s;
  position:relative;
  display:flex; /* Usa flexbox para o conteúdo interno do card */
  flex-direction:column; /* Conteúdo em coluna */
  /* Removido justify-content e align-items aqui para permitir o layout de imagem no topo */
  text-align:center; /* Centraliza o texto */
  height:100%; /* Garante que todos os cards na mesma linha tenham a mesma altura */
}
.seg-card:hover{border-color:var(--border-orange);transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.4);}

.seg-img-wrap{
  position:relative;
  height:160px; /* Altura fixa para o wrap da imagem, ajuste conforme necessário */
  width:100%; /* Ocupa a largura total do card */
  overflow:hidden; /* Garante que a imagem não vaze */
  background:var(--dark3); /* Cor de fundo caso a imagem não carregue */
  display:flex; /* Para centralizar a imagem se ela for menor que o wrap */
  align-items:center;
  justify-content:center;
}
.seg-img-wrap img{
  width:100%; /* A imagem ocupa 100% da largura do wrap */
  height:100%; /* A imagem ocupa 100% da altura do wrap */
  object-fit:cover; /* NOVO: Garante que a imagem cubra todo o espaço, cortando se necessário */
  transition:transform .4s;
}
.seg-card:hover .seg-img-wrap img{transform:scale(1.07);}
.seg-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--orange);opacity:.4;}
.seg-badge{position:absolute;top:10px;left:10px;background:var(--orange);color:#fff;font-size:10px;font-weight:800;padding:4px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.5px;z-index:2;}

.seg-body{
  padding:20px; /* Padding interno para o corpo do card */
  display:flex; /* Usa flexbox para o conteúdo do body */
  flex-direction:column;
  align-items:center; /* Centraliza o conteúdo do body */
  flex-grow:1; /* Permite que o body ocupe o espaço restante */
}
.seg-icon{
  width:38px;height:38px;
  background:rgba(255,107,0,.12);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  color:var(--orange);font-size:16px;
  margin-bottom:12px;
}
.seg-body h3{font-size:15px;font-weight:800;margin-bottom:8px;}
.seg-body p{font-size:13px;color:var(--text-muted);line-height:1.55;margin-bottom:14px; flex-grow: 1;}
.seg-cta{display:inline-flex;align-items:center;gap:6px;color:var(--orange);font-size:13px;font-weight:700;transition:gap .3s; margin-top: auto;}
.seg-card:hover .seg-cta{gap:10px;}

/* Media Queries para responsividade dos cards de cobertura */
@media(max-width:1100px){
  /* Esta regra já existe no seu CSS, apenas garantindo que esteja correta */
  .seg-grid{grid-template-columns:repeat(2,1fr);} /* 2 colunas em telas médias */
}
@media(max-width:768px){
  /* Esta regra já existe no seu CSS, apenas garantindo que esteja correta */
  .seg-grid{grid-template-columns:1fr;} /* 1 coluna em telas pequenas */
}

/* DIFERENCIAIS */
.dif-sec{background:var(--dark2);padding:90px 40px;}
.dif-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.dif-left .sec-desc{margin-bottom:0;}
.dif-list{margin-top:36px;display:flex;flex-direction:column;gap:24px;}
.dif-item{display:flex;gap:16px;align-items:flex-start;}
.dif-ico{width:44px;height:44px;background:rgba(255,107,0,.1);border:1px solid var(--border-orange);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:18px;flex-shrink:0;}
.dif-txt h4{font-size:15px;font-weight:700;margin-bottom:4px;}
.dif-txt p{font-size:13px;color:var(--text-muted);line-height:1.6;}
.v-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
.v-card{background:var(--dark3);border:1px solid var(--border);border-radius:16px;padding:24px;text-align:center;transition:border-color .3s;}
.v-card:hover{border-color:var(--border-orange);}
.v-num{font-size:36px;font-weight:900;color:var(--orange);}
.v-lbl{font-size:12px;color:var(--text-muted);margin-top:4px;}
.dif-box{background:rgba(255,107,0,.07);border:1px solid var(--border-orange);border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:16px;}
.dif-box i{font-size:26px;color:var(--orange);flex-shrink:0;}
.dif-box strong{display:block;font-size:14px;font-weight:700;margin-bottom:3px;}
.dif-box span{font-size:13px;color:var(--text-muted);}

/* COMO FUNCIONA */
.como-sec{background:var(--dark);}
.como-hdr{text-align:center;margin-bottom:60px;}
.como-hdr .sec-desc{margin:0 auto;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.steps::before{content:'';position:absolute;top:38px;left:calc(12.5% + 16px);right:calc(12.5% + 16px);height:1px;background:linear-gradient(90deg,var(--orange),rgba(255,107,0,.15));z-index:0;}
.step{text-align:center;position:relative;z-index:1;}
.step-circle{width:76px;height:76px;background:var(--dark2);border:2px solid var(--border-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;font-size:26px;color:var(--orange);transition:all .3s;}
.step:hover .step-circle{background:rgba(255,107,0,.1);border-color:var(--orange);transform:scale(1.05);}
.step-n{position:absolute;top:-5px;right:-5px;width:20px;height:20px;background:var(--orange);border-radius:50%;font-size:10px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;}
.step-title{font-size:15px;font-weight:700;margin-bottom:8px;}
.step-desc{font-size:13px;color:var(--text-muted);line-height:1.6;}

/* DEPOIMENTOS */
.dep-sec{background:var(--dark2);}
.dep-hdr{text-align:center;margin-bottom:56px;}
.dep-hdr .sec-desc{margin:0 auto;}
.dep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.dep-card{background:var(--dark3);border:1px solid var(--border);border-radius:20px;padding:28px;transition:all .3s;}
.dep-card:hover{border-color:var(--border-orange);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.3);}
.dep-quote{font-size:56px;font-weight:900;color:var(--orange);opacity:.25;line-height:.8;margin-bottom:12px;}
.dep-stars{color:#FFB800;font-size:13px;margin-bottom:12px;display:flex;gap:3px;}
.dep-text{font-size:14px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:20px;}
.dep-author{display:flex;align-items:center;gap:12px;}
.dep-av{width:40px;height:40px;background:rgba(255,107,0,.15);border:1px solid var(--border-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--orange);flex-shrink:0;}
.dep-info h5{font-size:14px;font-weight:700;}
.dep-info span{font-size:12px;color:var(--text-muted);}

/* CTA */
.cta-sec{background:linear-gradient(135deg,rgba(255,107,0,.12) 0%,rgba(255,107,0,.04) 100%),var(--dark);border-top:1px solid var(--border-orange);border-bottom:1px solid var(--border-orange);padding:80px 40px;}
.cta-inner{max-width:680px;margin:0 auto;text-align:center;}
.cta-title{font-size:clamp(26px,4vw,42px);font-weight:900;margin-bottom:16px;line-height:1.2;}
.cta-desc{font-size:16px;color:var(--text-muted);margin-bottom:36px;line-height:1.6;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-cta-orange{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff;padding:15px 28px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .3s;border:none;cursor:pointer;font-family:inherit;box-shadow:0 4px 20px rgba(255,107,0,.4);}
.btn-cta-orange:hover{background:var(--orange-light);transform:translateY(-2px);}
.btn-cta-wa{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:15px 28px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .3s;}
.btn-cta-wa:hover{background:#1db954;transform:translateY(-2px);}

/* CONTATO */
.cont-sec{background:var(--dark);}
.cont-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.cont-info p{font-size:15px;color:var(--text-muted);line-height:1.7;margin-bottom:32px;}
.cont-list{display:flex;flex-direction:column;gap:16px;}
.cont-item{display:flex;align-items:center;gap:14px;}
.cont-ico{width:42px;height:42px;background:rgba(255,107,0,.08);border:1px solid var(--border-orange);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:17px;flex-shrink:0;}
.cont-txt h5{font-size:14px;font-weight:700;margin-bottom:2px;}
.cont-txt span{font-size:13px;color:var(--text-muted);}
.cont-form-box{background:var(--dark2);border:1px solid var(--border);border-radius:20px;padding:32px;}
.cont-form-box h4{font-size:18px;font-weight:800;margin-bottom:24px;}
/* SEÇÃO: FAQ */
.faq-list {
  max-width: 800px; /* Limita a largura da lista de FAQ */
  margin: 50px auto 0; /* Centraliza a lista e adiciona margem superior */
}

.faq-item {
  background: var(--dark2); /* Cor de fundo do item */
  border: 1px solid var(--border); /* Borda do item */
  border-radius: 12px; /* Borda arredondada */
  margin-bottom: 15px; /* Espaçamento entre os itens */
  overflow: hidden; /* Garante que o conteúdo não vaze */
  transition: all 0.3s ease; /* Transição suave para hover */
}

.faq-item:hover {
  border-color: var(--border-orange); /* Borda laranja no hover */
}

.faq-question {
  padding: 20px; /* Espaçamento interno da pergunta */
  cursor: pointer; /* Indica que é clicável */
  display: flex; /* Para alinhar o texto e o ícone */
  justify-content: space-between; /* Espaça o texto e o ícone */
  align-items: center; /* Alinha verticalmente */
  font-weight: 600; /* Negrito */
  font-size: 18px; /* Tamanho da fonte */
  color: var(--white); /* Cor do texto */
  transition: all 0.3s ease; /* Transição suave */
}

.faq-question i {
  transition: transform 0.3s ease; /* Transição para o ícone de seta */
  font-size: 16px; /* Tamanho do ícone */
  color: var(--text-muted); /* Cor do ícone */
}

.faq-item.open .faq-question i {
  transform: rotate(180deg); /* Gira o ícone quando a resposta está aberta */
  color: var(--orange); /* Cor do ícone quando aberto */
}

.faq-answer {
  padding: 0 20px 20px; /* Espaçamento interno da resposta */
  font-size: 15px; /* Tamanho da fonte */
  color: var(--text-soft); /* Cor do texto */
  display: none; /* Esconde a resposta por padrão */
  line-height: 1.6; /* Altura da linha */
}

/* Remova os estilos inline que estavam no HTML para o FAQ */
/* Exemplo:
.faq-list[style],
.faq-item[style],
.faq-question[style],
.faq-answer[style] {
  all: unset;
}
*/

/* FOOTER */
footer{background:var(--black);padding:60px 0 30px;border-top:1px solid var(--border);}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr; /* Proporção: Logo (maior), Navegação, Fale Conosco */
  gap:50px;
  margin-bottom:40px; /* Espaçamento entre as colunas e a nova seção legal */
  align-items: flex-start; /* Alinha o topo das colunas */
}
.footer-brand p{font-size:15px;color:var(--text-muted);margin-top:20px;max-width:350px;}
.footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.footer-logo-icon{width:50px;height:50px;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;} /* Fundo removido e tamanho ajustado */
.footer-logo-icon img{width:100%;height:100%;object-fit:contain;} /* Ajuste para o logo */
.footer-logo-text{display:flex;flex-direction:column;font-size:20px;font-weight:700;line-height:1;color:var(--white);}
.footer-logo-text span:first-child{color:var(--white);}
.footer-logo-text span:last-child{color:var(--orange);font-size:16px;}
.footer-social{display:flex;gap:15px;margin-top:25px;}
.soc-btn{width:40px;height:40px;background:var(--dark3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:18px;transition:all 0.3s ease;}
.soc-btn:hover{background:var(--orange);color:var(--white);}
.footer-col h5{font-size:18px;font-weight:700;margin-bottom:20px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{color:var(--text-muted);text-decoration:none;font-size:15px;transition:color 0.3s ease;display:flex;align-items:center;gap:8px;}
.footer-col ul li a:hover{color:var(--orange);}

/* REMOVIDO: .footer-bottom - esta classe não será mais usada */

/* NOVO ESTILO PARA AS INFORMAÇÕES LEGAIS E COPYRIGHT */
.footer-legal-info {
  border-top:1px solid var(--border); /* Linha divisória */
  padding-top:30px;
  margin-top:30px; /* Espaçamento acima da seção */
  text-align: center; /* Centraliza o texto */
  font-size: 14px;
  color: var(--text-muted);
}
.footer-legal-info p {
  margin-bottom: 5px; /* Espaçamento entre os parágrafos */
  line-height: 1.4;
}
.footer-legal-info p:last-child {
  margin-bottom: 0; /* Remove margem do último parágrafo */
}

/* Ajustes para o Footer (revisados) */
.footer-region-text {
  font-size: 14px;
  color: var(--text-muted);
  margin-top: 10px;
  max-width: 350px;
}

.susep-text {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 5px;
}

/* RESPONSIVIDADE */
@media (max-width: 1024px) {
  .footer-grid{
    grid-template-columns:1fr 1fr; /* Em telas médias, 2 colunas */
    gap: 30px;
  }
  .footer-brand{grid-column:1/3;text-align:center;} /* Logo e descrição ocupam as 2 colunas */
  .footer-logo{justify-content:center;}
  .footer-social{justify-content:center;}
  .footer-legal-info {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .footer-grid{grid-template-columns:1fr;} /* Em telas pequenas, 1 coluna */
  .footer-brand{grid-column:auto;text-align:center;}
  .footer-col{text-align:center;}
  .footer-col ul li a{justify-content:center;}
  .footer-legal-info {
    text-align: center;
  }
  .footer-region-text,
  .susep-text {
    text-align: center;
    max-width: none;
  }
}

/* WA FLUTUANTE */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:500;}
.wa-float a{display:flex;align-items:center;justify-content:center;width:58px;height:58px;background:#25D366;border-radius:50%;color:#fff;font-size:26px;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,.5);transition:all .3s;animation:pulse 2.5s infinite;}
.wa-float a:hover{background:#1db954;transform:scale(1.1);}
@keyframes pulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.5);}50%{box-shadow:0 4px 32px rgba(37,211,102,.8);}}

/* ANIMAÇÕES */
@keyframes zoomBg{from{transform:scale(1);}to{transform:scale(1.08);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}
@keyframes lineGrow{to{transform:scaleX(1);}}
@keyframes scrollDot{0%{transform:translateY(0);opacity:1;}100%{transform:translateY(12px);opacity:0;}}
@keyframes fadeUpAnim{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero-wrap{grid-template-columns:1fr;max-width:620px;}
  .form-card{display:none;}
  /* ALTERADO: seg-grid para 2 colunas em telas médias */
  .seg-grid{grid-template-columns:repeat(2,1fr);}
  .dif-inner{grid-template-columns:1fr;gap:48px;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .steps::before{display:none;}
  .dep-grid{grid-template-columns:repeat(2,1fr);}
  .cont-grid{grid-template-columns:1fr;gap:40px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  section,.seg-sec,.dif-sec,.como-sec,.dep-sec,.cta-sec,.cont-sec{padding:60px 20px;}
  .hero{padding:90px 20px 60px;}
  /* ALTERADO: seg-grid para 1 coluna em telas pequenas */
  .seg-grid{grid-template-columns:1fr;}
  .dep-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  footer{padding:40px 20px 20px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .cta-btns{flex-direction:column;align-items:center;}
}
@media(max-width:480px){
  .steps{grid-template-columns:1fr;}
  .hero-stats{flex-direction:column;}
  .hero-btns{flex-direction:column;}
}

/* ==========================================================================
   NOVAS REGRAS E SOBRESCRITAS PARA seguro-auto.html
   ========================================================================== */

/* Ajustes para o Hero da página Seguro Auto */
.hero-seguro-auto {
  min-height: 800px; /* Ajuste esta altura conforme o desejado */
  height: auto; /* Garante que a altura se ajuste ao conteúdo se min-height for excedido */
  position: relative; /* Importante para o posicionamento absoluto dos elementos internos */
  overflow: hidden; /* Para evitar barras de rolagem indesejadas */
  display: flex; /* Usa flexbox para melhor alinhamento do conteúdo */
  align-items: center; /* Centraliza o conteúdo verticalmente */
  justify-content: center; /* Centraliza o conteúdo horizontalmente */
  padding-top: 80px; /* Adiciona padding para afastar do topo */
  padding-bottom: 80px; /* Adiciona padding para afastar da base */
}

/* Imagem de fundo específica para o Hero da página Seguro Auto */
.hero-seguro-auto .hero-bg-img.seguro-auto-bg {
  background-image: url('../img/hero-seguro-auto.png') !important;
  background-repeat: no-repeat;
  background-position: center 70% !important; /* ALTERADO: Desce ainda mais a imagem (ajuste o valor conforme necessário) */
  background-size: cover;
  background-attachment: scroll !important;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: none !important;
}

/* Garante que os overlays e o conteúdo fiquem acima da imagem de fundo */
.hero-seguro-auto .hero-overlay,
.hero-seguro-auto .hero-overlay-orange {
  z-index: 2; /* Acima da imagem de fundo */
}

.hero-seguro-auto .hero-wrap {
  position: relative; /* Necessário para que o z-index funcione */
  z-index: 3; /* Acima dos overlays */
  display: flex; /* Usa flexbox para alinhar o hero-content e form-card */
  flex-wrap: wrap; /* Permite que os itens quebrem a linha em telas menores */
  align-items: center; /* Alinha os itens verticalmente */
  justify-content: space-around; /* Distribui o espaço entre os itens */
  width: 100%; /* Ocupa a largura total do container */
  max-width: 1200px; /* Limita a largura máxima do conteúdo */
  margin: 0 auto; /* Centraliza o hero-wrap */
  padding: 20px; /* Adiciona um padding interno */
}

/* Ajuste o posicionamento do formulário dentro do Hero */
.hero-seguro-auto .form-card {
  margin-top: 0; /* Remove margens superiores que possam estar empurrando o formulário para baixo */
  margin-bottom: 0; /* Remove margens inferiores */
  max-width: 400px; /* Limita a largura do formulário */
  width: 100%; /* Garante que o formulário ocupe a largura disponível */
}

/* Ajustes para o hero-content para melhor distribuição */
.hero-seguro-auto .hero-content {
  max-width: 500px; /* Limita a largura do conteúdo textual */
  text-align: left; /* Alinha o texto à esquerda */
  margin-right: 30px; /* Espaçamento entre o conteúdo e o formulário */
}

/* Media Queries para o Hero-wrap em telas menores */
@media (max-width: 1100px) { /* Usando o breakpoint que você já tem */
  .hero-seguro-auto .hero-wrap {
    flex-direction: column; /* Empilha o conteúdo e o formulário */
    text-align: center;
  }
  .hero-seguro-auto .hero-content {
    margin-right: 0;
    margin-bottom: 40px; /* Espaçamento entre o conteúdo e o formulário */
    max-width: 100%;
  }
  .hero-seguro-auto .hero-title,
  .hero-seguro-auto .hero-sub {
    text-align: center;
  }
  .hero-seguro-auto .hero-btns {
    justify-content: center; /* Centraliza os botões */
  }
  .hero-seguro-auto .form-card {
    display: block; /* Garante que o formulário apareça em telas menores se ele foi ocultado */
  }
}

/* NOVO: Estilos para a seção de seguradoras parceiras (movida para fora do Hero) */
/* A classe 'ticker' já existe e está funcionando, apenas ajustamos o estilo das imagens */
.ticker {
  padding: 40px 0; /* Espaçamento superior e inferior */
  background-color: var(--dark); /* Cor de fundo, ajuste conforme seu tema */
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* Media Queries para o ticker de logos em telas menores */
@media (max-width: 767px) {
  .ticker .tk-logo {
    margin-right: 20px; /* Menos espaçamento entre logos em telas pequenas */
    height: 40px;
  }
  .ticker {
    padding: 20px 0;
  }
}
/* ==========================================================================
   NOVAS REGRAS E SOBRESCRITAS PARA seguro-vida.html
   ========================================================================== */

/* Ajustes para o Hero da página Seguro de Vida */
.hero-seguro-vida {
  min-height: 800px; /* Ajuste esta altura conforme o desejado */
  height: auto; /* Garante que a altura se ajuste ao conteúdo se min-height for excedido */
  position: relative; /* Importante para o posicionamento absoluto dos elementos internos */
  overflow: hidden; /* Para evitar barras de rolagem indesejadas */
  display: flex; /* Usa flexbox para melhor alinhamento do conteúdo */
  align-items: center; /* Centraliza o conteúdo verticalmente */
  justify-content: center; /* Centraliza o conteúdo horizontalmente */
  padding-top: 80px; /* Adiciona padding para afastar do topo */
  padding-bottom: 80px; /* Adiciona padding para afastar da base */
}

/* Imagem de fundo específica para o Hero da página Seguro de Vida */
.hero-seguro-vida .hero-bg-img.seguro-vida-bg {
  background-image: url('../img/hero-seguro-vida.png') !important; /* VERIFIQUE O CAMINHO E A EXTENSÃO DA IMAGEM */
  background-repeat: no-repeat;
  background-position: center 70% !important; /* AJUSTADO: Centraliza a imagem para melhor visualização */
  background-size: cover; /* Garante que a imagem cubra todo o espaço */
  background-attachment: scroll !important;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: none !important; /* Remove a animação zoomBg para esta imagem */
}

/* Garante que os overlays e o conteúdo fiquem acima da imagem de fundo */
.hero-seguro-vida .hero-overlay,
.hero-seguro-vida .hero-overlay-orange {
  z-index: 2; /* Acima da imagem de fundo */
}

/* Ajuste do gradiente do overlay para o Hero de Seguro de Vida */
.hero-seguro-vida .hero-overlay {
  /* AJUSTADO: Gradiente mais suave para não escurecer tanto a imagem */
  background: linear-gradient(135deg, rgba(13, 13, 13, 0.7) 0%, rgba(13, 13, 13, 0.4) 55%, rgba(13, 13, 13, 0.6) 100%),
              linear-gradient(to bottom, transparent 0%, rgba(13, 13, 13, 0.7) 85%, rgba(13, 13, 13, 0.8) 100%) !important;
}


.hero-seguro-vida .hero-wrap {
  position: relative; /* Necessário para que o z-index funcione */
  z-index: 3; /* Acima dos overlays */
  display: flex; /* Usa flexbox para alinhar o hero-content e form-card */
  flex-wrap: wrap; /* Permite que os itens quebrem a linha em telas menores */
  align-items: center; /* Alinha os itens verticalmente */
  justify-content: space-around; /* Distribui o espaço entre os itens */
  width: 100%; /* Ocupa a largura total do container */
  max-width: 1200px; /* Limita a largura máxima do conteúdo */
  margin: 0 auto; /* Centraliza o hero-wrap */
  padding: 20px; /* Adiciona um padding interno */
}

/* Ajuste o posicionamento do formulário dentro do Hero */
.hero-seguro-vida .form-card {
  margin-top: 0; /* Remove margens superiores que possam estar empurrando o formulário para baixo */
  margin-bottom: 0; /* Remove margens inferiores */
  max-width: 400px; /* Limita a largura do formulário */
  width: 100%; /* Garante que o formulário ocupe a largura disponível */
}

/* Ajustes para o hero-content para melhor distribuição */
.hero-seguro-vida .hero-content {
  max-width: 500px; /* Limita a largura do conteúdo textual */
  text-align: left; /* Alinha o texto à esquerda */
  margin-right: 30px; /* Espaçamento entre o conteúdo e o formulário */
}

/* Media Queries para o Hero-wrap em telas menores */
@media (max-width: 1100px) { /* Usando o breakpoint que você já tem */
  .hero-seguro-vida .hero-wrap {
    flex-direction: column; /* Empilha o conteúdo e o formulário */
    text-align: center;
  }
  .hero-seguro-vida .hero-content {
    margin-right: 0;
    margin-bottom: 40px; /* Espaçamento entre o conteúdo e o formulário */
    max-width: 100%;
  }
  .hero-seguro-vida .hero-title,
  .hero-seguro-vida .hero-sub {
    text-align: center;
  }
  .hero-seguro-vida .hero-btns {
    justify-content: center; /* Centraliza os botões */
  }
  .hero-seguro-vida .form-card {
    display: block; /* Garante que o formulário apareça em telas menores se ele foi ocultado */
  }
}

/* Estilos para o FAQ de Seguro de Vida */
.faq-category-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--orange);
  margin-top: 40px;
  margin-bottom: 20px;
  text-align: center;
  position: relative;
}

.faq-category-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--orange);
  margin: 10px auto 0;
  border-radius: 2px;
}

.faq-cta-box {
  background: rgba(255,107,0,.1);
  border: 1px solid var(--border-orange);
  border-radius: 12px;
  padding: 30px;
  text-align: center;
  margin-top: 50px;
}

.faq-cta-box p {
  font-size: 16px;
  color: var(--text-soft);
  margin-bottom: 20px;
  line-height: 1.6;
}

.faq-cta-box p strong {
  color: var(--white);
}

.faq-cta-box .btn-p {
  margin-top: 0;
}

/* Estilos para as "Perguntas que mais geram vendas" */
.cta-faq-title {
  color: var(--white); /* Cor diferente para destacar */
  background: linear-gradient(90deg, var(--orange), var(--orange-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 24px;
  margin-top: 60px;
}

.cta-faq-title::after {
  background: linear-gradient(90deg, var(--orange), var(--orange-dark));
}

.cta-faq-item .faq-question {
  background: rgba(255,107,0,.08); /* Fundo levemente laranja */
  border-left: 4px solid var(--orange); /* Borda lateral para destaque */
  padding-left: 25px;
}

.cta-faq-item .faq-question i {
  color: var(--orange); /* Ícone laranja */
}

.cta-faq-item.open .faq-question {
  background: rgba(255,107,0,.15);
}