:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#1f2a37;
  --muted:#6b7280;
  --primary:#2f57ff;
  --border:#e5e7eb;
  --shadow: 0 10px 25px rgba(0,0,0,.07);
  --radius: 18px;
}

*{ box-sizing:border-box; }

/* Container */
.container{
  width:min(1100px, 92%);
  margin:0 auto;
  padding: 28px 0 60px;
}

/* Topo */
.hero{
  background: linear-gradient(180deg, #ffffff, #f6f8fb);
  border-bottom: 1px solid var(--border);
  padding: 8px 0 18px;
}

.hero h1{
  margin:0;
  text-align:center;
  color:var(--primary);
  font-size: clamp(28px, 4vw, 44px);
  font-weight:800;
  letter-spacing: .3px;
}

.hero p{
  margin:10px auto 0;
  text-align:center;
  color:var(--muted);
  max-width: 700px;
  line-height:1.5;
}

/* Grid */
.grid{
  margin-top: 26px;
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px;
}

@media (max-width: 1100px){
  .grid{ grid-template-columns: repeat(3, 1fr); }
}

.app-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px 16px;
  text-align:center;
}

.app-icon-wrap{
  width: 92px;
  height: 92px;
  border-radius: 22px;
  background:#fff;
  margin: 2px auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 12px 22px rgba(0,0,0,.08);
  border: 1px solid var(--border);
  overflow:hidden;
}

.app-icon-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

.app-name{
  margin: 10px 0 12px;
  font-weight:700;
  color:#374151;
  font-size: 16px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius: 12px;
  border: 1px solid #c7d2fe;
  background:#fff;
  color:#111827;
  font-weight:700;
  text-decoration:none;
  transition: transform .05s ease, background .15s ease;
  user-select:none;
}

.btn:hover{ background:#eef2ff; }
.btn:active{ transform: translateY(1px); }

/* Seções */
.section{
  margin-top: 36px;
  background: var(--card);
  border:1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 26px;
}

.section-head{
  display:grid;
  grid-template-columns: 280px 1fr 320px;
  gap: 22px;
  align-items:center;
}

@media (max-width: 980px){
  .section-head{ grid-template-columns: 1fr; }
}

.big-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 10px;
}

.big-logo .logo{
  width: 200px;
  height: 200px;
  border-radius: 36px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow: 0 18px 28px rgba(0,0,0,.08);
  overflow:hidden;
}

.big-logo .logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.big-logo .title{
  font-size: 22px;
  font-weight:800;
  margin:0;
}

.badge{
  font-size: 12px;
  font-weight:800;
  padding: 5px 10px;
  border-radius: 999px;
  background:#e0e7ff;
  color:#1e40af;
  border:1px solid #c7d2fe;
}

.desc h2{
  margin: 0 0 10px;
  font-size: 20px;
}

.desc p{
  margin:0 0 14px;
  color:#374151;
  line-height:1.55;
}

.features{
  margin:0;
  padding-left: 18px;
  color:#111827;
  line-height:1.7;
  font-weight:600;
}

.features li{ margin: 6px 0; }

.preview{
  border-radius: 18px;
  border:1px solid var(--border);
  overflow:hidden;
  background:#fff;
  min-height: 220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--muted);
  font-weight:700;
}

.preview img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

/* Rodapé da seção */
.section-footer{
  margin-top: 18px;
  display:flex;
  justify-content:flex-end;
}

.back-top{
  text-decoration:none;
  font-weight:800;
  color: var(--primary);
  border: 1px solid #c7d2fe;
  padding: 10px 12px;
  border-radius: 12px;
  background:#fff;
}

.back-top:hover{ background:#eef2ff; }

/* Destaque quando cai na seção (via #id) */
.section:target{
  outline: 3px solid #c7d2fe;
  box-shadow: 0 0 0 6px rgba(199,210,254,.45), var(--shadow);
}

/* Separador */
.divider{
  margin: 34px 0 6px;
  border-top: 1px dashed var(--border);
}

/* =========================
   APP MENUS dos canais(nav superior)
========================= */
.appmenus {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #e8e8e8;
  border-bottom: 1px solid rgba(0,0,0,.08);

}

.appmenus__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 1px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: relative;
}

/* logo responsivo (remove 110px fixo) */
.appmenus__logo{
  height: clamp(128px, 8vw, 76px);
  width: auto;
  display: block;
}

