/* Sizon motion and editable-content overrides. The original portable stylesheet remains untouched. */
html, body { margin: 0; padding: 0; background: #061b38; }
html { scroll-behavior: smooth; scrollbar-color: #b7f34a #061b38; scrollbar-width: thin; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #061b38; }
::-webkit-scrollbar-thumb { background: #b7f34a; border: 3px solid #061b38; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #a3e03a; }
.brand-lockup img { display: block; height: 56px; width: auto; }
.site-footer .brand-lockup img, .closing-mark .brand-lockup img { height: 24px; }
.brand-lockup-group { display: flex; flex-direction: column; gap: 5px; }
.brand-tagline { font: 500 9px/1 'IBM Plex Mono', monospace; letter-spacing: .07em; text-transform: uppercase; color: rgba(244,247,248,.5); }
.brand-tagline b { color: #b7f34a; font-weight: 600; }
/* Alinha a logo da home com o recuo do texto do hero (só na home, cabeçalho desktop). */
@media (min-width:901px) { body:not(.sizon-lp-body) .header-inner .brand-lockup { margin-left: calc(clamp(18px, 4vw, 56px) - max(48px, (100vw - 1180px) / 2)); } }
.explore-menu-wrap { position:relative; display:inline-flex; }
.header-explore { display:inline-flex; align-items:center; gap:7px; padding:12px 13px; margin:0; border:1px solid rgba(183,243,74,.55); border-radius:0; background:transparent; color:#b7f34a; font:500 10px/1 'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.09em; cursor:pointer; appearance:none; -webkit-appearance:none; -moz-appearance:none; outline:none; box-shadow:none; transition:background .2s ease,color .2s ease,transform .2s cubic-bezier(.23,1,.32,1); }
.header-explore:hover { color:#061b38; background:#b7f34a; transform:translateY(-2px); }
.header-explore:active { transform:scale(.97); }
.header-explore[aria-expanded="true"] { color:#061b38; background:#b7f34a; }
.explore-menu { position:absolute; top:calc(100% + 10px); left:0; z-index:40; min-width:264px; padding:6px; background:#061726; border:1px solid rgba(183,243,74,.32); backdrop-filter:blur(18px); box-shadow:0 22px 44px rgba(2,10,22,.5); }
.explore-menu[hidden] { display:none; }
.explore-menu a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 12px; color:#f4f7f8; text-decoration:none; border-bottom:1px solid rgba(244,247,248,.08); transition:background .16s ease,color .16s ease,padding-left .16s ease; }
.explore-menu a:last-child { border-bottom:0; }
.explore-menu a .explore-item-text { display:flex; flex-direction:column; gap:4px; }
.explore-menu a .explore-item-name { font:600 15px/1.1 'Space Grotesk',sans-serif; letter-spacing:-.02em; color:#f4f7f8; }
.explore-menu a .explore-item-label { color:rgba(244,247,248,.42); font:500 9px/1 'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.explore-menu a .explore-item-arrow { flex:none; color:rgba(183,243,74,.5); font-size:15px; transition:transform .16s ease,color .16s ease; }
.explore-menu a:hover, .explore-menu a:focus-visible { background:rgba(183,243,74,.1); padding-left:16px; }
.explore-menu a:hover .explore-item-name, .explore-menu a:focus-visible .explore-item-name { color:#b7f34a; }
.explore-menu a:hover .explore-item-arrow, .explore-menu a:focus-visible .explore-item-arrow { color:#b7f34a; transform:translateX(3px); }
@media (max-width:900px) { .explore-menu-wrap { display:none; } }

/* Widget flutuante: WhatsApp (direita) + Atendente virtual (esquerda) */
.sizon-float { position:fixed; bottom:24px; z-index:60; }
.sizon-float-left { left:24px; }
.sizon-float-right { right:24px; }
.sizon-fab { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; border:none; cursor:pointer; box-shadow:0 12px 28px rgba(2,10,22,.4); transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s ease; }
.sizon-fab:hover { transform:translateY(-3px); }
.sizon-fab-whatsapp { background:#b7f34a; color:#061b38; }
.sizon-fab-assistant { background:#061b38; color:#b7f34a; border:1px solid rgba(183,243,74,.5); }
.sizon-fab-assistant[aria-expanded="true"] { background:#b7f34a; color:#061b38; }
.sizon-assistant-panel { position:fixed; left:24px; bottom:92px; z-index:61; width:min(340px,calc(100vw - 48px)); max-height:min(480px,calc(100vh - 140px)); display:flex; flex-direction:column; background:#061726; border:1px solid rgba(183,243,74,.32); box-shadow:0 26px 60px rgba(2,10,22,.55); font-family:'DM Sans',sans-serif; }
.sizon-assistant-panel[hidden] { display:none; }
.sizon-assistant-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 16px; border-bottom:1px solid rgba(244,247,248,.1); color:#f4f7f8; font:600 13px/1 'Space Grotesk',sans-serif; letter-spacing:-.01em; }
.sizon-assistant-head-info { display:flex; align-items:center; gap:9px; }
.sizon-assistant-close { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid rgba(244,247,248,.2); background:transparent; color:rgba(244,247,248,.7); cursor:pointer; }
.sizon-assistant-close:hover { color:#b7f34a; border-color:rgba(183,243,74,.5); }
.sizon-assistant-body { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; }
.sizon-assistant-msg { max-width:88%; padding:10px 13px; font-size:13px; line-height:1.55; }
.sizon-assistant-msg-bot { align-self:flex-start; background:rgba(244,247,248,.07); color:#f4f7f8; border:1px solid rgba(244,247,248,.08); }
.sizon-assistant-msg-user { align-self:flex-end; background:rgba(183,243,74,.14); color:#e9ffc2; border:1px solid rgba(183,243,74,.3); }
.sizon-assistant-questions { display:flex; flex-direction:column; gap:8px; margin-top:2px; }
.sizon-assistant-chip { text-align:left; padding:10px 12px; background:transparent; border:1px solid rgba(183,243,74,.35); color:#b7f34a; font:500 12px/1.35 'DM Sans',sans-serif; cursor:pointer; transition:background .16s ease,color .16s ease; }
.sizon-assistant-chip:hover { background:rgba(183,243,74,.12); }
.sizon-assistant-cta { display:flex; align-items:center; justify-content:center; gap:8px; padding:14px 16px; background:#b7f34a; color:#061b38; text-decoration:none; font:600 11px/1 'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.09em; }
.sizon-assistant-cta:hover { filter:brightness(1.06); }
@media (max-width:560px) { .sizon-float-left { left:16px; } .sizon-float-right { right:16px; } .sizon-fab { width:50px; height:50px; } .sizon-assistant-panel { left:16px; bottom:80px; } }
.hero-copy { padding-left: clamp(18px, 4vw, 56px); }
.hero-description { margin-right: clamp(18px, 8vw, 118px); }
.hero-image, .core-visual img, .experience-image img, .radar-visual img { will-change: transform; }
.core-visual img, .experience-image img, .radar-visual img { animation: sizon-scene-drift 14s ease-in-out infinite alternate; transform-origin: center; }
.hero-image { animation: sizon-hero-drift 13s ease-in-out infinite alternate, sizon-image-breathe 9s ease-in-out infinite alternate; }
.light-trace { stroke: rgba(146,178,201,.7) !important; }
.light-trace-b { opacity: .88 !important; }
.light-trace-c { opacity: .72 !important; }
.light-trace-core { filter: drop-shadow(0 0 9px rgba(183,243,74,.95)) !important; }
.light-sweep { stroke: rgba(244,247,248,.92) !important; filter: drop-shadow(0 0 10px rgba(244,247,248,.7)) !important; }
.light-overlay { opacity: .9 !important; }
.status-dot { box-shadow: 0 0 0 4px rgba(183,243,74,.16) !important; }
.radar-pulse { box-shadow: 0 0 0 8px rgba(183,243,74,.22) !important; }

/* Reveal ao rolar a página: fade + direção, aplicado por classe */
.reveal-on-scroll { opacity: 0; transition: opacity .9s cubic-bezier(.23,1,.32,1), transform .9s cubic-bezier(.23,1,.32,1); will-change: opacity, transform; }
.reveal-on-scroll, .reveal-on-scroll.reveal-up { transform: translateY(30px); }
.reveal-on-scroll.reveal-down { transform: translateY(-30px); }
.reveal-on-scroll.reveal-left { transform: translateX(-52px); }
.reveal-on-scroll.reveal-right { transform: translateX(52px); }
.reveal-on-scroll.reveal-fade { transform: none; }
.reveal-on-scroll.is-visible { opacity: 1; transform: none; }
.reveal-delay-1.reveal-on-scroll { transition-delay: .1s; }
.reveal-delay-2.reveal-on-scroll { transition-delay: .2s; }
.reveal-delay-3.reveal-on-scroll { transition-delay: .3s; }
.faq-section { position: relative; display: grid; grid-template-columns: .78fr 1.22fr; gap: 84px; width: min(1180px,calc(100% - 96px)); margin-inline: auto; padding: 152px 0; background: linear-gradient(180deg,#071a33 0%,#0a2343 54%,#061a34 100%); color: #f4f7f8; overflow: hidden; }
.faq-section:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.34; background-image:linear-gradient(rgba(183,243,74,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(183,243,74,.055) 1px,transparent 1px); background-size:84px 84px; }
.faq-section:after { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,transparent,#b7f34a 15%,rgba(244,247,248,.18) 55%,transparent); }
.faq-section > * { position:relative; z-index:1; }
.faq-heading h2 { margin-top:61px; font:600 clamp(52px,6.8vw,86px)/.91 'Space Grotesk',sans-serif; letter-spacing:-.08em; }
.faq-heading h2 span { color:#b7f34a; }
.faq-heading p { max-width:380px; margin:31px 0 0; color:rgba(244,247,248,.62); font:16px/1.65 'DM Sans',sans-serif; }
.faq-list { border-top:1px solid rgba(244,247,248,.2); }
.faq-list details { border-bottom:1px solid rgba(244,247,248,.16); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; color:#f4f7f8; cursor:pointer; list-style:none; font:500 17px/1.3 'Space Grotesk',sans-serif; letter-spacing:-.025em; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { flex:none; color:#b7f34a; font-size:22px; transition:transform .25s cubic-bezier(.23,1,.32,1); }
.faq-list details[open] summary span { transform:rotate(180deg); }
.faq-list details p { max-width:650px; margin:0 42px 25px 0; color:rgba(244,247,248,.58); font:14px/1.7 'DM Sans',sans-serif; }
.closing-contact { margin:-20px 0 0; color:#b7f34a; font:500 12px/1 'IBM Plex Mono',monospace; letter-spacing:.12em; }
#faq, #platform, #systems, #contact { scroll-margin-top:90px; }
@keyframes sizon-reveal-up { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes sizon-scene-drift { 0% { transform:scale(1.04) translate3d(0,0,0); } 100% { transform:scale(1.13) translate3d(-2.2%,1.6%,0); } }
@keyframes sizon-hero-drift { 0% { transform:scale(1.03) translate3d(0,0,0); } 100% { transform:scale(1.12) translate3d(-3%,2%,0); } }
@keyframes sizon-image-breathe { 0%,100% { filter:saturate(.9) brightness(.94); } 50% { filter:saturate(1.1) brightness(1.06); } }
@media (max-width:800px) { .faq-section { grid-template-columns:1fr; gap:55px; padding-top:105px; padding-bottom:110px; } .faq-heading h2 { margin-top:48px; font-size:55px; } }
@media (max-width:560px) { .hero-description { margin-right:18px; } .faq-section { width:calc(100% - 40px); } .faq-list summary { font-size:16px; } .faq-list details p { margin-right:0; } .closing-contact { margin-top:-12px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal-on-scroll, .reveal-on-scroll.is-visible { opacity:1; transform:none; transition:none; } .core-visual img, .experience-image img, .radar-visual img, .hero-image { animation:none; } }
@keyframes node-pulse { 0%,100% { opacity:.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.75); } }
@keyframes status-breathe { 0%,100% { box-shadow:0 0 0 4px rgba(183,243,74,.16); } 50% { box-shadow:0 0 0 9px rgba(183,243,74,.06),0 0 22px rgba(183,243,74,.5); } }
