/* WT Informática — estilos globais (paleta, tipografia, componentes, animações) */

  :root{
    --bg: #080C12;
    --bg-alt: #0F1722;
    --blue: #2563EB;
    --blue-light: #38BDF8;
    --white: #F8FAFC;
    --gray: #94A3B8;
    --border: rgba(148,163,184,0.14);
  }

  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--white);
    font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4, .display{
    font-family:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;
  }

  ::selection{ background: var(--blue); color:#fff; }

  .bg-alt{ background: var(--bg-alt); }
  .text-gray{ color: var(--gray); }
  .text-blue{ color: var(--blue); }
  .text-blue-light{ color: var(--blue-light); }
  .border-hair{ border-color: var(--border); }

  .grid-lines{
    background-image:
      linear-gradient(to right, rgba(148,163,184,0.06) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(148,163,184,0.06) 1px, transparent 1px);
    background-size: 64px 64px;
  }

  .glow-dot{
    box-shadow: 0 0 0 4px rgba(37,99,235,0.08);
  }

  .btn-primary{
    background: var(--blue);
    color: #fff;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 0 0 0 rgba(37,99,235,0.0);
  }
  .btn-primary:hover{
    background:#1d4ed8;
    box-shadow: 0 8px 30px -8px rgba(37,99,235,0.55);
    transform: translateY(-1px);
  }
  .btn-ghost{
    border:1px solid var(--border);
    color: var(--white);
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .btn-ghost:hover{
    border-color: rgba(56,189,248,0.5);
    background: rgba(56,189,248,0.06);
    transform: translateY(-1px);
  }

  .wa-btn{
    background:#0F1722;
    border:1px solid var(--border);
    transition: border-color .2s ease, transform .2s ease, background .2s ease;
  }
  .wa-btn:hover{
    border-color: rgba(37,197,94,0.45);
    background: rgba(37,197,94,0.06);
    transform: translateY(-1px);
  }

  .card{
    background: var(--bg-alt);
    border: 1px solid var(--border);
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .card:hover{
    border-color: rgba(56,189,248,0.35);
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -24px rgba(37,99,235,0.35);
  }

  .card-icon{
    transition: color .25s ease, transform .25s ease;
  }
  .card:hover .card-icon{
    color: var(--blue-light);
    transform: scale(1.08);
  }

  /* Reveal on scroll */
  .reveal{
    opacity:0;
    transform: translateY(18px);
    transition: opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1);
  }
  .reveal.is-visible{
    opacity:1;
    transform: translateY(0);
  }
  .reveal-stagger > * {
    transition-delay: calc(var(--i, 0) * 70ms);
  }

  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
    html{ scroll-behavior:auto; }
  }

  /* Sticky header state */
  #site-header{
    transition: background-color .3s ease, border-color .3s ease, backdrop-filter .3s ease;
    background-color: rgba(8,12,18,0);
    border-bottom: 1px solid transparent;
  }
  #site-header.scrolled{
    background-color: rgba(8,12,18,0.85);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
  }

  /* Mobile menu */
  #mobile-menu{
    max-height:0;
    overflow:hidden;
    transition: max-height .35s ease;
  }
  #mobile-menu.open{ max-height: 480px; }

  /* FAQ */
  details.faq > summary{ list-style:none; cursor:pointer; }
  details.faq > summary::-webkit-details-marker{ display:none; }
  details.faq[open] .faq-icon{ transform: rotate(45deg); }
  .faq-icon{ transition: transform .25s ease; }

  a:focus-visible, button:focus-visible, summary:focus-visible{
    outline: 2px solid var(--blue-light);
    outline-offset: 3px;
    border-radius: 4px;
  }

.hero-overlay{
  background:
    linear-gradient(180deg, rgba(8,12,18,0.55) 0%, rgba(8,12,18,0.78) 55%, rgba(8,12,18,1) 100%),
    linear-gradient(90deg, rgba(8,12,18,0.85) 0%, rgba(8,12,18,0.35) 55%, rgba(8,12,18,0.75) 100%);
}

  .num-mono{
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
  }

  .marquee-fade{
    -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  }

  /* ============================================================
     HERO — BANNER ROTATIVO (carrossel)
  ============================================================ */
  .hero-carousel{
    isolation: isolate;
  }

  .hero-slide{
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease;
    z-index: 0;
  }
  .hero-slide.active{
    position: relative;
    opacity: 1;
    visibility: visible;
    z-index: 1;
  }

  .hero-slide-img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero-slide-content{
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: 10rem 1.5rem 6.5rem;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .hero-slide-content > *{
    max-width: 42rem;
  }

  @media (min-width: 1024px){
    .hero-slide-content{ padding-left: 2.5rem; padding-right: 2.5rem; }
  }

  .hero-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(8,12,18,0.45);
    border: 1px solid var(--border);
    color: var(--white);
    backdrop-filter: blur(6px);
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .hero-arrow:hover{
    border-color: rgba(56,189,248,0.5);
    background: rgba(8,12,18,0.7);
  }
  .hero-arrow-prev{ left: 1rem; }
  .hero-arrow-next{ right: 1rem; }
  @media (min-width: 1024px){
    .hero-arrow-prev{ left: 2rem; }
    .hero-arrow-next{ right: 2rem; }
  }
  @media (max-width: 639px){
    .hero-arrow{ display: none; }
  }

  .hero-dots{
    position: absolute;
    left: 50%;
    bottom: 1.75rem;
    transform: translateX(-50%);
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  @media (min-width: 1024px){
    .hero-dots{ left: auto; right: 2.5rem; transform: none; }
  }

  .hero-dot{
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: rgba(248,250,252,0.3);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background .25s ease, width .25s ease;
  }
  .hero-dot:hover{
    background: rgba(248,250,252,0.55);
  }
  .hero-dot.active{
    width: 26px;
    background: var(--blue-light);
  }

  @media (prefers-reduced-motion: reduce){
    .hero-slide{ transition: none; }
  }
