html { scroll-behavior: smooth; overflow-x: clip; max-width: 100%; }
body { margin: 0; overflow-x: clip; background: #050A14; color: #F4F7FB; font-family: 'Instrument Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
body { width: 100%; max-width: 100%; }
img, image-slot, svg { max-width: 100%; }
input, select, textarea, button { min-width: 0; max-width: 100%; }
section > div > *, section [style*="grid-template-columns"] > * { min-width: 0; }
a { color: #FF7A63; text-decoration: none; }
a:hover { color: #FFA894; }
::selection { background: rgba(226,59,40,0.35); }
::-webkit-scrollbar { width: 9px; }
::-webkit-scrollbar-track { background: #050A14; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.13); border-radius: 6px; }
@keyframes rise { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }
@keyframes riseR { from { opacity: 0; transform: translateY(46px) scale(0.97); } to { opacity: 1; transform: none; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes drift1 { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(120px,90px) scale(1.18); } 100% { transform: translate(-40px,160px) scale(1.04); } }
@keyframes drift2 { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(-140px,-70px) scale(1.22); } 100% { transform: translate(80px,-130px) scale(1.06); } }
@keyframes grain { from { background-position: 0 0; } to { background-position: 420px 380px; } }
@keyframes panelIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes sheen { 0% { left: -60px; transform: skewX(-18deg); } 100% { left: 100%; transform: skewX(-18deg); } }
@keyframes halo { 0%, 100% { opacity: 0.45; } 50% { opacity: 0.9; } }
@keyframes waPulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,0.45); } 70% { box-shadow: 0 0 0 20px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }

@media (max-width: 1080px) {
  section[id] { padding-top: 75px !important; padding-bottom: 75px !important; }
  #hero { padding-top: 148px !important; padding-bottom: 75px !important; }
  section[id] > div:not([data-hero-media]) { padding-left: 22px !important; padding-right: 22px !important; }
  [data-nav] { gap: 22px !important; }
  [data-band] { padding: 52px 24px 46px !important; }
  [data-form-panel] { padding: 38px 28px !important; }
  [data-testi-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-form-img] { min-height: 400px !important; }
}
@media (max-width: 900px) {
  [data-nav] { display: none !important; }
  [data-menu-btn] { display: flex !important; }
  [data-mobile-menu][data-open="true"] { display: block !important; }
  section[id] { padding-top: 75px !important; padding-bottom: 75px !important; }
  #hero { padding-top: 128px !important; padding-bottom: 75px !important; }
  #hero > div { gap: 46px !important; }
  [data-hero-frame] { display: none !important; }
  [data-hero-media] { position: absolute !important; top: 0 !important; right: 0 !important; left: 0 !important; bottom: 0 !important; width: 100% !important; height: auto !important; margin-top: 0 !important; -webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, #000 22%, #000 100%) !important; mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, #000 22%, #000 100%) !important; -webkit-mask-composite: source-over !important; mask-composite: add !important; }
  [data-hero-media]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,10,20,0.9) 0%, rgba(5,10,20,0.82) 42%, rgba(5,10,20,0.55) 100%); pointer-events: none; }
  [data-hero-slot] { height: 100% !important; }
  [data-hero-badge] { position: static !important; margin-top: 18px !important; box-shadow: none !important; }
  [data-band] { padding: 44px 20px 40px !important; }
  [data-stat] { border-left: none !important; padding: 0 10px !important; flex: 1 1 100% !important; }
  [data-stat] + [data-stat] { border-top: 1px solid rgba(255,255,255,0.14) !important; padding-top: 30px !important; }
  [data-para] { translate: none !important; }
  [data-callout] { padding: 48px 32px !important; }
  [data-callout-inner] { justify-content: center !important; text-align: center !important; gap: 30px !important; }
  [data-callout-inner] > h2 { flex: 1 1 100% !important; max-width: 100% !important; }
}
@media (max-width: 700px) {
  #hero > div, #autoridade > div, #contato > div > div, #servicos [data-panel], #socios > div > div, #prova > div > div { grid-template-columns: 1fr !important; }
}
@media (max-width: 700px) {
  [data-seal-divider] { display: none !important; }
  [data-callout] { padding: 44px 22px !important; }
  [data-callout-inner] { justify-content: center !important; text-align: center !important; gap: 28px !important; }
  [data-callout-inner] > h2 { flex: 1 1 100% !important; max-width: 100% !important; }
  [data-callout] a { flex: 1 1 100% !important; width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 17px 18px !important; font-size: 15px !important; }
  [data-form-img] { min-height: 0 !important; display: block !important; }
  [data-form-slot] { position: relative !important; display: block !important; height: 240px !important; }
  [data-form-shade] { display: none !important; }
  [data-form-copy] { position: static !important; padding: 30px 22px 6px !important; }
}
@media (max-width: 560px) {
  section[id] > div:not([data-hero-media]) { padding-left: 18px !important; padding-right: 18px !important; }
  [data-h1] { font-size: clamp(32px, 9vw, 44px) !important; }
  [data-testi-grid] { grid-template-columns: 1fr !important; }
  [data-google-word] { display: none !important; }
  [data-hero-trust] { gap: 12px !important; flex-wrap: nowrap !important; }
  [data-hero-trust] > span:last-child { white-space: nowrap !important; }
  [data-band] { padding: 36px 16px 32px !important; }
  [data-form-panel] { padding: 30px 20px !important; }
  [data-hero-cta] > a { width: 100% !important; justify-content: center !important; text-align: center !important; }
}
@container frame (max-width: 1080px) {
  section[id] { padding-top: 75px !important; padding-bottom: 75px !important; }
  #hero { padding-top: 148px !important; padding-bottom: 75px !important; }
  section[id] > div:not([data-hero-media]) { padding-left: 22px !important; padding-right: 22px !important; }
  [data-nav] { gap: 22px !important; }
  [data-band] { padding: 52px 24px 46px !important; }
  [data-form-panel] { padding: 38px 28px !important; }
  [data-testi-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-form-img] { min-height: 400px !important; }
}
@container frame (max-width: 900px) {
  [data-nav] { display: none !important; }
  [data-menu-btn] { display: flex !important; }
  [data-mobile-menu][data-open="true"] { display: block !important; }
  section[id] { padding-top: 75px !important; padding-bottom: 75px !important; }
  #hero { padding-top: 128px !important; padding-bottom: 75px !important; }
  #hero > div { gap: 46px !important; }
  [data-hero-frame] { display: none !important; }
  [data-hero-media] { position: absolute !important; top: 0 !important; right: 0 !important; left: 0 !important; bottom: 0 !important; width: 100% !important; height: auto !important; margin-top: 0 !important; -webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, #000 22%, #000 100%) !important; mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, #000 22%, #000 100%) !important; -webkit-mask-composite: source-over !important; mask-composite: add !important; }
  [data-hero-media]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,10,20,0.9) 0%, rgba(5,10,20,0.82) 42%, rgba(5,10,20,0.55) 100%); pointer-events: none; }
  [data-hero-slot] { height: 100% !important; }
  [data-hero-badge] { position: static !important; margin-top: 18px !important; box-shadow: none !important; }
  [data-band] { padding: 44px 20px 40px !important; }
  [data-stat] { border-left: none !important; padding: 0 10px !important; flex: 1 1 100% !important; }
  [data-stat] + [data-stat] { border-top: 1px solid rgba(255,255,255,0.14) !important; padding-top: 30px !important; }
  [data-para] { translate: none !important; }
  [data-callout] { padding: 48px 32px !important; }
  [data-callout-inner] { justify-content: center !important; text-align: center !important; gap: 30px !important; }
  [data-callout-inner] > h2 { flex: 1 1 100% !important; max-width: 100% !important; }
}
@container frame (max-width: 700px) {
  #hero > div, #autoridade > div, #contato > div > div, #servicos [data-panel], #socios > div > div, #prova > div > div { grid-template-columns: 1fr !important; }
}
@container frame (max-width: 700px) {
  [data-seal-divider] { display: none !important; }
  [data-callout] { padding: 44px 22px !important; }
  [data-callout-inner] { justify-content: center !important; text-align: center !important; gap: 28px !important; }
  [data-callout-inner] > h2 { flex: 1 1 100% !important; max-width: 100% !important; }
  [data-callout] a { flex: 1 1 100% !important; width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 17px 18px !important; font-size: 15px !important; }
  [data-form-img] { min-height: 0 !important; display: block !important; }
  [data-form-slot] { position: relative !important; display: block !important; height: 240px !important; }
  [data-form-shade] { display: none !important; }
  [data-form-copy] { position: static !important; padding: 30px 22px 6px !important; }
}
@container frame (max-width: 560px) {
  section[id] > div:not([data-hero-media]) { padding-left: 18px !important; padding-right: 18px !important; }
  [data-h1] { font-size: clamp(32px, 9vw, 44px) !important; }
  [data-testi-grid] { grid-template-columns: 1fr !important; }
  [data-google-word] { display: none !important; }
  [data-hero-trust] { gap: 12px !important; flex-wrap: nowrap !important; }
  [data-hero-trust] > span:last-child { white-space: nowrap !important; }
  [data-band] { padding: 36px 16px 32px !important; }
  [data-form-panel] { padding: 30px 20px !important; }
  [data-hero-cta] > a { width: 100% !important; justify-content: center !important; text-align: center !important; }
}

