/* Solaris Energia - estilos */

/* ============================================================
   RESET / BASE (F2-07 — substitui o reset do tema removido)
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  color:#1B1E24;
  line-height:1.5;
  background:#fff;
}
img,video{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4,p{ margin:0; }

:root{
  --solaris-brand:#A3E635;       /* lima: preenchimento de botões + acentos SOBRE escuro */
  --solaris-brand-ink:#4D7C0F;   /* lima profundo: TEXTO de acento sobre fundos claros */
  --solaris-brand-dark:#84CC16;  /* hover/realce */
  --solaris-dark:#1B1E24;        /* grafite (era navy) */
  --solaris-white:#FFFFFF;
}

/* Compensar header fixo ao navegar por âncoras */
#hero,
#solucoes,
#usina,
#eletropostos,
#quem-somos,
#fundadores,
#clientes,
#depoimentos,
#contato{
  scroll-margin-top:90px;
}

/* FontAwesome 5 (vendored) não possui fa-xmark (FA6) — alias p/ renderizar o "X" */
.fa-xmark::before{ content:"\f00d"; }
/* FA5 não possui fa-sliders (FA6) — alias p/ o glyph sliders-h */
.fa-sliders::before{ content:"\f1de"; }


/* ============================================================
   SEÇÃO SOLUÇÕES (grade limpa - F2-01)
   ============================================================ */
.solucoes{
  padding:80px 24px;
  background:#F6F8F7;
  font-family:"Montserrat", sans-serif;
}
.solucoes__head{
  max-width:760px;
  margin:0 auto 40px;
  text-align:center;
}
.section-eyebrow{
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--solaris-brand-ink);
  font-weight:600;
  margin:0 0 8px;
}
.section-title{
  color:#1B1E24;
  font-size:clamp(28px,4vw,40px);
  font-weight:800;
  margin:0 0 14px;
}
.section-text{
  color:#6B7280;
  line-height:1.6;
  margin:0;
}

/* Cabeçalho de seção reutilizável (F2-06) */
.section-head{
  max-width:820px;
  margin:0 auto 40px;
  text-align:center;
}

/* Seções Clientes / Depoimentos / Contato (F2-06) */
.clientes,
.depoimentos,
.contato{
  padding:80px 24px;
  font-family:"Montserrat", sans-serif;
}

.clientes{ background:#fff; }
.depoimentos{ background:#F6F8F7; }
/* .contato bg/cores definidos no bloco consolidado "Contato (Lote 2)" abaixo */

.clientes__cta{ text-align:center; margin-top:32px; }
.contato .lead-form{ margin:0 auto; }
.solucoes__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  max-width:1200px;
  margin:0 auto;
}
.sol-card{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:3/4;
  text-decoration:none;
}
.sol-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.sol-card:hover img{ transform:scale(1.06); }
.sol-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(23,35,56,.88) 0%, rgba(23,35,56,0) 55%);
}
.sol-card__title{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:2;
  color:#fff;
  font-weight:700;
  font-size:18px;
  line-height:1.25;
}
@media (max-width:1024px){
  .solucoes__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .solucoes__grid{ grid-template-columns:repeat(1,1fr); }
}

/* ============================================================
   SEÇÃO FUNDADORES (F2-05)
   ============================================================ */
.fundadores{
  padding:80px 24px;
  background:#F0F4F5;
  font-family:"Montserrat", sans-serif;
}
.fundadores__head{
  text-align:center;
  max-width:760px;
  margin:0 auto 44px;
}
.fundadores__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  max-width:1000px;
  margin:0 auto;
}
.fundador{
  background:#fff;
  border-radius:14px;
  padding:32px;
  text-align:center;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}
