.elementor-13 .elementor-element.elementor-element-a9e4ccb{width:var( --container-widget-width, 100.954% );max-width:100.954%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100.954%;--container-widget-flex-grow:0;}.elementor-13 .elementor-element.elementor-element-a9e4ccb.elementor-element{--flex-grow:0;--flex-shrink:0;}/* Start custom CSS *//* ==========================================================================
   BLUESTONE BUILDERS — LANDING PAGE
   CSS completo | Cole TODO este arquivo em:
   Elementor > Editar Página > Configurações da Página (engrenagem) > CSS Personalizado
   (ou em Aparência > Personalizar > CSS Adicional)

   IMPORTANTE: todo o CSS está escopado dentro de ".bs-lp" para NÃO conflitar
   com o tema do WordPress nem com os estilos do Elementor.
   Não altere o nome das classes sem trocar também no HTML.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. VARIÁVEIS DE MARCA  (mude as cores aqui e a página inteira acompanha)
   -------------------------------------------------------------------------- */
.bs-lp {
  /* Cores tiradas da logo Bluestone Builders */
  --bs-ink:        #0C1420;   /* preto-azulado do símbolo */
  --bs-ink-2:      #16233A;   /* navy um tom acima */
  --bs-ink-3:      #22344F;
  --bs-blue:       #7CAEDB;   /* azul claro dos quadradinhos da logo */
  --bs-blue-soft:  #D6E7F5;
  --bs-cta:        #1E5B8F;   /* azul dos botões */
  --bs-cta-hover:  #164A76;

  /* Neutros quentes (clima TimberTech) */
  --bs-sand:       #F5F2EC;
  --bs-sand-2:     #EAE4DA;
  --bs-line:       #DED8CD;
  --bs-white:      #FFFFFF;

  /* Texto */
  --bs-text:       #17202C;
  --bs-muted:      #5A6877;
  --bs-on-dark:    #E8EEF5;
  --bs-on-dark-mut:#A9BACC;

  /* TAMANHO DAS LOGOS  <<< MUDE AQUI PARA AUMENTAR/DIMINUIR >>> */
  --bs-logo-h:        88px;  /* logo do cabeçalho — desktop */
  --bs-logo-h-tablet: 72px;  /* logo do cabeçalho — tablet  */
  --bs-logo-h-mobile: 58px;  /* logo do cabeçalho — celular */
  --bs-logo-h-footer: 78px;  /* logo do rodapé */

  /* Sistema */
  --bs-radius:     14px;
  --bs-radius-lg:  22px;
  --bs-shadow:     0 4px 24px rgba(12, 20, 32, .08);
  --bs-shadow-lg:  0 18px 60px rgba(12, 20, 32, .18);
  --bs-max:        1200px;
  --bs-font:       'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --bs-display:    'Quicksand', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* --------------------------------------------------------------------------
   2. RESET LOCAL (só afeta o que está dentro de .bs-lp)
   -------------------------------------------------------------------------- */
.bs-lp,
.bs-lp *,
.bs-lp *::before,
.bs-lp *::after { box-sizing: border-box; }

.bs-lp {
  font-family: var(--bs-font);
  color: var(--bs-text);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  background: var(--bs-white);
  overflow-x: hidden;
}

.bs-lp h1, .bs-lp h2, .bs-lp h3, .bs-lp h4, .bs-lp p, .bs-lp ul, .bs-lp ol, .bs-lp figure {
  margin: 0;
  padding: 0;
}
.bs-lp ul, .bs-lp ol { list-style: none; }
.bs-lp img { max-width: 100%; height: auto; display: block; }
.bs-lp a { color: inherit; text-decoration: none; }

.bs-lp h1, .bs-lp h2, .bs-lp h3, .bs-lp .bs-display {
  font-family: var(--bs-display);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--bs-ink);
}

/* --------------------------------------------------------------------------
   3. UTILITÁRIOS
   -------------------------------------------------------------------------- */