/* estados de interação */
.x1:hover { color: #F4F7FB !important; }
.x2:hover { color: #F4F7FB !important; }
.x3:hover { color: #F4F7FB !important; }
.x4:hover { color: #F4F7FB !important; }
.x5:hover { background: rgba(15,157,107,0.3) !important; border-color: #0F9D6B !important; color: #FFFFFF !important; }
.x6:hover { background: rgba(255,255,255,0.06) !important; color: #FFFFFF !important; }
.x7:hover { background: rgba(255,255,255,0.06) !important; color: #FFFFFF !important; }
.x8:hover { background: rgba(255,255,255,0.06) !important; color: #FFFFFF !important; }
.x9:hover { background: rgba(255,255,255,0.06) !important; color: #FFFFFF !important; }
.x10:hover { color: #FFFFFF !important; }
.x11:hover { transform: translateY(-3px) !important; box-shadow: 0 24px 56px rgba(15,157,107,0.42) !important; color: #FFFFFF !important; }
.x12:hover { background: rgba(255,255,255,0.09) !important; border-color: rgba(255,255,255,0.3) !important; color: #F4F7FB !important; }
.x13:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.4) !important; }
.x14:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.4) !important; }
.x15:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.4) !important; }
.x16:hover { background: rgba(255,255,255,0.055) !important; border-color: rgba(226,59,40,0.4) !important; }
.x17:hover { background: rgba(255,255,255,0.055) !important; border-color: rgba(226,59,40,0.4) !important; }
.x18:hover { transform: translateY(-2px) !important; box-shadow: 0 20px 46px rgba(15,157,107,0.42) !important; color: #FFFFFF !important; }
.x19:hover { transform: translateY(-2px) !important; box-shadow: 0 20px 46px rgba(15,157,107,0.42) !important; color: #FFFFFF !important; }
.x20:hover { transform: translateY(-2px) !important; box-shadow: 0 20px 46px rgba(15,157,107,0.42) !important; color: #FFFFFF !important; }
.x21:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.35) !important; }
.x22:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.35) !important; }
.x23:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.35) !important; }
.x24:hover { background: rgba(255,255,255,0.06) !important; border-color: rgba(226,59,40,0.35) !important; }
.x25:focus { border-color: #E23B28 !important; outline: none !important; }
.x26:focus { border-color: #E23B28 !important; outline: none !important; }
.x27:focus { border-color: #E23B28 !important; outline: none !important; }
.x28:focus { border-color: #E23B28 !important; outline: none !important; }
.x29:hover { transform: translateY(-2px) !important; box-shadow: 0 22px 54px rgba(15,157,107,0.44) !important; }
.x30:hover { color: #FFFFFF !important; }
.x31:hover { color: #FFFFFF !important; }
.x32:hover { color: #FFFFFF !important; }
.x33:hover { color: #FFFFFF !important; }
.x34:hover { color: #FFFFFF !important; }
.x35:hover { color: #FFFFFF !important; }
.x36:hover { color: #FFFFFF !important; }

/* CTA do callout: largura total e sem corte em telas pequenas */
@media (max-width: 900px) {
  [data-callout-inner] { flex-direction: column !important; align-items: stretch !important; gap: 28px !important; }
  [data-callout-inner] > h2 { flex: 0 0 auto !important; max-width: 100% !important; text-align: center !important; }
  [data-callout] a { display: flex !important; box-sizing: border-box !important; flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 17px 18px !important; font-size: 15px !important; white-space: normal !important; }
}
@container frame (max-width: 900px) {
  [data-callout-inner] { flex-direction: column !important; align-items: stretch !important; gap: 28px !important; }
  [data-callout-inner] > h2 { flex: 0 0 auto !important; max-width: 100% !important; text-align: center !important; }
  [data-callout] a { display: flex !important; box-sizing: border-box !important; flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 17px 18px !important; font-size: 15px !important; white-space: normal !important; }
}

/* grid de serviços: imagem compacta + texto colado */
@media (max-width: 900px) {
  [data-svc-grid] { grid-template-columns: 1fr !important; gap: 30px !important; }
  [data-svc-grid] > div:first-child { max-width: 100% !important; }
}
@container frame (max-width: 900px) {
  [data-svc-grid] { grid-template-columns: 1fr !important; gap: 30px !important; }
  [data-svc-grid] > div:first-child { max-width: 100% !important; }
}