.fundador__avatar{
  width:96px;
  height:96px;
  border-radius:50%;
  background:#1B1E24;
  color:var(--solaris-brand);
  font-weight:800;
  font-size:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
}
.fundador__name{ color:#1B1E24; font-size:22px; font-weight:700; margin:0 0 4px; }
.fundador__role{ color:var(--solaris-brand-ink); font-weight:600; margin:0 0 14px; }
.fundador__bio{ color:#6B7280; line-height:1.6; margin:0 0 18px; text-align:left; }
.fundador__linkedin{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#1B1E24;
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease;
}
.fundador__linkedin:hover,
.fundador__linkedin:focus-visible{ color:var(--solaris-brand); }

@media (max-width:768px){
  .fundadores__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   SEÇÃO QUEM SOMOS (propósito + citação + integradora)
   ============================================================ */
.quem-somos{
  padding:80px 24px;
  background:#fff;
  font-family:"Montserrat", sans-serif;
}
.quem-somos__head{
  text-align:center;
  max-width:760px;
  margin:0 auto 40px;
}
.quem-somos__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:1200px;
  margin:0 auto;
  align-items:center;
}
.quem-somos__q{
  color:#1B1E24;
  font-size:20px;
  font-weight:700;
  margin:18px 0 6px;
}
.quem-somos__q:first-child{ margin-top:0; }
.quem-somos__quote{
  max-width:920px;
  margin:48px auto 0;
  border-left:4px solid var(--solaris-brand);
  /* !important vence "section > blockquote:not(...)" do tema (0,2,2) */
  background:#F0F4F5 !important;
  border-radius:8px;
  padding:22px 26px;
}
.quem-somos__quote p{
  font-style:italic;
  color:#1B1E24;
  line-height:1.7;
  font-size:18px;
  margin:0 0 12px;
}
.quem-somos__quote cite{
  font-style:normal;
  font-weight:700;
  color:var(--solaris-brand-ink);
}
.integradora{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:32px;
  max-width:1000px;
  margin:48px auto 0;
  text-align:center;
}
.integradora__text{ max-width:520px; }
/* especificidade extra: sobrescreve regra de imagem herdada do tema antigo */
.integradora .integradora__logo{ max-width:200px; height:auto; }

@media (max-width:900px){
  .quem-somos__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   SEÇÃO ELETROPOSTOS (intro + planos - F2-03)
   ============================================================ */
.eletropostos{
  padding:80px 24px;
  background:#F0F4F5;
  font-family:"Montserrat", sans-serif;
}
.eletropostos__head{
  max-width:780px;
  margin:0 auto 44px;
  text-align:center;
}
.planos__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  max-width:1200px;
  margin:0 auto;
}
.plano{
  background:#1B1E24;
  color:#fff;
  border-radius:14px;
  padding:30px 24px;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
}
.plano__icon{ color:var(--solaris-brand); font-size:34px; }
.plano__name{ font-size:22px; font-weight:700; margin:0; }
.plano__spec{ color:rgba(255,255,255,.82); line-height:1.5; flex:1; margin:0; }
.plano__btn{
  margin-top:8px;
  border:2px solid var(--solaris-brand);
  color:#fff;
  padding:10px 20px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
  transition:background-color .2s ease;
}
.plano__btn:hover,
.plano__btn:focus-visible{ background:var(--solaris-brand); color:var(--solaris-dark); font-weight:700; }
.plano--featured{ outline:2px solid var(--solaris-brand); transform:scale(1.03); }

.eletropostos__cta{ text-align:center; margin-top:44px; }
.eletropostos__cta-title{
  color:#1B1E24;
  font-size:clamp(20px,3vw,28px);
  font-weight:700;
  margin:0 0 18px;
}
.btn-primary{
  display:inline-block;
  background:var(--solaris-brand);
  color:var(--solaris-dark);
  font-weight:700;
  padding:14px 28px;
  border-radius:8px;
  text-decoration:none;
  transition:filter .2s ease;
}
.btn-primary:hover,
.btn-primary:focus-visible{ filter:brightness(1.08); }

.eletropostos__faq-head{
  max-width:780px;
  margin:56px auto 28px;
  text-align:center;
}

@media (max-width:1024px){
  .planos__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .planos__grid{ grid-template-columns:repeat(1,1fr); }
  .plano--featured{ transform:none; }
}

/* ============================================================
   SEÇÃO USINA (case Usina Solar Horizonte)
   ============================================================ */
.usina{
  padding:80px 24px;
  background:#fff;
  font-family:"Montserrat", sans-serif;
}
.usina__intro{
  max-width:820px;
  margin:0 auto 44px;
  text-align:center;
}
.usina__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:1200px;
  margin:0 auto;
  align-items:center;
}
.usina__gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.usina__gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:10px;
  aspect-ratio:4/3;
}
.usina__subtitle{
  color:#1B1E24;
  font-size:clamp(22px,3vw,30px);
  font-weight:700;
  margin:6px 0 14px;
}
.usina__content .section-text + .section-text{ margin-top:14px; }

