/* ChatISP navigation, September 2026. Native disclosures work without JS. */
html { scroll-padding-top: 100px; }
.site-header { z-index: 80; background: #08110ef5; border-bottom: 1px solid #b8d3c21a; backdrop-filter: blur(24px); }
.header-wrap { width: min(1512px, calc(100% - 96px)); margin-inline: auto; }
.header-main { height: 90px; display: flex; align-items: center; gap: 38px; }
.header-brand { display: flex; flex-direction: column; flex: none; gap: 5px; padding-block: 8px; }
.header-brand .marca-vetor { width: 164px; height: auto; overflow: visible; }
.brand-signature { color: #8faaa0; font-size: 7px; letter-spacing: 2.15px; margin-left: 48px; white-space: nowrap; }
.header-brand > svg > path:first-child { transform-box: fill-box; transform-origin: center; }
.header-brand.brand-enter > svg > path:first-child { animation: brand-symbol-in 1.15s cubic-bezier(.16,1,.3,1) both; }
.header-brand.brand-enter > svg > g:last-child { animation: brand-word-in 1s .22s cubic-bezier(.16,1,.3,1) both; }
.header-brand.brand-enter .brand-signature { animation: brand-signature-in .9s .45s both; }
@keyframes brand-symbol-in { from { opacity: 0; transform: perspective(400px) rotateY(-100deg) scale(.7); filter: blur(5px); } to { opacity: 1; transform: perspective(400px) rotateY(0) scale(1); filter: blur(0); } }
@keyframes brand-word-in { from { opacity: 0; filter: blur(5px); } to { opacity: 1; filter: blur(0); } }
@keyframes brand-signature-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.header-nav { margin-left: auto; display: flex; align-items: center; gap: 31px; }
.nav-disclosure > summary, .header-link { display: flex; align-items: center; gap: 7px; padding: 16px 0; color: #bccbc3; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: color .2s; }
.nav-disclosure > summary { list-style: none; }
.nav-disclosure > summary::-webkit-details-marker { display: none; }
.nav-disclosure > summary > svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform .25s; }
.nav-disclosure[open] > summary > svg { transform: rotate(180deg); }
.nav-disclosure[open] > summary, .nav-disclosure > summary:hover, .header-link:hover { color: #80edba; }
.header-live-dot { width: 4px; height: 4px; border-radius: 50%; background: #72e8af; margin-left: 2px; box-shadow: 0 0 10px #72e8af50; }
.header-cta { display: flex; align-items: center; gap: 17px; padding: 6px 6px 6px 20px; min-height: 44px; color: #092017; background: #a1f3c6; font-size: 11px; font-weight: 800; border: 1px solid #b0ffd3; border-radius: 5px; white-space: nowrap; transition: background .2s, box-shadow .2s; }
.header-cta:hover { background: #c1ffdd; box-shadow: 0 0 25px #7cedb52b; }
.header-cta-arrow { display: grid; place-items: center; width: 30px; height: 30px; background: #133324; color: #baf9d5; border-radius: 3px; }
.header-cta-arrow .icone { width: 17px; height: 17px; transition: transform .2s; }
.header-cta:hover .icone { transform: translate(2px,-2px); }
/* O botao do Cloud: mesmo corpo do Download, na tinta azul (e o produto
   hospedado; o verde segue sendo o do download da imagem). Os dois vivem
   lado a lado no canto direito do cabecalho. */
.header-ctas { display: flex; align-items: center; gap: 8px; }
.header-cta--cloud { color: #071426; background: #9ec9ff; border-color: #b4d6ff; }
.header-cta--cloud:hover { background: #bcdaff; box-shadow: 0 0 25px #7cb4ed2b; }
.header-cta--cloud .header-cta-arrow { background: #12283f; color: #b9d9fb; }
.header-mobile-contact, .header-mobile-trial { display: none; }
.mega-panel { position: absolute; top: 100%; left: 0; right: 0; width: min(1280px, calc(100% - 96px)); margin-inline: auto; border: 1px solid #3c5646; border-top: 2px solid #90eaba; border-radius: 0 0 12px 12px; background: #0d1913; box-shadow: 0 30px 70px #0008; max-height: calc(100dvh - 145px); overflow: auto; }
.nav-disclosure[open] .mega-panel { animation: mega-reveal .26s cubic-bezier(.2,.7,.2,1) both; }
@keyframes mega-reveal { from { opacity: 0; transform: translateY(-9px); } to { opacity: 1; transform: translateY(0); } }
.mega-main { display: grid; grid-template-columns: 1fr 1fr .87fr; gap: 25px; padding: 30px; }
.mega-eyebrow { color: #7ca58d; font-size: 9px; letter-spacing: 1.4px; font-weight: 700; margin: 0 0 18px; display: block; }
.mega-group { padding-top: 12px; }
.mega-group > .mega-eyebrow { padding-left: 11px; }
.mega-link { display: flex; gap: 12px; align-items: center; padding: 15px 11px; border-radius: 6px; transition: background .2s; }
.mega-link:hover, .mega-link:focus-visible { background: #1a2c20; }
.mega-icon { width: 36px; height: 38px; flex: none; display: grid; place-items: center; background: #17271d; border: 1px solid #2a3f31; border-radius: 6px; color: #a9e6c0; }
.mega-icon .icone { width: 18px; height: 18px; }
.mega-link strong { display: block; font-size: 12px; color: #e4eee5; font-weight: 600; }
.mega-link small { display: block; color: #9caea1; font-size: 10px; line-height: 1.7; margin-top: 4px; }
.mega-link-arrow { margin-left: auto; color: #91b29d; font-size: 15px; opacity: 0; transform: translate(-4px,4px); transition: opacity .2s, transform .2s; }
.mega-link:hover .mega-link-arrow, .mega-link:focus-visible .mega-link-arrow { opacity: 1; transform: none; }
.mega-feature { position: relative; padding: 25px; overflow: hidden; border: 1px solid #3d5d47; background: radial-gradient(ellipse at 100% 0, #2e644740, transparent 80%), #1a3023; border-radius: 7px; }
.mega-feature .mega-eyebrow { color: #c1e7cc; margin-bottom: 35px; font-size: 8px; }
.mega-feature strong { position: relative; display: block; font-family: var(--titulo); font-size: 24px; font-weight: 400; letter-spacing: -1px; line-height: 1.3; }
.mega-feature p { position: relative; color: #abc1b0; font-size: 11px; line-height: 1.7; margin-top: 10px; max-width: 220px; }
.mega-feature-cta { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 10px; font-weight: 700; color: #c9f7da; margin-top: 25px; padding-top: 16px; border-top: 1px solid #749a793d; }
.mega-feature-cta .icone { width: 16px; height: 16px; }
.mega-feature-symbol { position: absolute; right: -12px; top: 23px; color: #91dba619; transform: rotate(-15deg); }
.mega-feature-symbol .icone { width: 115px; height: 115px; stroke-width: .6; }
.mega-feature:hover { background-color: #203e2d; }
.mega-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 42px; border-top: 1px solid #2c4032; background: #09120d; font-size: 10px; }
.mega-bottom > span, .mega-bottom a { display: flex; align-items: center; gap: 9px; color: #a7c0af; }
.mega-bottom a { color: #b8e8c7; }
.mega-bottom .icone { width: 14px; height: 14px; }
.header-scrim { position: fixed; inset: 0; z-index: 75; background: #0006; backdrop-filter: blur(5px); }
.header-toggle { display: none; width: 42px; height: 42px; background: transparent; border: 1px solid #344c3e; border-radius: 4px; padding: 12px 10px; }
.header-toggle span { display: block; height: 1px; margin: 5px 0; background: #d8f5e3; transition: transform .2s; }
.header-toggle[aria-expanded=true] span:first-child { transform: translateY(3px) rotate(45deg); }
.header-toggle[aria-expanded=true] span:last-child { transform: translateY(-3px) rotate(-45deg); }
@media (max-width: 1180px) {
  .header-wrap { width: calc(100% - 56px); }
  .header-main { gap: 25px; }
  .header-nav { gap: 23px; }
  .header-brand .marca-vetor { width: 145px; }
  .brand-signature { font-size: 6px; margin-left: 42px; letter-spacing: 1.9px; }
  .mega-panel { width: calc(100% - 56px); }
  .mega-main { gap: 12px; padding: 20px; }
  .mega-link { gap: 9px; padding-inline: 6px; }
  .mega-link strong { font-size: 11px; }
}
/* Com a Documentacao no menu (01/10/2026), a regua de seis itens mais os dois
   botoes nao cabia entre 981 e ~1065px: estourava 41px em 1024. A faixa ganha
   um degrau proprio antes do hamburger, apertando o que tem folga. */
@media (max-width: 1080px) {
  .header-main { gap: 16px; }
  .header-nav { gap: 14px; }
  .header-ctas { gap: 6px; }
  .header-cta { padding: 11px 13px; }
  .header-brand .marca-vetor { width: 126px; }
  .brand-signature { font-size: 5px; margin-left: 36px; letter-spacing: 1.5px; }
}
@media (max-width: 980px) {
  html { scroll-padding-top: 86px; }
  .header-main { height: 76px; gap: 18px; }
  .header-cta { margin-left: auto; }
  .header-toggle:not([hidden]) { display: block; flex: none; }
  .header-nav { gap: 0; flex-direction: column; align-items: stretch; position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100dvh - 108px); overflow-y: auto; padding: 15px 28px 28px; background: #0b1710; border-bottom: 1px solid #38543f; box-shadow: 0 30px 45px #0006; }
  .header-ready .header-nav { display: none; }
  .site-header[data-mobile-open] .header-nav { display: flex; }
  .nav-disclosure > summary, .header-link { min-height: 58px; justify-content: space-between; font-size: 17px; font-weight: 500; border-bottom: 1px solid #2b3f31; padding: 16px 4px; }
  .header-link .header-live-dot { margin-left: 9px; margin-right: auto; }
  .mega-panel { position: static; width: 100%; border: 0; max-height: none; box-shadow: none; background: transparent; border-radius: 0; }
  .mega-main { grid-template-columns: 1fr 1fr; gap: 15px; padding: 15px 0; }
  .mega-link strong { font-size: 12px; }
  .mega-feature { display: none; }
  .mega-bottom { background: #102219; padding: 14px; flex-wrap: wrap; gap: 8px; border-radius: 4px; }
  .mega-bottom > span { display: none; }
  .header-mobile-contact { display: flex; }
  .header-mobile-contact .icone { width: 18px; }
  .header-mobile-trial { display: flex; align-items: center; justify-content: space-between; margin-top: 25px; padding: 16px; background: #a1f3c6; color: #0b2113; border-radius: 4px; font-size: 13px; font-weight: 800; }
}
@media (max-width: 600px) {
  .header-wrap { width: calc(100% - 36px); }
  .header-main { height: 74px; gap: 12px; }
  .header-brand .marca-vetor { width: 126px; }
  .brand-signature { font-size: 5px; margin-left: 36px; letter-spacing: 1.5px; }
  .header-cta { padding: 10px 11px; min-height: 39px; font-size: 10px; }
  .header-cta-arrow { display: none; }
  .header-toggle { width: 37px; height: 39px; padding-inline: 9px; }
  .header-nav { padding-inline: 20px; max-height: calc(100dvh - 102px); }
  .mega-main { grid-template-columns: 1fr; gap: 12px; }
  .mega-group { padding-top: 5px; }
  .mega-group > .mega-eyebrow { margin-bottom: 5px; }
  .mega-link { padding-block: 12px; }
  .mega-link small { font-size: 11px; }
}
@media (max-width: 360px) {
  .header-wrap { width: calc(100% - 28px); }
  .header-main { gap: 8px; }
  .header-brand .marca-vetor { width: 113px; }
  .brand-signature { margin-left: 32px; letter-spacing: 1.15px; }
  .header-cta { padding-inline: 9px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header *, .site-header *::before, .site-header *::after { animation: none !important; transition: none !important; }
}
.movimento-pausado .site-header *, .pagina-oculta .site-header * { animation-play-state: paused !important; }

/* A brief brand opening resolves into the real header, without blocking input. */
.brand-intro { position: fixed; inset: 0; z-index: 200; pointer-events: none; }
.brand-intro-half { position: absolute; left: 0; right: 0; height: 50.1%; background: #07100c; }
.brand-intro-half:first-child { top: 0; border-bottom: 1px solid #82c89d25; }
.brand-intro-half:nth-child(2) { bottom: 0; }
.brand-intro-mark { position: absolute; width: min(290px, 65vw); left: 50%; top: 50%; transform: translate(-50%, -50%); }
.brand-intro-mark .marca-vetor { display: block; width: 100%; height: auto; overflow: visible; }
.brand-intro-label { position: absolute; top: calc(50% + 67px); width: 100%; text-align: center; font-size: 8px; letter-spacing: 3.5px; color: #9bc7ac; }
.header-brand[data-intro] { visibility: hidden; }

.header-scrim { touch-action: none; }
.header-nav { overscroll-behavior: contain; }
@media(max-width:980px) {
  .site-header:not(.header-ready) { position: relative; }
  .site-header:not(.header-ready) .header-main { flex-wrap: wrap; height: auto; padding-top: 12px; }
  .site-header:not(.header-ready) .header-nav { position: static; order: 3; width: 100%; margin: 0; max-height: none; box-shadow: none; padding-inline: 0; }
}

/* Full-bleed navigation: the panel fills the viewport beneath the header. */
@media (min-width: 981px) {
  .mega-panel { width: 100%; height: calc(100dvh - var(--header-height, 122px)); max-height: none; margin: 0; border: 0; border-top: 1px solid #75be934f; border-radius: 0; display: flex; flex-direction: column; background: radial-gradient(ellipse at 90% 20%, #1d3c292b, transparent 65%), #0b1710; box-shadow: 0 30px 70px #0008; overscroll-behavior: contain; }
  .nav-disclosure:not([open]) .mega-panel { display: none; }
  .mega-intro, .mega-main, .mega-bottom-inner { width: min(1440px, calc(100% - 96px)); margin-inline: auto; }
  .mega-intro { position: relative; display: flex; align-items: flex-end; gap: 70px; padding: clamp(28px, 5vh, 55px) 0 32px; border-bottom: 1px solid #88b29626; }
  .mega-intro .mega-eyebrow { margin-bottom: 14px; font-size: 9px; }
  .mega-title { color: #edf2e6; font-family: var(--titulo); font-size: clamp(32px, 3.1vw, 51px); font-weight: 400; letter-spacing: -2px; line-height: 1.16; }
  .mega-title em { font-style: normal; color: #ace5c1; }
  .mega-description { color: #9fb4a5; font-size: 12px; line-height: 1.9; margin-bottom: 5px; }
  .mega-close { position: absolute; top: 32px; right: 0; display: inline-flex; align-items: center; gap: 14px; border: 0; background: transparent; color: #bdd6c5; padding: 6px; }
  .mega-close > span { font-size: 10px; }
  .mega-close > b { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #65836f75; border-radius: 50%; font-size: 24px; font-weight: 300; transition: background .2s; }
  .mega-close:hover > b { background: #264733; }
  .mega-main { grid-template-columns: 1fr 1fr .9fr; gap: clamp(25px, 4vw, 70px); padding: 35px 0 42px; }
  .mega-group { padding-top: 12px; }
  .mega-group > .mega-eyebrow { padding-left: 0; margin-bottom: 18px; font-size: 10px; }
  .mega-link { gap: 16px; padding: 18px 10px 18px 0; border-radius: 0; border-bottom: 1px solid #8baf9420; }
  .mega-link:hover, .mega-link:focus-visible { background: transparent; }
  .mega-link:hover strong { color: #b6f1ca; }
  .mega-link strong { font-size: 14px; font-weight: 500; }
  .mega-link small { font-size: 11px; margin-top: 6px; }
  .mega-icon { width: 43px; height: 43px; background: transparent; border-color: #63877250; border-radius: 50%; }
  .mega-icon .icone { width: 20px; height: 20px; }
  .mega-feature { padding: 30px; display: flex; flex-direction: column; min-height: 280px; border-radius: 5px; background: linear-gradient(135deg, #294d354f, transparent), #16291d; }
  .mega-feature strong { font-size: clamp(24px, 2vw, 32px); margin-top: auto; }
  .mega-feature p { font-size: 12px; max-width: 280px; }
  .mega-feature .mega-eyebrow { font-size: 9px; }
  .mega-feature-cta { margin-top: 25px; padding-top: 20px; font-size: 11px; }
  .mega-bottom { margin-top: auto; padding: 0; flex: none; background: #07100b; }
  .mega-bottom-inner { padding-block: 24px; }
  .mega-bottom-inner > span, .mega-bottom-inner a { font-size: 11px; }
}
.mega-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; }
.mega-bottom-inner > span, .mega-bottom-inner a { display: flex; align-items: center; gap: 9px; color: #b2c9bb; }
.mega-bottom-inner a { color: #b8e8c7; }
@media (min-width: 981px) {
  .mega-bottom-inner { width: min(1440px, calc(100% - 96px)); }
}
@media (min-width: 981px) and (max-height: 760px) {
  .mega-intro { padding-block: 22px; }
  .mega-title { font-size: 31px; }
  .mega-main { padding-block: 22px; }
  .mega-feature { min-height: 245px; padding: 23px; }
  .mega-link { padding-block: 14px; }
  .mega-bottom-inner { padding-block: 16px; }
}
@media (max-width: 980px) {
  .mega-intro { display: none; }
  .mega-bottom-inner { flex-wrap: wrap; gap: 8px; }
  .mega-bottom-inner > span { display: none; }
  .header-ready .header-nav { height: calc(100dvh - var(--header-height, 108px)); max-height: calc(100dvh - var(--header-height, 108px)); }
}