.bs-lp .bs-wrap { width: 100%; max-width: var(--bs-max); margin: 0 auto; padding: 0 20px; }
.bs-lp .bs-section { padding: 84px 0; }
.bs-lp .bs-section--tight { padding: 56px 0; }
.bs-lp .bs-sand { background: var(--bs-sand); }
.bs-lp .bs-dark { background: var(--bs-ink); color: var(--bs-on-dark); }
.bs-lp .bs-dark h2, .bs-lp .bs-dark h3 { color: var(--bs-white); }

.bs-lp .bs-eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--bs-cta);
  margin-bottom: 14px;
}
.bs-lp .bs-dark .bs-eyebrow { color: var(--bs-blue); }

.bs-lp .bs-h2 { font-size: clamp(28px, 4vw, 44px); }
.bs-lp .bs-lead {
  font-size: 17px;
  color: var(--bs-muted);
  max-width: 640px;
  margin-top: 16px;
}
.bs-lp .bs-dark .bs-lead { color: var(--bs-on-dark-mut); }

.bs-lp .bs-center { text-align: center; }
.bs-lp .bs-center .bs-lead { margin-left: auto; margin-right: auto; }

/* Botões */
.bs-lp .bs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--bs-font);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  padding: 17px 30px;
  border-radius: 999px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
  text-align: center;
}
.bs-lp .bs-btn:hover { transform: translateY(-2px); }
.bs-lp .bs-btn--primary {
  background: var(--bs-cta);
  color: #fff;
  box-shadow: 0 8px 22px rgba(30, 91, 143, .28);
}
.bs-lp .bs-btn--primary:hover { background: var(--bs-cta-hover); }
.bs-lp .bs-btn--ghost {
  background: transparent;
  color: var(--bs-white);
  border-color: rgba(255,255,255,.5);
}
.bs-lp .bs-btn--ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.bs-lp .bs-btn--dark { background: var(--bs-ink); color: #fff; }
.bs-lp .bs-btn--dark:hover { background: var(--bs-ink-2); }
.bs-lp .bs-btn--block { width: 100%; }

/* --------------------------------------------------------------------------
   4. BARRA SUPERIOR + CABEÇALHO
   -------------------------------------------------------------------------- */
.bs-lp .bs-topbar {
  background: var(--bs-ink);
  color: var(--bs-on-dark-mut);
  font-size: 13.5px;
  padding: 9px 0;
}
.bs-lp .bs-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.bs-lp .bs-topbar__item { display: inline-flex; align-items: center; gap: 8px; }
.bs-lp .bs-topbar svg { width: 15px; height: 15px; flex: none; color: var(--bs-blue); }
.bs-lp .bs-topbar a:hover { color: #fff; }

.bs-lp .bs-header {
  background: #fff;
  border-bottom: 1px solid var(--bs-line);
  padding: 14px 0;
  position: relative;
  z-index: 20;
}

.bs-lp .bs-logo { display: block; line-height: 0; }
.bs-lp .bs-logo img { height: var(--bs-logo-h); max-height: none; width: auto; object-fit: contain; }
.bs-lp .bs-logo--text {
  font-family: var(--bs-display);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -.01em;
  color: var(--bs-ink);
}
.bs-lp .bs-logo--text span { color: var(--bs-blue); }
.bs-lp .bs-header__actions { display: flex; align-items: center; gap: 22px; }
.bs-lp .bs-header__phone {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.25;
  font-weight: 700;
  font-size: 20px;
  color: var(--bs-ink);
  font-family: var(--bs-display);
}
.bs-lp .bs-header__phone small {
  font-family: var(--bs-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bs-muted);
}
.bs-lp .bs-header .bs-btn { padding: 14px 24px; font-size: 15px; }

/* --------------------------------------------------------------------------
   MENU CENTRAL DO CABEÇALHO
   Layout: logo (esquerda) · menu (centro) · telefone + botão (direita)
   -------------------------------------------------------------------------- */
.bs-lp .bs-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "logo nav actions";
  align-items: center;
  gap: 20px;
}
.bs-lp .bs-logo            { grid-area: logo; }
.bs-lp .bs-nav             { grid-area: nav; }
.bs-lp .bs-header__actions { grid-area: actions; justify-self: end; }

.bs-lp .bs-nav { display: flex; justify-content: center; align-items: center; gap: 34px; }
.bs-lp .bs-nav a {
  position: relative;
  font-family: var(--bs-font);
  font-weight: 600;
  font-size: 15.5px;
  color: var(--bs-text);
  padding: 8px 2px;
  white-space: nowrap;
  transition: color .18s ease;
}
.bs-lp .bs-nav a::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--bs-cta);
  transform: scaleX(0); transform-origin: center;
  transition: transform .2s ease;
}
.bs-lp .bs-nav a:hover { color: var(--bs-cta); }
.bs-lp .bs-nav a.is-active { color: var(--bs-cta); }
.bs-lp .bs-nav a:hover::after,
.bs-lp .bs-nav a.is-active::after { transform: scaleX(1); }