@media (max-width:900px){
  .usina__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   HERO (vídeo nativo - P06)
   ============================================================ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  font-family:"Montserrat", sans-serif;
}
.hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg, rgba(6,30,54,.75) 0%, rgba(6,30,54,.35) 100%);
}
.hero__content{
  position:relative;
  z-index:2;
  color:#fff;
  max-width:1200px;
  width:100%;
  margin:0 auto;
  padding:0 24px;
  text-align:left;
  text-shadow:0 2px 12px rgba(0,0,0,.35); /* contraste extra sobre o vídeo */
}
.hero__eyebrow{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
  margin:0 0 12px;
  font-size:clamp(13px,1.4vw,16px);
}
.hero__title{
  font-size:clamp(40px,7vw,88px);
  font-weight:800;
  line-height:1.05;
  margin:0 0 12px;
}
.hero__subtitle{
  font-size:clamp(20px,3vw,34px);
  font-weight:500;
  margin:0 0 28px;
}
.hero__cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--solaris-brand);
  color:var(--solaris-dark);
  font-weight:700;
  padding:14px 28px;
  border-radius:8px;
  text-decoration:none;
  transition:filter .2s ease;
}
.hero__cta:hover,
.hero__cta:focus-visible{ filter:brightness(1.08); }
.hero__ctas{ display:flex; flex-wrap:wrap; gap:14px; }
.hero__cta--orcamento{ display:none; }

@media (max-width:768px){
  .hero{ min-height:100vh; min-height:100dvh; }
  .hero__cta--orcamento{ display:inline-flex; }
  .hero__ctas .hero__cta{ flex:1 1 0; justify-content:center; padding:13px 16px; }
}

@media (max-width:768px) {
  .hero__content{align-self: flex-end; margin-bottom: 50px;}
}

/* ============================================================
   FAQ (<details> nativo - P07)
   ============================================================ */
.faq{
  max-width:860px;
  margin:0 auto;
  font-family:"Montserrat", sans-serif;
}
.faq__item{
  background:#fff;
  border:1px solid #E0E0E0;
  border-radius:10px;
  margin-bottom:14px;
  overflow:hidden;
}
.faq__q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  cursor:pointer;
  padding:18px 22px;
  font-weight:600;
  color:#1B1E24;
  list-style:none;
  transition:color .2s ease;
}
.faq__q:hover,
.faq__item[open] .faq__q{ color:var(--solaris-brand); }
/* esconder o marcador nativo do <details> */
.faq__item summary{ list-style:none; }
.faq__q::-webkit-details-marker{ display:none; }
.faq__q::marker{ content:""; }

.faq__icon{
  color:var(--solaris-brand-ink);
  flex:0 0 auto;
  transition:transform .25s ease;
}
.faq__item[open] .faq__icon{ transform:rotate(180deg); }

.faq__a{
  padding:0 22px 20px;
  color:#6B7280;
  line-height:1.6;
}

/* ============================================================
   CARROSSEL DE DEPOIMENTOS (vanilla - P08)
   ============================================================ */
