/*
Theme landing styles
*/

:root {
  --dm-page: #000;
  --dm-surface: #040b14;
  --dm-surface-soft: #060e16;
  --dm-surface-card: #0a1724;
  --dm-action: #00a9e6;
  --dm-action-hover: #2fc8ff;
  --dm-text: #fff;
  --dm-text-soft: #f4f4f4;
  --dm-muted: #989898;
  --dm-border: rgba(0, 169, 230, 0.72);
  --dm-focus: #b6e9ff;
  --dm-radius-lg: 24px;
  --dm-radius-xl: 32px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--dm-page);
  color: var(--dm-text);
  font-family: "Inter", sans-serif;
  font-weight: 300;
}

img {
  max-width: 100%;
  height: auto;
}

.navbar-header {
  background: var(--dm-surface);
}

.navbar-custom {
  min-height: 78px;
  padding: 24px 0;
}
.navbar-custom .navbar-toggler {
  display: none;
}
.navbar-brand {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.navbar-brand img {
  width: 132px;
  height: auto;
}

.navbar-brand span {
  color: var(--dm-text);
  font-weight: 500;
  letter-spacing: 0;
}

.navbar-custom .navbar-nav {
  gap: 24px;
  margin-left: auto;
}

.navbar-custom .nav-link {
  color: var(--dm-text-soft);
  font-size: 15px;
  font-weight: 500;
}

.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus {
  color: var(--dm-action);
}

.landing {
  background: var(--dm-page);
  color: var(--dm-text);
  overflow: hidden;
}

.section-spacing {
  padding: 96px 0;
}

.landing h1,
.landing h2,
.landing h3,
.landing p {
  letter-spacing: 0;
}

.landing h1 {
  max-width: 560px;
  margin-bottom: 32px;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.16;
}

.landing h2 {
  margin-bottom: 24px;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.2;
}

.landing h3 {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}

.landing p {
  color: var(--dm-text-soft);
  font-size: 18px;
  line-height: 1.55;
}

.landing-btn {
  --bs-btn-bg: var(--dm-action);
  --bs-btn-border-color: var(--dm-action);
  --bs-btn-hover-bg: var(--dm-action-hover);
  --bs-btn-hover-border-color: var(--dm-action-hover);
  --bs-btn-active-bg: var(--dm-action-hover);
  --bs-btn-active-border-color: var(--dm-action-hover);
  min-height: 56px;
  padding: 15px 24px;
  border-radius: 12px;
  color: var(--dm-text);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.landing-hero {
  position: relative;
  min-height: 800px;
  display: flex;
  align-items: center;
}

.landing-hero__media,
.landing-hero__media::after,
.landing-hero__media picture,
.landing-hero__media img {
  position: absolute;
  inset: 0;
}

.landing-hero__media {
  overflow: hidden;
}

.landing-hero__media::after {
  content: "";
  background:
    linear-gradient(78deg, rgba(0, 0, 0, 0.96) 11%, rgba(0, 0, 0, 0.62) 30%, rgba(0, 0, 0, 0) 55%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 70%, #000 100%);
}

.landing-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.landing-hero .container {
  position: relative;
  z-index: 1;
}

.min-vh-landing {
  min-height: 800px;
}

.landing-benefits {
  padding: 32px 0;
  background: var(--dm-surface);
}

.benefit-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.benefit-icon {
  display: inline-flex;
  flex: 0 0 70px;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
}

.benefit-icon img {
  display: block;
  width: 100%;
  max-width: 66px;
  height: 100%;
  max-height: 53px;
  object-fit: contain;
}

.benefit-item h3 {
  margin: 0;
  color: var(--dm-action);
  font-size: 24px;
  line-height: 1.32;
}

.benefit-item p {
  margin: 0;
  color: var(--dm-text-soft);
  font-size: 18px;
}

.landing-benefits__slider.slick-initialized {
  display: block;
}

.landing-benefits__slider.slick-initialized .slick-track {
  display: flex;
  align-items: center;
}

.landing-benefits__slider.slick-initialized .slick-slide {
  height: auto;
}

.landing-intro {
  padding-bottom: 160px;
}

.landing-intro p {
  max-width: 1120px;
  margin: 0 auto;
  font-size: 20px;
}

.landing-image,
.equipment-card {
  position: relative;
  height: 100%;
  min-height: 500px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--dm-radius-xl);
  background: var(--dm-surface-soft);
}

.landing-image img,
.equipment-card img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.landing-image--tall {
  min-height: 710px;
}

.section-copy {
  margin-bottom: 48px;
}

.section-copy--small {
  margin-top: 48px;
  margin-bottom: 0;
}

.section-copy--small h3 {
  margin-bottom: 24px;
  color: var(--dm-text);
  font-size: 24px;
}

.outline-card,
.dark-card {
  height: 100%;
  border-radius: var(--dm-radius-lg);
}

.outline-card {
  padding: 24px;
  border: 1px solid var(--dm-border);
  background: rgba(0, 0, 0, 0.18);
}

.outline-card span {
  display: block;
  width: 33px;
  height: 32px;
  margin-bottom: 16px;
  border: 2px solid var(--dm-action);
  border-radius: 10px;
}

.outline-card p,
.dark-card p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.5;
}

.dark-card {
  position: relative;
  min-height: 190px;
  padding: 24px;
  aspect-ratio: 1 / 1;
  border: 1px solid #B6E9FF;
}

.dark-card__icon {
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 24px;
  object-fit: contain;
}

.landing-impact .dark-card-1 {
  background-image: url("../img/landing/impact-frame-1.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.landing-impact .dark-card-2 {
  background-image: url("../img/landing/impact-frame-2.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.landing-impact h2,
.landing-equipment h2,
.landing-investment h2 {
  max-width: 680px;
}

.landing-equipment h3 {
  color: var(--dm-focus);
}

.stimulus-list {
  margin-top: 28px;
}

.stimulus-list h2 {
  margin-bottom: 24px;
  font-size: 36px;
}

.stimulus-list ol {
  display: grid;
  gap: 25px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: stimulus;
}

.stimulus-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 24px;
  color: var(--dm-text-soft);
  counter-increment: stimulus;
}
.stimulus-list li span {
  font-size: 18px;
}
.stimulus-list li::before {
  content: counter(stimulus);
  display: inline-flex;
  flex: 0 0 50px;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid var(--dm-action);
  border-radius: 50%;
  color: var(--dm-action);
  font-size: 32px;
  font-weight: 500;
}


.equipment-card {
  min-height: 460px;
  padding: 24px;
}

.equipment-card img {
  min-height: 360px;
  border-radius: 18px;
}

.equipment-card figcaption {
  margin-top: 16px;
  color: #fff;
  font-size: 16px;
}

.landing-monitoring h2 {
  margin-bottom: 42px;
}
.landing-monitoring p {
  margin-bottom: 0;
  font-weight: 300;
  font-size: 18px;
}
.simple-card {
  padding: 32px 24px;
  border-radius: var(--dm-radius-lg);
  background: var(--dm-surface-card);
  height: 100%;
}

.landing-audience {
  background: var(--dm-surface-soft);
}
.landing-audience .w-title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
}
.landing-audience .img-icon {
  max-width: 60px;
}
.landing-audience h3 {
  font-size: 20px;
}
.landing-audience p, 
.landing-audience h3 {
  margin-bottom: 0;
}

.audience-list {
  display: grid;
  gap: 16px;
}

.audience-list article {
  padding: 32px 48px;
  border-radius: var(--dm-radius-lg);
  background: var(--dm-page);
}

.audience-list article:nth-child(2) {
  background: var(--dm-surface-card);
}

.audience-list article:nth-child(3) {
  background: #0e2337;
}

.audience-list p {
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 0;
}

.investment-features {
  margin-bottom: 32px;
}

.price-card {
  padding: 32px 24px;
  border: 1px solid var(--dm-border);
  border-radius: var(--dm-radius-lg);
  background: linear-gradient(150deg, #0e2337 0%, #000 100%);
  text-align: center;
}

.price-card h3 {
  margin-bottom: 16px;
}

.price-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--dm-text-soft);
  font-size: 42px;
  font-weight: 400;
  line-height: 1.15;
}

.price-card p {
  max-width: 420px;
  margin: 0 auto 24px;
  font-size: 14px;
}

.price-card .landing-btn {
  width: 100%;
  max-width: 460px;
}

.price-card small {
  display: block;
  margin-top: 8px;
  color: var(--dm-text-soft);
  font-size: 12px;
}

.landing-lead-modal .modal-content {
  border: 1px solid var(--dm-border);
  border-radius: var(--dm-radius-lg);
  background: var(--dm-surface-card);
  color: var(--dm-text);
  padding: 1.5rem;
}

.landing-lead-modal .modal-header {
  align-items: flex-start;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.landing-lead-modal .modal-title {
  margin-bottom: 4px;
  font-size: 28px;
}

.landing-lead-modal .modal-header p {
  margin: 0;
  color: var(--dm-text-soft);
  font-size: 15px;
}

.landing-lead-form .form-label,
.landing-lead-form .form-check-label {
  color: var(--dm-text-soft);
}

.landing-lead-form .form-control {
  min-height: 48px;
  border-color: rgba(255, 255, 255, 0.18);
  background: var(--dm-surface);
  color: var(--dm-text);
}

.landing-lead-form .form-control:focus {
  border-color: var(--dm-focus);
  box-shadow: 0 0 0 0.2rem rgba(182, 233, 255, 0.18);
}

.landing-lead-form__website {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.footer {
  padding: 24px 0;
  background: var(--dm-surface);
  color: var(--dm-muted);
}

.footer .row {
  align-items: center;
}

.footer p,
.footer span {
  color: var(--dm-muted);
  font-size: 13px;
  line-height: 1.45;
}

.col-city {
  text-align: right;
}

.footer .col-ad {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.lgpd-cookie-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1050;
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 520px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  background: #06111b;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.32);
}

.lgpd-cookie-banner.is-hidden {
  display: none;
}

.lgpd-cookie-banner__text {
  color: var(--dm-text-soft);
  font-size: 13px;
  line-height: 1.45;
}

.lgpd-cookie-banner__button {
  flex: 0 0 auto;
  padding: 10px 16px;
  border: 0;
  border-radius: 10px;
  background: var(--dm-action);
  color: var(--dm-text);
  font-weight: 500;
}

.leading-lead-modal .modal-header {
  padding: 2rem;
}
.leading-lead-modal .modal-body {
  padding: 2rem;
}

@media (max-width: 1399.98px) {
  .landing h1 {
    font-size: 44px;
  }

  .landing h2 {
    font-size: 36px;
  }
}

@media (max-width: 991.98px) {
  .navbar-custom .navbar-collapse {
    margin-top: 20px;
  }

  .section-spacing {
    padding: 72px 0;
  }

  .landing h1 {
    font-size: 40px;
  }

  .landing h2 {
    font-size: 32px;
  }

  .landing-hero,
  .min-vh-landing {
    min-height: 680px;
  }

  .landing-hero__media::after {
    display: none;
  }

  .landing-intro {
    padding-bottom: 96px;
  }

  .landing-image,
  .landing-image--tall,
  .equipment-card {
    min-height: 420px;
  }

  .landing-card-grid .outline-card,
  .investment-features .outline-card {
    min-height: 100%;
    padding: 16px;
  }
  .landing-card-grid .outline-card img {
    float: left;
    margin-top: 8px;
    margin-right: 15px;
  }
  .landing-card-grid .outline-card h3 {
    margin-bottom: 0;
  }
}

@media (max-width: 767.98px) {
  .navbar-custom {
    min-height: 70px;
    padding: 20px 0;
  }

  .landing h1 {
    font-size: 34px;
  }

  .landing h2 {
    font-size: 28px;
  }

  .landing p,
  .landing-intro p {
    font-size: 16px;
  }

  .landing-hero,
  .min-vh-landing {
    min-height: 620px;
  }

  .landing-benefits {
    overflow: hidden;
    padding: 12px 0;
  }

  .landing-difference h2 {
    font-size: 30px;
  }

  .landing-benefits .container {
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }

  .landing-benefits__slider {
    margin-right: 0;
    margin-left: 0;
  }

  .landing-benefits__slide {
    width: 320px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .benefit-item {
    align-items: flex-start;
  }

  .benefit-item h3 {
    font-size: 22px;
  }

  .page-template-page-landing-php {
    padding-bottom: calc(80px + env(safe-area-inset-bottom));
  }

  .landing .landing-hero__cta {
    position: fixed;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: 12px;
    z-index: 1040;
    width: auto;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.42);
  }

  .audience-list article {
    padding: 28px 24px;
  }

  .price-card strong {
    font-size: 34px;
  }

  .footer,
  .col-city {
    text-align: center;
  }

  .col-city {
    margin-top: 12px;
  }

  .lgpd-cookie-banner {
    right: 12px;
    bottom: calc(88px + env(safe-area-inset-bottom));
    left: 12px;
    max-width: none;
    align-items: flex-start;
    flex-direction: column;
  }

  .footer .col-ad {
    justify-content: center;
  }
}

@media (max-width: 575.98px) {
  .section-spacing {
    padding: 56px 0;
  }

  .landing h1 {
    font-size: 32px;
    padding: 25px 45px;
    text-align: center;
    margin-bottom: 0;
  }

  .landing h2 {
    font-size: 25px;
  }

  .landing-btn {
    width: 100%;
  }

  .benefit-item h3 {
    font-size: 16px;
  }
  .benefit-item p {
    font-size: 13px;
  }

  .landing-hero,
  .min-vh-landing {
    min-height: 560px;
  }

  .benefit-icon {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
  }

  .benefit-icon img {
    max-width: 56px;
    max-height: 48px;
  }

  .landing-image,
  .landing-image--tall,
  .equipment-card {
    min-height: 340px;
    border-radius: 22px;
  }

  .dark-card {
    aspect-ratio: auto;
  }

  .outline-card,
  .dark-card,
  .price-card {
    border-radius: 18px;
  }

  .landing-impact .dark-card-1 {
    background-image: url("../img/landing/impact-frame-1_m.png");
    aspect-ratio: auto;
    padding-right: 40%;
  }
  .landing-impact .dark-card-2 {
    background-image: url("../img/landing/impact-frame-2_m.png");
    aspect-ratio: auto;
    padding-left: 40%;
  }

  .landing-etapas .row > div {
    padding: 24px;
  }
  .landing-etapas h2 {
    font-size: 32px;
    text-align: center;
  }
  .landing-etapas .landing-image {
    min-height: auto;
    height: auto;
  }
  .landing-etapas .landing-image img {
    height: auto;
  }

  .landing-equipment .dark-card {
    display: flex;
    flex-wrap: wrap;
  }
  .landing-equipment .dark-card h3 {
    width: 80%;
    margin-left: 16px;
    margin-bottom: 0;
  }
  .landing-equipment .dark-card .dark-card__icon {
    margin-bottom: 0;
  }

}

/* Landing page: subtle, progressive-enhancement scroll reveals. */
.landing .landing-reveal {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 680ms ease-out var(--reveal-delay, 0ms),
    transform 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.landing .landing-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .landing .landing-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