/* --------------------------------------------------------------------------
   5. HERO
   -------------------------------------------------------------------------- */
.bs-lp .bs-hero {
  position: relative;
  background-color: var(--bs-ink);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 78px 0 86px;
  overflow: hidden;
}
.bs-lp .bs-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(10,17,28,.93) 0%, rgba(10,17,28,.82) 42%, rgba(10,17,28,.55) 100%);
}
.bs-lp .bs-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 54px;
  align-items: center;
}
.bs-lp .bs-hero__copy { color: var(--bs-on-dark); }
.bs-lp .bs-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(124,174,219,.14);
  border: 1px solid rgba(124,174,219,.4);
  color: var(--bs-blue);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.bs-lp .bs-hero h1 {
  color: #fff;
  font-size: clamp(34px, 4.9vw, 56px);
  letter-spacing: -.02em;
}
.bs-lp .bs-hero h1 em { font-style: normal; color: var(--bs-blue); }
.bs-lp .bs-hero__sub {
  margin-top: 20px;
  font-size: 18px;
  color: var(--bs-on-dark-mut);
  max-width: 540px;
}
.bs-lp .bs-hero__list {
  margin-top: 28px;
  display: grid;
  gap: 12px;
}
.bs-lp .bs-hero__list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-size: 15.5px;
  color: var(--bs-on-dark);
}
.bs-lp .bs-hero__list svg {
  width: 21px; height: 21px; flex: none;
  color: var(--bs-blue);
  margin-top: 1px;
}
.bs-lp .bs-hero__cta {
  margin-top: 32px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   6. CARD DE FORMULÁRIO
   -------------------------------------------------------------------------- */
.bs-lp .bs-formcard {
  background: #fff;
  border-radius: var(--bs-radius-lg);
  box-shadow: var(--bs-shadow-lg);
  overflow: hidden;
}
.bs-lp .bs-formcard__head {
  background: linear-gradient(135deg, var(--bs-cta), #2C79B8);
  color: #fff;
  padding: 24px 30px;
  text-align: center;
}
.bs-lp .bs-formcard__head h2 {
  color: #fff;
  font-size: 25px;
}
.bs-lp .bs-formcard__head p {
  margin-top: 6px;
  font-size: 14px;
  color: rgba(255,255,255,.88);
}
.bs-lp .bs-formcard__body { padding: 26px 30px 30px; }

.bs-lp .bs-field { margin-bottom: 15px; }
.bs-lp .bs-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.bs-lp .bs-label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--bs-muted);
  margin-bottom: 7px;
}
.bs-lp .bs-input,
.bs-lp .bs-select,
.bs-lp .bs-textarea {
  width: 100%;
  font-family: var(--bs-font);
  font-size: 15.5px;
  color: var(--bs-text);
  background: #fff;
  border: 1.5px solid var(--bs-line);
  border-radius: 10px;
  padding: 13px 15px;
  transition: border-color .16s ease, box-shadow .16s ease;
  -webkit-appearance: none;
  appearance: none;
}
.bs-lp .bs-textarea { min-height: 104px; resize: vertical; }
.bs-lp .bs-select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6877' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  padding-right: 42px;
}
.bs-lp .bs-input:focus,
.bs-lp .bs-select:focus,
.bs-lp .bs-textarea:focus {
  outline: none;
  border-color: var(--bs-cta);
  box-shadow: 0 0 0 3px rgba(30, 91, 143, .14);
}
.bs-lp .bs-input::placeholder,
.bs-lp .bs-textarea::placeholder { color: #9AA6B3; }

.bs-lp .bs-formcard .bs-btn { margin-top: 8px; }
.bs-lp .bs-formnote {
  margin-top: 13px;
  font-size: 12.5px;
  color: var(--bs-muted);
  text-align: center;
  line-height: 1.5;
}
.bs-lp .bs-hp { position: absolute !important; left: -9999px !important; }

/* --------------------------------------------------------------------------
   7. BARRA DE CONFIANÇA
   -------------------------------------------------------------------------- */
.bs-lp .bs-trust {
  background: var(--bs-sand);
  border-bottom: 1px solid var(--bs-line);
  padding: 26px 0;
}
.bs-lp .bs-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.bs-lp .bs-trust__item {
  display: flex;
  align-items: center;
  gap: 13px;
  justify-content: center;
  text-align: left;
}
.bs-lp .bs-trust__item svg { width: 30px; height: 30px; flex: none; color: var(--bs-cta); }
.bs-lp .bs-trust__item strong { display: block; font-size: 15px; color: var(--bs-ink); font-weight: 700; }
.bs-lp .bs-trust__item span { font-size: 13px; color: var(--bs-muted); }

/* --------------------------------------------------------------------------
   8. SERVIÇOS
   -------------------------------------------------------------------------- */
.bs-lp .bs-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  margin-top: 46px;
}
.bs-lp .bs-servicecard {
  background: #fff;
  border: 1px solid var(--bs-line);
  border-radius: var(--bs-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.bs-lp .bs-servicecard:hover {
  transform: translateY(-5px);
  box-shadow: var(--bs-shadow-lg);
  border-color: var(--bs-blue);
}
.bs-lp .bs-servicecard__img {
  aspect-ratio: 4 / 3;
  background: var(--bs-sand-2);
  background-size: cover;
  background-position: center;
  position: relative;
}
.bs-lp .bs-servicecard__img img { width: 100%; height: 100%; object-fit: cover; }
.bs-lp .bs-servicecard__body { padding: 22px 22px 24px; flex: 1; display: flex; flex-direction: column; }
.bs-lp .bs-servicecard h3 { font-size: 20px; }
.bs-lp .bs-servicecard p { margin-top: 9px; font-size: 14.5px; color: var(--bs-muted); flex: 1; }
.bs-lp .bs-servicecard__link {
  margin-top: 16px;
  font-weight: 700;
  font-size: 14.5px;
  color: var(--bs-cta);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.bs-lp .bs-servicecard__link svg { width: 16px; height: 16px; transition: transform .18s ease; }
.bs-lp .bs-servicecard:hover .bs-servicecard__link svg { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   9. POR QUE NOS ESCOLHER
   -------------------------------------------------------------------------- */
.bs-lp .bs-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 34px;
  margin-top: 48px;
}
.bs-lp .bs-why__item { text-align: left; }
.bs-lp .bs-why__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(124,174,219,.16);
  border: 1px solid rgba(124,174,219,.36);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.bs-lp .bs-why__icon svg { width: 27px; height: 27px; color: var(--bs-blue); }
.bs-lp .bs-why__item h3 { font-size: 19px; color: #fff; }
.bs-lp .bs-why__item p { margin-top: 9px; font-size: 14.5px; color: var(--bs-on-dark-mut); }

/* --------------------------------------------------------------------------
   10. BLOCOS ALTERNADOS (imagem + texto)
   -------------------------------------------------------------------------- */
.bs-lp .bs-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.bs-lp .bs-split + .bs-split { margin-top: 92px; }
.bs-lp .bs-split--reverse .bs-split__media { order: 2; }
.bs-lp .bs-split__media {
  border-radius: var(--bs-radius-lg);
  overflow: hidden;
  background: var(--bs-sand-2);
  aspect-ratio: 4 / 3;
  box-shadow: var(--bs-shadow);
}
.bs-lp .bs-split__media img { width: 100%; height: 100%; object-fit: cover; }
.bs-lp .bs-split__list { margin-top: 24px; display: grid; gap: 13px; }
.bs-lp .bs-split__list li { display: flex; gap: 11px; align-items: flex-start; font-size: 15.5px; }
.bs-lp .bs-split__list svg { width: 21px; height: 21px; flex: none; color: var(--bs-cta); margin-top: 1px; }
.bs-lp .bs-split .bs-btn { margin-top: 28px; }

/* --------------------------------------------------------------------------
   11. PROCESSO
   -------------------------------------------------------------------------- */
.bs-lp .bs-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  margin-top: 50px;
  position: relative;
}
.bs-lp .bs-step {
  background: #fff;
  border: 1px solid var(--bs-line);
  border-radius: var(--bs-radius);
  padding: 26px 20px 24px;
  position: relative;
}
.bs-lp .bs-step__num {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--bs-ink);
  color: #fff;
  font-family: var(--bs-display);
  font-weight: 700;
  font-size: 17px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.bs-lp .bs-step h3 { font-size: 17px; }
.bs-lp .bs-step p { margin-top: 8px; font-size: 14px; color: var(--bs-muted); }

/* --------------------------------------------------------------------------
   12. GALERIA
   -------------------------------------------------------------------------- */
.bs-lp .bs-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 210px;
  gap: 16px;
  margin-top: 44px;
}
.bs-lp .bs-gallery__item {
  border-radius: var(--bs-radius);
  overflow: hidden;
  background: var(--bs-ink-3);
}
.bs-lp .bs-gallery__item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.bs-lp .bs-gallery__item:hover img { transform: scale(1.06); }
.bs-lp .bs-gallery__item--tall { grid-row: span 2; }
.bs-lp .bs-gallery__item--wide { grid-column: span 2; }

/* --------------------------------------------------------------------------
   13. DEPOIMENTOS
   -------------------------------------------------------------------------- */
.bs-lp .bs-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 44px;
}
.bs-lp .bs-review {
  background: #fff;
  border: 1px solid var(--bs-line);
  border-radius: var(--bs-radius-lg);
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
}
.bs-lp .bs-stars { display: flex; gap: 3px; margin-bottom: 14px; }
.bs-lp .bs-stars svg { width: 18px; height: 18px; color: #E9A93B; }
.bs-lp .bs-review p { font-size: 15px; color: var(--bs-text); flex: 1; }
.bs-lp .bs-review__by {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--bs-line);
  font-size: 14px;
}
.bs-lp .bs-review__by strong { display: block; color: var(--bs-ink); font-weight: 700; }
.bs-lp .bs-review__by span { color: var(--bs-muted); font-size: 13px; }

/* --------------------------------------------------------------------------
   14. FAIXA DE CTA
   -------------------------------------------------------------------------- */
.bs-lp .bs-band {
  position: relative;
  background-color: var(--bs-ink);
  background-size: cover;
  background-position: center;
  padding: 88px 0;
  text-align: center;
  color: #fff;
}
.bs-lp .bs-band::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,17,28,.88), rgba(10,17,28,.92));
}
.bs-lp .bs-band__inner { position: relative; }
.bs-lp .bs-band h2 { color: #fff; font-size: clamp(28px, 4vw, 42px); max-width: 800px; margin: 0 auto; }
.bs-lp .bs-band p { margin-top: 16px; color: var(--bs-on-dark-mut); font-size: 17px; max-width: 620px; margin-left: auto; margin-right: auto; }
.bs-lp .bs-band__cta { margin-top: 32px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* --------------------------------------------------------------------------
   15. ÁREA DE ATENDIMENTO
   -------------------------------------------------------------------------- */
.bs-lp .bs-area__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 56px;
  align-items: center;
}
.bs-lp .bs-towns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.bs-lp .bs-towns li {
  background: #fff;
  border: 1px solid var(--bs-line);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 14px;
  color: var(--bs-text);
}
.bs-lp .bs-area__map {
  border-radius: var(--bs-radius-lg);
  overflow: hidden;
  background: var(--bs-sand-2);
  aspect-ratio: 16 / 11;
  box-shadow: var(--bs-shadow);
}
.bs-lp .bs-area__map img,
.bs-lp .bs-area__map iframe { width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }

/* --------------------------------------------------------------------------
   16. FAQ (acordeão puro em HTML/CSS, sem JavaScript)
   -------------------------------------------------------------------------- */
.bs-lp .bs-faq { max-width: 840px; margin: 44px auto 0; }
.bs-lp .bs-faq details {
  background: #fff;
  border: 1px solid var(--bs-line);
  border-radius: var(--bs-radius);
  margin-bottom: 12px;
  overflow: hidden;
}
.bs-lp .bs-faq details[open] { border-color: var(--bs-blue); }
.bs-lp .bs-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 20px 56px 20px 24px;
  font-family: var(--bs-display);
  font-weight: 700;
  font-size: 17px;
  color: var(--bs-ink);
  position: relative;
}
.bs-lp .bs-faq summary::-webkit-details-marker { display: none; }
.bs-lp .bs-faq summary::after {
  content: "+";
  position: absolute;
  right: 24px; top: 50%;
  transform: translateY(-50%);
  font-size: 26px;
  font-weight: 400;
  color: var(--bs-cta);
  line-height: 1;
}
.bs-lp .bs-faq details[open] summary::after { content: "–"; }
.bs-lp .bs-faq details p {
  padding: 0 24px 22px;
  font-size: 15px;
  color: var(--bs-muted);
}