.appmenus__toggle{
  border: 0;
  background: transparent;
  padding: 10px;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.appmenus__toggle:focus-visible{
  outline: 2px solid #111;
  outline-offset: 3px;
}

.appmenus__hamburger{
  width: 26px;
  height: 2px;
  background: #111;
  position: relative;
  display: block;
  border-radius: 999px;
  transition: background .2s ease;
}

.appmenus__hamburger::before,
.appmenus__hamburger::after{
  content: "";
  position: absolute;
  left: 0;
  width: 26px;
  height: 2px;
  background: #111;
  border-radius: 999px;
  transition: transform .2s ease, top .2s ease, opacity .2s ease;
}

.appmenus__hamburger::before{ top: -8px; }
.appmenus__hamburger::after{ top: 8px; }

.appmenus__nav{
  position: absolute;
  left: 16px;
  right: 16px;
  top: calc(100% + 10px);

  display: grid;
  gap: 6px;

  padding: 12px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0,0,0,.14);

  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  visibility: hidden;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.appmenus__link{
  display: block;
  text-decoration: none;
  color: #222;
  font-weight: 600;
  font-size: 15px;
  padding: 12px 12px;
  border-radius: 12px;
  transition: background .2s ease;
}

.appmenus__link:hover{ background: rgba(0,0,0,.06); }
.appmenus__link.is-active{ background: rgba(0,0,0,.08); }

.appmenus.is-open .appmenus__nav{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

.appmenus.is-open .appmenus__hamburger{ background: transparent; }
.appmenus.is-open .appmenus__hamburger::before{ top: 0; transform: rotate(45deg); }
.appmenus.is-open .appmenus__hamburger::after{ top: 0; transform: rotate(-45deg); }

/* Desktop do menu */
@media (min-width: 861px){
  .appmenus__toggle{ display: none; }

  .appmenus__nav{
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    visibility: visible;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  .appmenus__link{
    font-size: 14px;
    padding: 10px 10px;
    border-radius: 10px;
  }
}

/* =========================
   MOBILE (≤ 640px) – só o que muda
========================= */
@media (max-width: 640px){
  .container{
    width: 94%;
    padding: 18px 0 40px;
  }

  .hero{
    padding: 18px 0 12px;
  }

  .hero p{
    padding: 0 6px;
  }

  .grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .app-card{ padding: 16px 14px; }

  .app-icon-wrap{
    width: 78px;
    height: 78px;
    border-radius: 18px;
  }

  .btn{ width: 100%; }

  .section{
    padding: 16px;
    border-radius: 18px;
  }

  .section-head{ gap: 14px; }

  .big-logo .logo{
    width: 140px;
    height: 140px;
    border-radius: 28px;
  }

  .big-logo .title{
    font-size: 18px;
    text-align: center;
  }

  .desc h2{ font-size: 18px; }

  .features{ padding-left: 16px; }

  .preview{
    min-height: 160px;
    border-radius: 14px;
  }

  .section-footer{ justify-content: stretch; }

  .back-top{
    width: 100%;
    text-align: center;
  }

  .appmenus__inner{ padding: 10px 12px; }
  .appmenus__nav{ left: 12px; right: 12px; }
}

@media (prefers-reduced-motion: reduce){
  .appmenus__nav,
  .appmenus__hamburger,
  .appmenus__hamburger::before,
  .appmenus__hamburger::after{
    transition: none !important;
  }
}

/* =========================
   APP MENUS dos canais(nav superior)
========================= */

main{
  padding-top: 90px; /* ajuste fino: 70~120 dependendo da altura do seu header */
}

/* ===== Texto da seção appgeral aparecer bem ===== */
.appgeral{
  position: relative;
  z-index: 1;
  padding: 22px 12px 16px;
  text-align: center;
}

.appgeral h1{
  margin: 0;
  font-size: clamp(20px, 6vw, 44px);
  line-height: 1.1;
  font-weight: 800;
  color: #111827; /* garante contraste */
}

.appgeral p{
  margin: 10px auto 0;
  max-width: 700px;
  font-size: clamp(14px, 3.8vw, 18px);
  line-height: 1.5;
  color: #6b7280;
}

/* Mobile: header costuma ficar mais alto */
@media (max-width: 640px){
  main{ padding-top: 76px; }

.appgeral h1{
    text-wrap: balance;        /* melhora a quebra (quando suportado) */
    overflow-wrap: anywhere;   /* quebra em qualquer ponto se precisar */
    word-break: break-word;    /* fallback */
    max-width: 20ch;           /* deixa em 2 linhas mais “bonitas” */
    margin: 0 auto;
  }

}