.testimonials-carousel{
  padding:24px 0 48px;
  font-family:"Montserrat", sans-serif;
}
.tcar{
  position:relative;
  max-width:1200px;
  margin:0 auto;
  padding:0 56px;
}
.tcar__track{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.tcar__track::-webkit-scrollbar{ display:none; }

.tcard{
  flex:0 0 calc(33.333% - 16px);
  scroll-snap-align:start;
  background:#fff;
  border-radius:12px;
  padding:28px;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  gap:16px;
}
.tcard__stars{ color:#FEC702; font-size:15px; }
.tcard__text{ color:#6B7280; line-height:1.6; flex:1; margin:0; }
.tcard__author{ display:flex; align-items:center; gap:12px; }
/* especificidade extra: sobrescreve regra de imagem herdada do tema antigo */
.tcard .tcard__avatar{ width:56px; height:56px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.tcard__name{ display:block; font-weight:700; color:#1B1E24; }
.tcard__date{ display:block; font-size:13px; color:#A5A5A5; }

.tcar__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:none;
  background:#ff000000;
  color:var(--solaris-dark);
  font-weight:700;
  cursor:pointer;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:filter .2s ease;
}
.tcar__nav:hover,
.tcar__nav:focus-visible{ filter:brightness(1.08); }
.tcar__nav--prev{ left:0; }
.tcar__nav--next{ right:0; }

i.fas.fa-chevron-right {
  color: var(--solaris-brand);
}

i.fas.fa-chevron-left {
  color: var(--solaris-brand);
}

@media (max-width:1024px){
  .tcard{ flex-basis:calc(50% - 12px); }
}
@media (max-width:640px){
  .tcard{ flex-basis:100%; }
  .tcar{ padding:0 44px; }
}

/* ============================================================
   FOOTER PRÓPRIO (P10.5)
   ============================================================ */
.site-footer{
  background:#1B1E24;
  color:rgba(255,255,255,.8);
  font-family:"Montserrat", sans-serif;
}
.site-footer__grid{
  max-width:1200px;
  margin:0 auto;
  padding:56px 24px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:32px;
}
.site-footer__logo{ max-width:160px; height:auto; }
.site-footer__col h4{ color:#fff; margin:0 0 12px; font-size:16px; }
.site-footer__col p{ margin:0 0 8px; line-height:1.5; }
.site-footer__col a{ color:inherit; text-decoration:none; transition:color .2s ease; }
.site-footer__col a:hover,
.site-footer__col a:focus-visible{ color:var(--solaris-brand); }
.site-footer__social{ display:flex; gap:14px; margin-top:14px; font-size:20px; }
.site-footer__social a{ color:#fff; }
.site-footer__social a:hover,
.site-footer__social a:focus-visible{ color:var(--solaris-brand); }
.site-footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  text-align:center;
  padding:18px 24px;
  font-size:14px;
}
@media (max-width:900px){
  .site-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .site-footer__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   WHATSAPP FLUTUANTE (P09)
   ============================================================ */
.wa-float{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:1100;
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:"Montserrat", sans-serif;
}
.wa-float__btn{
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  transition:transform .2s ease;
  flex:0 0 auto;
  animation:wa-pulse 2.4s ease-in-out infinite;
}
.wa-float:hover .wa-float__btn{ transform:scale(1.06); animation:none; }

.wa-float__bubble{
  background:#fff;
  color:#1B1E24;
  padding:10px 14px;
  border-radius:10px;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  font-size:14px;
  white-space:nowrap;
  opacity:0;
  transform:translateX(8px);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
.wa-float:hover .wa-float__bubble,
.wa-float:focus .wa-float__bubble,
.wa-float:focus-visible .wa-float__bubble{
  opacity:1;
  transform:translateX(0);
}

@keyframes wa-pulse{
  0%   { box-shadow:0 4px 14px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,.45); }
  70%  { box-shadow:0 4px 14px rgba(0,0,0,.25), 0 0 0 14px rgba(37,211,102,0); }
  100% { box-shadow:0 4px 14px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,0); }
}
@media (prefers-reduced-motion:reduce){
  .wa-float__btn{ animation:none; }
}

@media (max-width:480px){
  .wa-float__bubble{ display:none; }
}

/* ============================================================
   FORMULÁRIO DE ORÇAMENTO -> WhatsApp (P10)
   ============================================================ */
.lead-form{
  display:grid;
  gap:16px;
  max-width:600px;
  font-family:"Montserrat", sans-serif;
}
.lead-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.lead-form input,
.lead-form select{
  width:100%;
  padding:14px 16px;
  border:1px solid #E0E0E0;
  border-radius:8px;
  font:inherit;
  background:#fff;
  color:#1B1E24;
  box-sizing:border-box;
}
.lead-form input::placeholder{ color:#A5A5A5; }
.lead-form input:focus,
.lead-form select:focus{
  outline:2px solid var(--solaris-brand);
  outline-offset:0;
  border-color:var(--solaris-brand);
}
/* especificidade extra (.lead-form ...): vence a regra do tema
   "form button{background:var(--theme-color-text_link)}" */
.lead-form .lead-form__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background: var(--solaris-brand);
  color:#000000;
  border:none;
  padding:15px 22px;
  border-radius:8px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  transition:filter .2s ease;
}
.lead-form .lead-form__btn:hover,
.lead-form .lead-form__btn:focus-visible{ background:var(--solaris-brand-dark); filter:brightness(1.07); }

@media (max-width:640px){
  .lead-form__row{ grid-template-columns:1fr; }
}

/* ============================================================
   GRADE DE CLIENTES (estática - R2)
   ============================================================ */
.clients-grid{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:28px;
  align-items:center;
}
.clients-grid__item{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
}
.clients-grid__item img{
  max-width:100%;
  max-height:60px;
  width:auto;
  object-fit:contain;
  opacity:.75;
  transition:opacity .2s ease, filter .2s ease;
}
.clients-grid__item img:hover{ opacity:1; }
.clients-grid__item--dup{ display:none; }

@media (max-width:900px){
  .clients-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:520px){
  .clients-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:768px){
  .clients-marquee{ overflow:hidden; }
  .clients-grid{
    display:flex;
    flex-wrap:nowrap;
    width:max-content;
    max-width:none;
    margin:0;
    gap:0;
    animation:marquee-rtl 28s linear infinite;
  }
  .clients-grid__item{ flex:0 0 auto; padding:0 22px; }
  .clients-grid__item--dup{ display:flex; }
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  .clients-grid{ animation:none; flex-wrap:wrap; justify-content:center; width:100%; gap:16px; }
  .clients-grid__item--dup{ display:none; }
}

/* ============================================================
   VÍDEO INSTITUCIONAL (nativo - R3)
   ============================================================ */
.institucional-video-wrap{
  width:100%;
  max-width:100%;
}
.institucional-video{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
}

/* ============================================================
   HEADER (vanilla)
   ============================================================ */
.site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:transparent;
  font-family:"Montserrat", sans-serif;
  transition:background-color .3s ease, box-shadow .3s ease;
}

.site-header__inner{
  max-width:1280px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  gap:24px;
}

.site-header__logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.site-header__logo img{
  height:44px;
  width:auto;
  display:block;
}

/* Estado rolado: fundo sólido escuro */
.site-header.is-scrolled{
  background:var(--solaris-dark);
  box-shadow:0 2px 14px rgba(0,0,0,.25);
}

/* ---------- Navegação (desktop) ---------- */
.site-nav{
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:auto;
}
.site-nav__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:24px;
}
.site-nav__list a{
  color:var(--solaris-white);
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  line-height:1.2;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:color .2s ease;
}
.site-nav__list a:hover,
.site-nav__list a:focus-visible{ color:var(--solaris-brand); }

/* ---------- Dropdown "Serviços" (desktop: hover) ---------- */
.has-dropdown{ position:relative; }
.site-nav__dropdown{
  list-style:none;
  margin:0;
  padding:8px 0;
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  background:var(--solaris-dark);
  border-radius:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.has-dropdown:hover > .site-nav__dropdown,
.has-dropdown:focus-within > .site-nav__dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.site-nav__dropdown li a{
  padding:9px 18px;
  font-size:14px;
  font-weight:400;
  white-space:nowrap;
}
.site-nav__dropdown-toggle .fa-chevron-down{ font-size:11px; transition:transform .3s ease; }

/* ---------- Ações (CTA + sociais) ---------- */
.site-nav__actions{
  display:flex;
  align-items:center;
  gap:18px;
}
.site-header__cta{
  background:var(--solaris-brand);
  color:var(--solaris-dark) !important;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  padding:11px 20px;
  border-radius:24px;
  white-space:nowrap;
  transition:background-color .2s ease, transform .2s ease;
}
.site-header__cta:hover,
.site-header__cta:focus-visible{ background:var(--solaris-brand-dark); transform:translateY(-1px); }

.site-header__socials{
  display:flex;
  align-items:center;
  gap:12px;
}
.site-header__socials a{
  color:var(--solaris-white);
  font-size:16px;
  text-decoration:none;
  transition:color .2s ease;
}
.site-header__socials a:hover,
.site-header__socials a:focus-visible{ color:var(--solaris-brand); }

/* ---------- Hambúrguer ---------- */
.site-header__toggle{
  display:none;
  margin-left:auto;
  background:none;
  border:0;
  color:var(--solaris-white);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  position:relative;
  z-index:1100;
  padding:6px;
}

/* ============================================================
   RESPONSIVO  (<= 1024px): painel mobile
   ============================================================ */
@media (max-width:1024px){
  .site-header__toggle{ display:inline-flex; }

  /* nav vira painel lateral */
  .site-nav{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(86vw, 360px);
    background:var(--solaris-dark);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    margin:0;
    padding:88px 24px 32px;
    transform:translateX(100%);
    transition:transform .3s ease;
    overflow-y:auto;
    box-shadow:-6px 0 24px rgba(0,0,0,.4);
  }
  .site-header.nav-open .site-nav{ transform:translateX(0); }
  .site-header.nav-open{ background:var(--solaris-dark); } /* legibilidade ao abrir */

  .site-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
  }
  .site-nav__list > li{ border-bottom:1px solid rgba(255,255,255,.08); }
  .site-nav__list > li > a{
    padding:14px 2px;
    font-size:16px;
    justify-content:space-between;
  }

  /* dropdown por clique (acordeão) */
  .site-nav__dropdown{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border-radius:0;
    background:rgba(0,0,0,.18);
    min-width:0;
    max-height:0;
    overflow:hidden;
    padding:0;
    transition:max-height .3s ease;
  }
  .has-dropdown.open > .site-nav__dropdown{ max-height:640px; padding:6px 0; }
  .has-dropdown.open > .site-nav__dropdown-toggle .fa-chevron-down{ transform:rotate(180deg); }
  .site-nav__dropdown li a{ padding-left:14px; }

  /* ações empilhadas */
  .site-nav__actions{
    flex-direction:column;
    align-items:stretch;
    gap:16px;
    margin-top:24px;
  }
  .site-header__cta{ text-align:center; }
  .site-header__socials{ justify-content:center; gap:22px; font-size:20px; }
}

/* ============================================================
   AJUSTES LOTE 1 — refinamentos visuais
   ============================================================ */

/* (2) Usina — fundo escuro + imagem grande + miniaturas */
.usina{ background:#1B1E24; }
.usina .section-title,
.usina .usina__subtitle{ color:#fff; }
.usina .section-text{ color:rgba(255,255,255,.82); }
.usina__feature-img{ width:100%; height:auto; border-radius:12px; aspect-ratio:16/10; object-fit:cover; }
.usina__thumbs{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.usina__thumbs img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }

/* (3) Quem Somos — cards escuros à direita */
.qs-card{ background:#1B1E24; border-radius:14px; padding:22px 24px; margin-bottom:16px; }
.qs-card__title{ color:#fff; font-weight:700; font-size:18px; margin:0 0 8px; }
.qs-card__text{ color:rgba(255,255,255,.82); line-height:1.55; margin:0; }
@media (max-width:900px){
  .quem-somos__media{ display:none; }
}

/* (4) Depoimentos — seção e cards escuros */
.depoimentos{ background:#1B1E24; }
.depoimentos .section-title{ color:#fff; }
.depoimentos .section-text{ color:rgba(255,255,255,.82); }
.tcard{ background:#1B1E24; border:1px solid rgba(255,255,255,.16); box-shadow:0 6px 24px rgba(0,0,0,.25); }
.tcard__text{ color:rgba(255,255,255,.85); }
.tcard__name{ color:#fff; }
.tcard__date{ color:rgba(255,255,255,.55); }

/* (5) Contato — Lote 2: BASE = MOBILE (cover escuro + form empilhado) */
.contato{
  position:relative; overflow:hidden; padding:90px 24px; color:#fff;
  background:linear-gradient(rgba(6, 30, 54, 0),rgba(6,30,54,.82)), url("../assets/img/back-form.webp") center/cover no-repeat;
}
.contato__hero{ display:none; }  /* sem imagem/marquee centralizados no mobile */
.contato__inner{ position:relative; z-index:2; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
.contato__title{ color:#fff; font-size:clamp(28px,4vw,40px); font-weight:800; margin:6px 0 14px; }
.contato__desc{ color:rgba(255,255,255,.85); line-height:1.6; margin:0; }
.contato__marquee{ position:absolute; inset:0; display:flex; align-items:center; overflow:hidden; z-index:1; pointer-events:none; }
.contato__marquee-track{ display:flex; white-space:nowrap; animation:marquee-rtl 35s linear infinite; will-change:transform; }
.contato__marquee-track span{ font-size:clamp(48px,9vw,120px); font-weight:800; text-transform:uppercase; padding:0 40px; }
@keyframes marquee-rtl{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* DESKTOP (>1024px) = fundo claro + imagem centralizada (texto atrás) + form 2 colunas */
@media(min-width:1025px){
  .contato{padding: 200px;}
  .contato__hero{ position:relative; display:flex; justify-content:center; align-items:center; min-height:420px; overflow:hidden; margin-bottom:30px; }
  .contato__hero .contato__marquee-track span{ color:#1B1E24; }
  .contato__hero-img{ position:relative; z-index:2; max-height:340px; width:auto; height:auto; }
  .contato__inner{ grid-template-columns:1fr 1fr; }
  .contato__title{ color:#ffffff; }
  .contato__desc{ color:#aeb2b8; }
}

/* ============================================================
   LOGO WORDMARK (Lote 2)
   ============================================================ */
.site-header__wordmark,.site-footer__wordmark{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:800; letter-spacing:.04em; font-size:22px;
  color:var(--solaris-white); line-height:1; text-decoration:none;
}
.site-header__wordmark i,.site-footer__wordmark i{ color:var(--solaris-brand); font-size:24px; }

/* ============================================================
   CLIENTES / DEPOIMENTOS / INTEGRADORA ficticios (Lote 4)
   ============================================================ */
.clients-grid__wordmark{ font-weight:800; letter-spacing:.03em; color:#6B7280; font-size:20px; opacity:.85; white-space:nowrap; }
.tcard__avatar--initials{
  width:56px; height:56px; border-radius:50%;
  background:var(--solaris-brand); color:var(--solaris-dark);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:18px; flex:0 0 auto;
}
.integradora__wordmark{ font-weight:800; letter-spacing:.04em; font-size:28px; color:var(--solaris-dark); }

/* ============================================================
   ANIMAÇÕES — entrada ao rolar (scroll-reveal)
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  .js-reveal .solucoes__head,
  .js-reveal .usina__intro,
  .js-reveal .eletropostos__head,
  .js-reveal .eletropostos__faq-head,
  .js-reveal .quem-somos__head,
  .js-reveal .fundadores__head,
  .js-reveal .section-head,
  .js-reveal .sol-card,
  .js-reveal .plano,
  .js-reveal .fundador,
  .js-reveal .qs-card,
  .js-reveal .usina__feature,
  .js-reveal .usina__content,
  .js-reveal .quem-somos__quote,
  .js-reveal .integradora,
  .js-reveal .tcar{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .5s ease, transform .5s ease;
  }
  .js-reveal .is-visible{ opacity:1; transform:none; }
}

/* ============================================================
   ANIMAÇÃO — entrada do hero (fadeInLeft, no load)
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  .hero__content{ animation: heroSlideIn .7s ease-out both; }
  @keyframes heroSlideIn{
    from{ opacity:0; transform:translateX(-40px); }
    to{   opacity:1; transform:translateX(0); }
  }
}