/* --------------------------------------------------------------------------
   17. SEÇÃO FINAL DE FORMULÁRIO
   -------------------------------------------------------------------------- */
.bs-lp .bs-estimate__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.bs-lp .bs-estimate__points { margin-top: 26px; display: grid; gap: 18px; }
.bs-lp .bs-estimate__point { display: flex; gap: 14px; align-items: flex-start; }
.bs-lp .bs-estimate__point svg { width: 24px; height: 24px; flex: none; color: var(--bs-blue); margin-top: 2px; }
.bs-lp .bs-estimate__point strong { display: block; color: #fff; font-size: 16px; }
.bs-lp .bs-estimate__point span { font-size: 14.5px; color: var(--bs-on-dark-mut); }
.bs-lp .bs-estimate__phone {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.bs-lp .bs-estimate__phone small {
  display: block;
  font-size: 12px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--bs-blue); margin-bottom: 6px;
}
.bs-lp .bs-estimate__phone a {
  font-family: var(--bs-display);
  font-size: 30px; font-weight: 700; color: #fff;
}

/* --------------------------------------------------------------------------
   18. RODAPÉ
   -------------------------------------------------------------------------- */
.bs-lp .bs-footer { background: #070C14; color: var(--bs-on-dark-mut); padding: 56px 0 100px; }
.bs-lp .bs-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 42px;
}
.bs-lp .bs-footer h4 {
  font-family: var(--bs-display);
  color: #fff; font-size: 16px; font-weight: 700;
  margin-bottom: 16px;
}
.bs-lp .bs-footer p, .bs-lp .bs-footer li { font-size: 14.5px; }
.bs-lp .bs-footer li { margin-bottom: 9px; }
.bs-lp .bs-footer a:hover { color: var(--bs-blue); }
.bs-lp .bs-footer__logo img { height: var(--bs-logo-h-footer); max-height: none; width: auto; margin-bottom: 18px; }
.bs-lp .bs-footer__bottom {
  margin-top: 42px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: 13px;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   19. BARRA FIXA MOBILE (aparece só no celular)
   -------------------------------------------------------------------------- */
.bs-lp .bs-mobilebar {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  background: #fff;
  border-top: 1px solid var(--bs-line);
  box-shadow: 0 -6px 24px rgba(12,20,32,.14);
  padding: 10px 12px;
  gap: 10px;
}
.bs-lp .bs-mobilebar .bs-btn { flex: 1; padding: 15px 12px; font-size: 15px; }
.bs-lp .bs-mobilebar .bs-btn--call {
  background: var(--bs-ink); color: #fff;
}

/* --------------------------------------------------------------------------
   20. RESPONSIVO
   -------------------------------------------------------------------------- */
@media (max-width: 1080px) {
  .bs-lp .bs-services__grid { grid-template-columns: repeat(2, 1fr); }
  .bs-lp .bs-why__grid { grid-template-columns: repeat(2, 1fr); }
  .bs-lp .bs-steps { grid-template-columns: repeat(3, 1fr); }
  .bs-lp .bs-reviews__grid { grid-template-columns: repeat(2, 1fr); }
  .bs-lp .bs-trust__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .bs-lp .bs-section { padding: 62px 0; }
  .bs-lp .bs-hero { padding: 54px 0 62px; }
  .bs-lp .bs-hero__inner { grid-template-columns: 1fr; gap: 38px; }
  .bs-lp .bs-split { grid-template-columns: 1fr; gap: 30px; }
  .bs-lp .bs-split--reverse .bs-split__media { order: 0; }
  .bs-lp .bs-split + .bs-split { margin-top: 58px; }
  .bs-lp .bs-area__grid { grid-template-columns: 1fr; gap: 34px; }
  .bs-lp .bs-estimate__grid { grid-template-columns: 1fr; gap: 34px; }
  .bs-lp .bs-footer__grid { grid-template-columns: 1fr 1fr; }
  .bs-lp .bs-header__phone { display: none; }
  .bs-lp .bs-header__inner {
    grid-template-columns: auto auto;
    grid-template-areas: "logo actions" "nav nav";
    row-gap: 6px;
  }
  .bs-lp .bs-nav { padding-top: 10px; border-top: 1px solid var(--bs-line); width: 100%; }
  .bs-lp .bs-logo img { height: var(--bs-logo-h-tablet); }
  .bs-lp .bs-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
}

@media (max-width: 620px) {
  .bs-lp .bs-topbar { font-size: 12.5px; }
  .bs-lp .bs-topbar__inner { justify-content: center; }
  .bs-lp .bs-header .bs-btn { padding: 12px 18px; font-size: 14px; }
  .bs-lp .bs-logo img { height: var(--bs-logo-h-mobile); }
  .bs-lp .bs-nav { gap: 20px; }
  .bs-lp .bs-nav a { font-size: 14.5px; }
  .bs-lp .bs-services__grid { grid-template-columns: 1fr; }
  .bs-lp .bs-why__grid { grid-template-columns: 1fr; gap: 26px; }
  .bs-lp .bs-steps { grid-template-columns: 1fr; }
  .bs-lp .bs-reviews__grid { grid-template-columns: 1fr; }
  .bs-lp .bs-trust__grid { grid-template-columns: 1fr; gap: 16px; }
  .bs-lp .bs-trust__item { justify-content: flex-start; }
  .bs-lp .bs-grid2 { grid-template-columns: 1fr; }
  .bs-lp .bs-formcard__body { padding: 22px 20px 26px; }
  .bs-lp .bs-formcard__head { padding: 20px; }
  .bs-lp .bs-footer__grid { grid-template-columns: 1fr; gap: 30px; }
  .bs-lp .bs-gallery { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .bs-lp .bs-gallery__item--wide { grid-column: span 1; }
  .bs-lp .bs-gallery__item--tall { grid-row: span 1; }
  .bs-lp .bs-hero__cta .bs-btn { width: 100%; }
  .bs-lp .bs-band__cta .bs-btn { width: 100%; }
  .bs-lp .bs-mobilebar { display: flex; }
  .bs-lp .bs-footer { padding-bottom: 110px; }
}

/* --------------------------------------------------------------------------
   21. AJUSTES PARA O ELEMENTOR
   Se o tema estiver limitando a largura do widget HTML, descomente o bloco
   abaixo para a landing ocupar a largura total da tela.
   -------------------------------------------------------------------------- */
/*
.elementor-widget-html .bs-lp {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
*//* End custom CSS */