.ticker-track b { color: var(--accent); }
.community-rules-bar { align-items:center; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-end; padding:17px clamp(20px,4vw,65px) 23px; text-align:right; }
.community-rules-bar a { color:var(--accent-light); font:500 8px/1.2 var(--mono); letter-spacing:.1em; transition:color .2s; }
.community-rules-bar a:hover { color:#fff; }
.community-rules-bar span { font-size:13px; margin-left:4px; }
.community-rules-bar .footer-link-separator { color:#647174; font-size:9px; margin:0; }
.social-links { flex-wrap:nowrap; justify-content:flex-end; }
.social-links a { align-items:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); display:flex; height:37px; justify-content:center; min-width:37px; padding:0; width:37px; }
.social-links a:hover { background:var(--accent); border-color:var(--accent); transform:translateY(-3px); }
.social-links svg { fill:none; height:16px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; width:16px; }
.social-links a[aria-label^="Discord"] svg, .social-links a[aria-label^="Telegram"] svg { fill:currentColor; stroke:none; }
.social-links a[aria-label^="Instagram"] svg, .social-links a[aria-label^="WhatsApp"] svg { display:none; }
.social-links a[aria-label^="Instagram"] { background-image:url("assets/instagram-icon.svg"); background-position:center; background-repeat:no-repeat; background-size:17px; }
.social-links a[aria-label^="WhatsApp"] { background-image:url("assets/whatsapp-icon.svg"); background-position:center; background-repeat:no-repeat; background-size:18px; }
.footer p { white-space:nowrap; }
@media (min-width:801px) { .footer p { font-size:8px; letter-spacing:.08em; margin:7px 46px 0 7vw; } }
.institutional { background:#090d0f; border-top:1px solid var(--line); padding:clamp(80px,11vw,150px) clamp(20px,8vw,128px); }
.institutional-heading { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.institutional-heading h2 { font:700 clamp(52px,6.5vw,102px)/.81 var(--display); letter-spacing:-.045em; margin:18px 0 0; text-transform:uppercase; }
.institutional-heading h2 i { color:var(--accent-light); font-style:italic; font-weight:500; }
.institutional-heading > p:last-child { align-self:end; color:#b5c1c4; font:500 10px/1.5 var(--mono); letter-spacing:.08em; margin:0 0 8px; }
.institutional-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; }
.institutional-grid article { border-left:1px solid var(--line); padding:0 clamp(20px,3vw,48px) 8px; }
.institutional-grid article:first-child { border-left:0; padding-left:0; }
.institutional-grid span { color:var(--accent-light); font:500 9px var(--mono); }
.institutional-grid h3 { font:700 35px/.93 var(--display); letter-spacing:-.025em; margin:35px 0 16px; text-transform:uppercase; }
.institutional-grid p { color:#9caaad; font-size:11px; line-height:1.75; margin:0; max-width:290px; }
.institutional-note { border-top:1px solid var(--line); color:#718083; font:400 8px/1.7 var(--mono); letter-spacing:.07em; margin:65px 0 0; padding-top:16px; }
@media (max-width:800px) { .institutional { padding:82px 21px; }.institutional-heading { display:block; }.institutional-heading h2 { font-size:61px; }.institutional-heading > p:last-child { font-size:9px; margin-top:27px; }.institutional-grid { grid-template-columns:1fr; margin-top:46px; }.institutional-grid article { border-left:0; border-top:1px solid var(--line); padding:30px 0; }.institutional-grid article:first-child { border-top:0; }.institutional-grid h3 { font-size:31px; margin:22px 0 12px; }.institutional-note { margin-top:20px; } }

/* Ajustes de composição: hero, introdução e contato */
.ticker { background:linear-gradient(90deg,#e9efff 0%,#f7f9ff 50%,#e9efff 100%); margin-top:26px; padding:13px 0; }
.ticker-track { animation-duration:34s; gap:0; width:max-content; will-change:transform; }
.ticker-sequence { align-items:center; display:flex; flex:none; gap:24px; padding-right:24px; }
/* AJUSTE MANUAL DOS ROBÔS: altere somente right, top e width. */
.intro { overflow:hidden; position:relative; }
.intro-content, .intro > .eyebrow { position:relative; z-index:2; }
.editor-robot { height:auto; object-fit:contain; pointer-events:none; position:absolute; z-index:1; }
.editor-robot-intro { right:10vw; top:12%; width:clamp(375px, 30.19vw, 568px); }
.editor-robot-contact { filter:drop-shadow(0 22px 34px rgba(4,9,41,.34)); right:2vw; top:80px; width:clamp(430px, 36.69vw, 708px); }
.contact-content { z-index:2; }
.contact .contact-blue-copy { color:var(--accent-light); }
.intro .intro-blue-copy { color:var(--accent-light); }
.intro-robot-orbit { animation:intro-orbit-reverse 20s linear infinite; border:1px solid rgba(207,235,236,.2); border-radius:50%; height:460px; pointer-events:none; position:absolute; right:7vw; top:10%; transform:rotate(28deg); width:460px; z-index:0; }
.intro-robot-orbit::after { background:var(--accent-light); border-radius:50%; box-shadow:0 0 12px rgba(144,174,255,.9); content:""; height:8px; left:50%; position:absolute; top:-4px; transform:translateX(-50%); width:8px; }
.intro-robot-orbit-secondary { animation:intro-orbit-forward 15s linear infinite; border-color:rgba(144,174,255,.34); height:330px; right:12vw; top:18%; width:330px; }
.intro-robot-orbit-secondary::after { background:#fff; box-shadow:0 0 10px rgba(255,255,255,.85); height:6px; top:auto; bottom:-3px; }
.intro-statement { bottom:clamp(28px,4vw,64px); color:#fff; font-size:clamp(11px,.85vw,14px); font-style:italic; left:50%; line-height:1.7; margin:0; max-width:560px; position:absolute; text-align:center; transform:translateX(-50%); width:calc(100% - 42px); z-index:3; }
@keyframes intro-orbit-reverse { from { transform:rotate(28deg); } to { transform:rotate(-332deg); } }
@keyframes intro-orbit-forward { from { transform:rotate(-20deg); } to { transform:rotate(340deg); } }
@media (min-width:801px) { .hero-mascot-wrap { right:-2.5vw; }.hero-stats { bottom:22px; } }
@media (max-width:800px) { .ticker { margin-top:15px; padding:12px 0; }.intro-robot-orbit { height:270px; right:-42px; top:60px; width:270px; }.intro-robot-orbit-secondary { height:190px; right:4px; top:105px; width:190px; }.editor-robot-intro { right:-34px; top:72px; width:280px; }.intro-statement { bottom:34px; font-size:11px; max-width:320px; }.editor-robot-contact { right:-42px; top:8px; width:330px; }.hero-stats { bottom:19px; } }

/* Pontos de navegação nos dois anéis do robô principal. */
.hero-orbit::after, .hero-orbit-secondary::after { background:var(--accent-light); border-radius:50%; box-shadow:0 0 8px 2px rgba(144,174,255,.75),0 0 18px rgba(144,174,255,.7); content:""; height:8px; pointer-events:none; position:absolute; width:8px; z-index:1; }
.hero-orbit::after { animation:hero-orbit-point-primary 12s linear infinite; }
.hero-orbit-secondary { border-color:rgba(144,174,255,.3); height:260px; padding:0; right:10.5%; top:21%; transform:rotate(22deg); width:420px; }
.hero-orbit-secondary::after { animation:hero-orbit-point-secondary 9s linear infinite; background:#fff; box-shadow:0 0 8px 2px rgba(255,255,255,.72),0 0 16px rgba(144,174,255,.72); height:6px; width:6px; }
@keyframes hero-orbit-point-primary { 0%,100% { left:calc(50% - 4px); top:-4px; } 12.5% { left:calc(85.36% - 4px); top:calc(14.64% - 4px); } 25% { left:calc(100% - 4px); top:calc(50% - 4px); } 37.5% { left:calc(85.36% - 4px); top:calc(85.36% - 4px); } 50% { left:calc(50% - 4px); top:calc(100% - 4px); } 62.5% { left:calc(14.64% - 4px); top:calc(85.36% - 4px); } 75% { left:-4px; top:calc(50% - 4px); } 87.5% { left:calc(14.64% - 4px); top:calc(14.64% - 4px); } }
@keyframes hero-orbit-point-secondary { 0%,100% { left:calc(50% - 3px); top:calc(100% - 3px); } 12.5% { left:calc(14.64% - 3px); top:calc(85.36% - 3px); } 25% { left:-3px; top:calc(50% - 3px); } 37.5% { left:calc(14.64% - 3px); top:calc(14.64% - 3px); } 50% { left:calc(50% - 3px); top:-3px; } 62.5% { left:calc(85.36% - 3px); top:calc(14.64% - 3px); } 75% { left:calc(100% - 3px); top:calc(50% - 3px); } 87.5% { left:calc(85.36% - 3px); top:calc(85.36% - 3px); } }
@media (max-width:800px) { .hero-orbit-secondary { height:205px; right:-74px; top:35%; width:340px; } }

/* Interação sutil na vitrine de projetos. */
.showcase-visual { --glow-x:50%; --glow-y:48%; --panel-x:0px; --panel-y:0px; --robot-rotate:0deg; --robot-x:0px; --robot-y:0px; cursor:crosshair; isolation:isolate; }
.showcase-visual::after { background:radial-gradient(circle 190px at var(--glow-x) var(--glow-y),rgba(144,174,255,.21),transparent 74%); content:""; inset:0; pointer-events:none; position:absolute; transition:background .22s ease-out; z-index:0; }
.showcase-scan { animation:showcase-scan 5.5s ease-in-out infinite; background:linear-gradient(90deg,transparent,rgba(144,174,255,.06),transparent); height:1px; left:0; opacity:.8; pointer-events:none; position:absolute; top:20%; width:100%; z-index:1; }
.showcase-robot { transform:translate3d(var(--robot-x),var(--robot-y),0) rotate(var(--robot-rotate)); transition:filter .25s ease-out,transform .25s ease-out; will-change:transform; }
.visual-window { transform:translate3d(var(--panel-x),var(--panel-y),0); transition:border-color .25s ease-out,box-shadow .25s ease-out,transform .25s ease-out; will-change:transform; }
.showcase-visual:hover .showcase-robot { filter:drop-shadow(0 0 48px rgba(144,174,255,.42)); }
.showcase-visual:hover .visual-window { border-color:rgba(144,174,255,.78); box-shadow:0 0 34px rgba(74,112,255,.16); }
.terminal-status { align-items:center; border-top:1px solid rgba(142,240,255,.16); color:#90aeff; display:flex; font:500 7px/1 var(--mono); gap:7px; letter-spacing:.11em; margin:0; padding:10px 16px; }
.terminal-status span { animation:terminal-online 1.8s ease-in-out infinite; background:#90aeff; border-radius:50%; box-shadow:0 0 0 3px rgba(144,174,255,.12),0 0 12px rgba(144,174,255,.9); display:block; height:5px; width:5px; }
.showcase-interaction-hint { bottom:18px; color:rgba(232,239,240,.5); font:500 7px/1 var(--mono); letter-spacing:.16em; margin:0; pointer-events:none; position:absolute; right:22px; z-index:3; }
@keyframes showcase-scan { 0%,100% { top:20%; opacity:.12; } 50% { top:78%; opacity:.85; } }
@keyframes terminal-online { 50% { box-shadow:0 0 0 6px rgba(144,174,255,0),0 0 17px rgba(144,174,255,.95); transform:scale(1.08); } }
@media (prefers-reduced-motion:reduce) { .showcase-scan,.terminal-status span { animation:none; }.showcase-robot,.visual-window { transition:none; } }
@media (max-width:800px) { .showcase-visual { cursor:default; }.showcase-robot,.visual-window { transform:none; }.showcase-interaction-hint { display:none; }.terminal-status { font-size:6px; padding:9px 13px; } }

/* Linha de produção: etapas com progresso e leitura mais clara. */
.process { overflow:hidden; position:relative; }
.process::before { background:radial-gradient(circle,rgba(31,62,148,.18),transparent 69%); content:""; height:560px; pointer-events:none; position:absolute; right:-210px; top:20px; width:560px; }
.process .section-title { position:relative; z-index:1; }
.process-grid { position:relative; }
.process-progress-line { background:rgba(144,174,255,.16); height:1px; left:0; overflow:hidden; position:absolute; right:0; top:20px; }
.process-progress-line span { background:linear-gradient(90deg,transparent,var(--accent-light),#fff,var(--accent-light),transparent); box-shadow:0 0 14px rgba(144,174,255,.9); display:block; height:100%; transform:translateX(-100%); width:48%; }
.process.is-visible .process-progress-line span { animation:process-line 2.4s cubic-bezier(.16,1,.3,1) .15s forwards; }
.process-step { background:linear-gradient(145deg,rgba(14,24,28,.3),rgba(7,11,13,0)); border-left:1px solid rgba(225,239,240,.14); isolation:isolate; overflow:hidden; position:relative; transition:border-color .28s ease,transform .28s ease; }
.process-step::before { background:radial-gradient(circle at 46% 16%,rgba(144,174,255,.16),transparent 47%); content:""; inset:0; opacity:0; pointer-events:none; position:absolute; transition:opacity .28s ease; z-index:-1; }
.process-step::after { color:rgba(144,174,255,.055); content:attr(data-step); font:900 170px/.65 var(--display); letter-spacing:-.07em; pointer-events:none; position:absolute; right:-12px; top:30px; z-index:-1; }
.process-step:nth-of-type(1)::after { content:"01"; }.process-step:nth-of-type(2)::after { content:"02"; }.process-step:nth-of-type(3)::after { content:"03"; }.process-step:nth-of-type(4)::after { content:"04"; }
.process-step:first-of-type { border-left:0; padding-left:0; }
.process-step-top { align-items:center; display:flex; gap:10px; min-height:21px; }
.process-step-top span { color:var(--accent-light); font:500 9px var(--mono); }
.process-step-top b { color:#728388; font:500 7px/1 var(--mono); letter-spacing:.13em; }
.process-step-node { align-items:center; border:1px solid rgba(144,174,255,.38); border-radius:50%; display:flex; height:13px; justify-content:center; left:-7px; position:absolute; top:14px; transition:.28s ease; width:13px; }
.process-step-node i { background:var(--accent-light); border-radius:50%; box-shadow:0 0 8px rgba(144,174,255,.9); height:4px; width:4px; }
.process-step h3 { position:relative; }.process-step p { position:relative; }.process-step small { color:#7890c6; display:block; font:500 7px/1 var(--mono); letter-spacing:.1em; margin-top:21px; position:relative; }
.process-step:hover { border-left-color:rgba(144,174,255,.7); transform:translateY(-9px); }
.process-step:hover::before { opacity:1; }.process-step:hover .process-step-node { background:rgba(144,174,255,.16); border-color:#fff; box-shadow:0 0 0 7px rgba(144,174,255,.08),0 0 21px rgba(144,174,255,.38); transform:scale(1.12); }.process-step:hover small { color:#dce5ff; }
.process-step { opacity:0; transform:translateY(24px); }.process.is-visible .process-step { animation:process-step-in .65s cubic-bezier(.16,1,.3,1) forwards; }.process.is-visible .process-step:nth-of-type(2) { animation-delay:.18s; }.process.is-visible .process-step:nth-of-type(3) { animation-delay:.36s; }.process.is-visible .process-step:nth-of-type(4) { animation-delay:.54s; }
@keyframes process-line { to { transform:translateX(210%); } }
@keyframes process-step-in { to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .process-progress-line span { transform:translateX(100%); }.process-step,.process.is-visible .process-step { animation:none; opacity:1; transform:none; transition:none; } }
@media (max-width:800px) { .process-progress-line { display:none; }.process-step { background:none; }.process-step:first-of-type { padding-left:0; }.process-step:nth-of-type(odd) { border-right:1px solid var(--line); padding-left:0; }.process-step:nth-of-type(even) { border-right:0; }.process-step-node { display:none; }.process-step::after { font-size:120px; right:0; top:14px; }.process-step-top b { font-size:6px; }.process-step small { font-size:6px; margin-top:16px; }.process-step:hover { transform:none; } }

/* Pontos luminosos percorrendo o anel do robô de contato. */
.contact-orbit-points { height:700px; pointer-events:none; position:absolute; right:-120px; top:-100px; width:700px; z-index:0; }
.contact-orbit-points i { animation:contact-orbit-point 13s linear infinite; background:var(--accent-light); border-radius:50%; box-shadow:0 0 8px 2px rgba(144,174,255,.8),0 0 20px rgba(144,174,255,.9); height:8px; position:absolute; width:8px; }
.contact-orbit-points i:nth-child(2) { animation-delay:-6.5s; background:#fff; box-shadow:0 0 8px 2px rgba(255,255,255,.86),0 0 18px rgba(144,174,255,.82); height:6px; width:6px; }
@keyframes contact-orbit-point { 0%,100% { left:calc(50% - 4px); top:-4px; } 12.5% { left:calc(85.36% - 4px); top:calc(14.64% - 4px); } 25% { left:calc(100% - 4px); top:calc(50% - 4px); } 37.5% { left:calc(85.36% - 4px); top:calc(85.36% - 4px); } 50% { left:calc(50% - 4px); top:calc(100% - 4px); } 62.5% { left:calc(14.64% - 4px); top:calc(85.36% - 4px); } 75% { left:-4px; top:calc(50% - 4px); } 87.5% { left:calc(14.64% - 4px); top:calc(14.64% - 4px); } }
@media (prefers-reduced-motion:reduce) { .contact-orbit-points i { animation:none; left:calc(50% - 4px); top:-4px; }.contact-orbit-points i:nth-child(2) { left:calc(50% - 3px); top:calc(100% - 3px); } }
@media (max-width:800px) { .contact-orbit-points { height:500px; right:-170px; top:-90px; width:500px; }.contact-orbit-points i { transform:scale(.8); } }

/* Institucional: bloco mais compacto e com presença visual. */
.institutional { background:radial-gradient(circle at 16% 36%,rgba(27,54,121,.21),transparent 26%),radial-gradient(circle at 84% 23%,rgba(13,32,76,.2),transparent 32%),#090d0f; overflow:hidden; padding:clamp(58px,7vw,100px) clamp(20px,8vw,128px) clamp(54px,6vw,86px); position:relative; }
.institutional::before { background-image:linear-gradient(rgba(144,174,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(144,174,255,.1) 1px,transparent 1px); background-size:42px 42px; content:""; inset:0; mask-image:linear-gradient(90deg,rgba(0,0,0,.78),transparent 70%); opacity:.6; pointer-events:none; position:absolute; }
.institutional::after { animation:institutional-scan 8s ease-in-out infinite; background:linear-gradient(90deg,transparent,rgba(144,174,255,.26),transparent); content:""; height:1px; left:0; opacity:.58; pointer-events:none; position:absolute; top:28%; width:100%; }
.institutional-heading,.institutional-grid,.institutional-note { position:relative; z-index:1; }
.institutional-heading { align-items:center; grid-template-columns:.86fr 1.14fr; min-height:210px; }
.institutional-heading::before { border:1px solid rgba(144,174,255,.26); border-radius:50%; content:""; height:190px; left:13%; pointer-events:none; position:absolute; top:10px; width:190px; }
.institutional-heading::after { border:1px solid rgba(144,174,255,.13); border-radius:50%; content:""; height:130px; left:18%; pointer-events:none; position:absolute; top:40px; width:130px; }
.institutional-heading > * { position:relative; z-index:1; }
.institutional-heading h2 { font-size:clamp(48px,5.8vw,88px); margin:0; }
.institutional-heading > p:last-child { align-self:end; color:#c6d2fb; grid-column:1; grid-row:1; margin:0 0 23px; }
.institutional-heading .eyebrow { align-self:start; grid-column:1; grid-row:1; margin-top:24px; }
.institutional-grid { margin-top:38px; }
.institutional-grid article { background:linear-gradient(135deg,rgba(18,33,39,.34),rgba(8,13,15,.02)); min-height:210px; overflow:hidden; padding-top:24px; position:relative; transition:border-color .25s ease,transform .25s ease; }
.institutional-grid article::before { background:radial-gradient(circle at 48% 20%,rgba(144,174,255,.18),transparent 54%); content:""; inset:0; opacity:0; pointer-events:none; position:absolute; transition:opacity .25s ease; }
.institutional-grid article::after { color:rgba(144,174,255,.06); font:900 140px/.7 var(--display); letter-spacing:-.07em; pointer-events:none; position:absolute; right:-9px; top:20px; }
.institutional-grid article:nth-child(1)::after { content:"01"; }.institutional-grid article:nth-child(2)::after { content:"02"; }.institutional-grid article:nth-child(3)::after { content:"03"; }
.institutional-grid article > * { position:relative; z-index:1; }
.institutional-grid article:hover { border-left-color:rgba(144,174,255,.75); transform:translateY(-7px); }.institutional-grid article:hover::before { opacity:1; }.institutional-grid article:hover h3 { color:#fff; }.institutional-grid article:hover span { text-shadow:0 0 10px rgba(144,174,255,.85); }
.institutional-grid h3 { transition:color .25s ease; }.institutional-note { margin-top:35px; }
@keyframes institutional-scan { 0%,100% { top:27%; opacity:.18; } 50% { top:72%; opacity:.68; } }
@media (prefers-reduced-motion:reduce) { .institutional::after { animation:none; } .institutional-grid article { transition:none; } }
@media (max-width:800px) { .institutional { padding:67px 21px 56px; }.institutional::before { mask-image:none; opacity:.24; }.institutional-heading { min-height:0; }.institutional-heading::before,.institutional-heading::after { display:none; }.institutional-heading .eyebrow,.institutional-heading > p:last-child { grid-column:auto; grid-row:auto; margin:0; }.institutional-heading h2 { margin-top:18px; }.institutional-heading > p:last-child { margin-top:26px; }.institutional-grid { margin-top:39px; }.institutional-grid article { min-height:0; padding-top:30px; }.institutional-grid article::after { font-size:112px; }.institutional-grid article:hover { transform:none; }.institutional-note { margin-top:24px; } }

/* Atalhos institucionais no rodapé, junto à marca. */
.footer-resource-links { display:flex; flex-wrap:wrap; gap:12px 18px; margin:10px auto 0 7vw; max-width:390px; }
.footer-resource-links a { border-bottom:1px solid transparent; color:var(--accent-light); font:500 8px/1.2 var(--mono); letter-spacing:.09em; padding-bottom:5px; transition:border-color .2s,color .2s,transform .2s; }
.footer-resource-links a span { font-size:12px; margin-left:3px; }.footer-resource-links a:hover { border-color:var(--accent-light); color:#fff; transform:translateY(-2px); }
@media (max-width:800px) { .footer-resource-links { gap:10px 14px; grid-column:1/-1; margin:0; order:3; }.footer-resource-links a { font-size:7px; }.footer-bottom { margin-top:39px; } }

/* Cada serviço pode ser aberto por qualquer ponto da faixa. */
.service-card { cursor:pointer; }.service-card:focus-visible { outline:2px solid var(--accent-light); outline-offset:-3px; }
.service-card-link { display:inline-block; font:500 9px var(--mono); letter-spacing:.08em; margin-top:17px; }.service-card-link span { font-size:14px; }

/* Halo interativo que acompanha o cursor no desktop. */
.cursor-glow { background:radial-gradient(circle,rgba(144,174,255,.13) 0,rgba(52,99,218,.075) 26%,rgba(16,30,95,.025) 47%,transparent 70%); border:1px solid rgba(144,174,255,.13); border-radius:50%; height:430px; left:0; opacity:0; pointer-events:none; position:fixed; top:0; transition:opacity .35s ease; width:430px; z-index:2; }
.cursor-glow::after { border:1px solid rgba(144,174,255,.12); border-radius:50%; content:""; inset:72px; position:absolute; }
.cursor-glow.is-visible { opacity:1; }
@media (max-width:800px),(prefers-reduced-motion:reduce) { .cursor-glow { display:none; } }

/* Cabeçalhos dos projetos: marca maior, mascote e órbitas vivas. */
.site-header .brand-logo-link { height:70px; width:215px; }
.site-header .brand-logo { object-fit:cover; object-position:center; }
.bots-main,.project-hero,.sales-hero,.deck-hero,.community-hero { background:radial-gradient(circle at 82% 47%,rgba(25,62,137,.18),transparent 23%),radial-gradient(circle at 91% 14%,rgba(144,174,255,.09),transparent 17%); }
.project-hero-mascot { animation:project-mascot-float 5.8s ease-in-out infinite; filter:drop-shadow(0 28px 34px rgba(32,83,198,.22)); height:auto; pointer-events:none; position:absolute; right:clamp(22px,5.5vw,112px); top:clamp(64px,7.8vw,122px); transform-origin:center bottom; width:clamp(265px,28vw,510px); z-index:1; }
.bots-hero-mascot { right:clamp(18px,4.8vw,96px); top:clamp(108px,10vw,160px); width:clamp(255px,26vw,470px); }
.project-orbit-points { height:clamp(360px,35vw,620px); pointer-events:none; position:absolute; right:clamp(-90px,1vw,22px); top:clamp(-125px,-4vw,-45px); width:clamp(360px,35vw,620px); z-index:0; }
.project-orbit-points::before,.project-orbit-points::after { border:1px solid rgba(144,174,255,.15); border-radius:50%; content:""; inset:8%; position:absolute; }
.project-orbit-points::after { animation:project-orbit-spin 20s linear infinite reverse; border-style:dashed; inset:24%; opacity:.65; }
.project-orbit-points i { animation:project-orbit-point 12s linear infinite; background:var(--accent-light); border-radius:50%; box-shadow:0 0 7px 2px rgba(144,174,255,.78),0 0 20px rgba(144,174,255,.78); height:7px; position:absolute; width:7px; }
.project-orbit-points i:nth-child(2) { animation-delay:-4s; background:#fff; box-shadow:0 0 8px 2px rgba(255,255,255,.83),0 0 17px rgba(144,174,255,.72); height:5px; width:5px; }
.project-orbit-points i:nth-child(3) { animation-delay:-8s; height:4px; opacity:.82; width:4px; }
.bots-heading,.project-heading,.sales-heading,.deck-heading,.community-heading { z-index:2; }
@keyframes project-mascot-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-13px) rotate(1deg); } }
@keyframes project-orbit-spin { to { transform:rotate(360deg); } }
@keyframes project-orbit-point { 0%,100% { left:calc(50% - 4px); top:3%; } 12.5% { left:calc(84.5% - 4px); top:calc(15.5% - 4px); } 25% { left:calc(97% - 4px); top:calc(50% - 4px); } 37.5% { left:calc(84.5% - 4px); top:calc(84.5% - 4px); } 50% { left:calc(50% - 4px); top:calc(97% - 4px); } 62.5% { left:calc(15.5% - 4px); top:calc(84.5% - 4px); } 75% { left:calc(3% - 4px); top:calc(50% - 4px); } 87.5% { left:calc(15.5% - 4px); top:calc(15.5% - 4px); } }
@media (prefers-reduced-motion:reduce) { .project-hero-mascot,.project-orbit-points::after,.project-orbit-points i { animation:none; }.project-orbit-points i:first-child { left:calc(50% - 4px); top:3%; }.project-orbit-points i:nth-child(2) { left:calc(97% - 3px); top:calc(50% - 3px); }.project-orbit-points i:nth-child(3) { left:calc(50% - 2px); top:calc(97% - 2px); } }
@media (max-width:800px) { .site-header .brand-logo-link { height:54px; width:168px; }.project-hero-mascot { opacity:.4; right:-74px; top:105px; width:300px; }.bots-hero-mascot { opacity:.28; right:-90px; top:108px; }.project-orbit-points { height:360px; right:-125px; top:-65px; width:360px; } }

/* Projetos: cartões com resposta visual e espaço para mídia do sistema. */
.feature,.sales-feature,.deck-feature,.community-feature { isolation:isolate; overflow:hidden; position:relative; transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.feature::before,.sales-feature::before,.deck-feature::before,.community-feature::before { background:radial-gradient(circle at 82% 14%,rgba(144,174,255,.3),transparent 30%),linear-gradient(135deg,rgba(28,57,151,.94),rgba(10,21,62,.94)); content:""; inset:0; opacity:0; pointer-events:none; position:absolute; transition:opacity .28s ease; z-index:-1; }
.feature::after,.sales-feature::after,.deck-feature::after,.community-feature::after { background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent); content:""; height:1px; left:-35%; opacity:0; pointer-events:none; position:absolute; top:0; width:42%; z-index:1; }
.feature:hover,.sales-feature:hover,.deck-feature:hover,.community-feature:hover { border-color:rgba(144,174,255,.78); box-shadow:0 18px 48px rgba(9,25,88,.33); transform:translateY(-7px); }
.feature:hover::before,.sales-feature:hover::before,.deck-feature:hover::before,.community-feature:hover::before { opacity:1; }
.feature:hover::after,.sales-feature:hover::after,.deck-feature:hover::after,.community-feature:hover::after { animation:project-card-scan 1.1s ease-out forwards; opacity:1; }
.feature:hover h3,.sales-feature:hover h3,.deck-feature:hover h3,.community-feature:hover h3 { color:#fff; }.feature:hover p,.sales-feature:hover p,.deck-feature:hover p,.community-feature:hover p,.feature:hover li,.sales-feature:hover li,.deck-feature:hover li,.community-feature:hover li { color:#dce5ff; }
@keyframes project-card-scan { to { left:108%; } }

.project-main,.sales-main,.deck-main,.community-main { align-items:center; column-gap:clamp(42px,6vw,120px); display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.78fr); }
.project-intro,.sales-intro,.deck-intro,.community-intro { align-self:center; grid-column:1; margin:0; max-width:none; min-height:360px; }
.project-media-mosaic { align-self:center; background:linear-gradient(145deg,rgba(13,26,37,.94),rgba(7,12,16,.9)); border:1px solid rgba(144,174,255,.31); box-shadow:0 22px 56px rgba(4,9,25,.3),inset 0 0 42px rgba(35,83,172,.09); grid-column:2; grid-row:1; overflow:hidden; padding:14px; position:relative; transform:translateY(-20%); }
.project-media-mosaic::before { background-image:linear-gradient(rgba(144,174,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(144,174,255,.12) 1px,transparent 1px); background-size:24px 24px; content:""; inset:0; mask-image:linear-gradient(135deg,rgba(0,0,0,.8),transparent 74%); opacity:.55; pointer-events:none; position:absolute; }
.project-media-mosaic::after { animation:project-mosaic-pulse 4.5s ease-in-out infinite; background:radial-gradient(circle,rgba(144,174,255,.26),transparent 64%); content:""; height:280px; pointer-events:none; position:absolute; right:-95px; top:-90px; width:280px; }
.project-media-heading { align-items:center; color:#aebfff; display:flex; font:500 8px var(--mono); justify-content:space-between; letter-spacing:.11em; position:relative; z-index:1; }.project-media-heading b { color:#fff; font-weight:500; }
.project-media-grid { display:grid; gap:8px; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; height:310px; margin-top:12px; position:relative; z-index:1; }
.project-media-tile { background:rgba(3,8,12,.72); border:1px solid rgba(144,174,255,.22); min-height:0; overflow:hidden; position:relative; transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.project-media-tile::before { background:linear-gradient(135deg,rgba(144,174,255,.15),transparent 42%); content:""; inset:0; pointer-events:none; position:absolute; }.project-media-tile:hover { border-color:rgba(144,174,255,.88); box-shadow:0 0 0 4px rgba(144,174,255,.07),0 12px 27px rgba(12,43,123,.28); transform:translateY(-3px); }
.project-media-primary { align-items:flex-end; background:linear-gradient(145deg,rgba(23,54,145,.7),rgba(5,12,30,.55)),repeating-linear-gradient(0deg,rgba(144,174,255,.11) 0 1px,transparent 1px 23px); display:flex; grid-row:1/3; justify-content:space-between; padding:15px; }.project-media-primary small,.project-media-secondary small { color:#d8e2ff; font:500 7px/1.45 var(--mono); letter-spacing:.09em; max-width:105px; position:relative; z-index:1; }.project-media-primary strong { color:rgba(255,255,255,.78); font:700 30px/.8 var(--display); letter-spacing:-.03em; position:relative; z-index:1; }
.project-media-code { display:flex; flex-direction:column; gap:8px; justify-content:center; padding:14px; }.project-media-code span { color:#9db6ff; font:500 8px var(--mono); letter-spacing:.03em; position:relative; z-index:1; }.project-media-code span::before { background:var(--accent-light); box-shadow:0 0 8px rgba(144,174,255,.9); content:""; display:inline-block; height:5px; margin-right:7px; vertical-align:1px; width:5px; }
.project-media-secondary { align-items:flex-end; display:flex; justify-content:space-between; padding:13px; }.project-media-secondary b { color:rgba(144,174,255,.84); font:700 28px/.8 var(--display); position:relative; z-index:1; }
@keyframes project-mosaic-pulse { 0%,100% { opacity:.35; transform:scale(.9); } 50% { opacity:.8; transform:scale(1.1); } }
.feature-list,.sales-features,.deck-features,.community-features { grid-column:1/-1; }

/* Encerramento do projeto: transforma o espaço lateral em próximos passos. */
.project-closing,.sales-closing,.deck-closing,.community-closing { column-gap:clamp(72px,10vw,190px); display:grid; grid-column:1/-1; grid-template-columns:minmax(0,740px) minmax(320px,1fr); }
.project-closing > :not(.project-closing-actions),.sales-closing > :not(.project-closing-actions),.deck-closing > :not(.project-closing-actions),.community-closing > :not(.project-closing-actions) { grid-column:1; }
.project-closing-actions { align-self:center; background:linear-gradient(145deg,rgba(17,41,113,.7),rgba(9,15,38,.78)); border:1px solid rgba(144,174,255,.38); box-shadow:inset 0 0 30px rgba(144,174,255,.06); display:flex; flex-direction:column; gap:10px; grid-column:2; grid-row:1/4; justify-self:end; padding:clamp(24px,3vw,38px); position:relative; overflow:hidden; width:min(100%,330px); }
.project-closing-actions::before { animation:project-action-glow 4s ease-in-out infinite; background:radial-gradient(circle,rgba(144,174,255,.34),transparent 67%); content:""; height:230px; pointer-events:none; position:absolute; right:-96px; top:-110px; width:230px; }.project-closing-actions > * { position:relative; z-index:1; }
.project-closing-actions > span { color:#adc0ff; font:500 8px var(--mono); letter-spacing:.12em; margin-bottom:8px; }.project-closing-actions a { align-items:center; font:500 9px var(--mono); justify-content:space-between; letter-spacing:.09em; padding:15px 16px; transition:background .22s ease,color .22s ease,transform .22s ease; }.project-closing-actions a b { font-size:15px; }.project-action-primary { background:#f6f8ff; color:#101e5f; }.project-action-secondary { border:1px solid rgba(215,226,255,.54); color:#eef3ff; }.project-closing-actions a:hover { background:var(--accent-light); color:#0b1746; transform:translateX(5px); }
@keyframes project-action-glow { 0%,100% { opacity:.32; transform:translate(0,0); } 50% { opacity:.78; transform:translate(-25px,27px); } }
@media (prefers-reduced-motion:reduce) { .project-media-mosaic::after,.project-closing-actions::before { animation:none; }.feature,.sales-feature,.deck-feature,.community-feature,.project-media-tile,.project-closing-actions a { transition:none; }.feature:hover,.sales-feature:hover,.deck-feature:hover,.community-feature:hover,.project-media-tile:hover,.project-closing-actions a:hover { transform:none; } }
@media (max-width:800px) { .project-main,.sales-main,.deck-main,.community-main { display:block; }.project-intro,.sales-intro,.deck-intro,.community-intro { min-height:0; }.project-media-mosaic { margin-top:39px; transform:none; }.project-media-grid { height:280px; }.feature-list,.sales-features,.deck-features,.community-features { margin-top:56px; }.project-closing,.sales-closing,.deck-closing,.community-closing { display:block; }.project-closing-actions { margin-top:38px; }.feature:hover,.sales-feature:hover,.deck-feature:hover,.community-feature:hover { transform:none; } }

/* Faixas de resumo: leitura rápida com resposta ao mouse em todas as páginas. */
.project-summary,.sales-summary,.deck-summary,.community-summary { background:radial-gradient(circle at 9% 0,rgba(144,174,255,.08),transparent 28%),#0a1115; isolation:isolate; overflow:hidden; }
.project-summary > div,.sales-summary > div,.deck-summary > div,.community-summary > div { cursor:default; isolation:isolate; overflow:hidden; position:relative; transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.project-summary > div::before,.sales-summary > div::before,.deck-summary > div::before,.community-summary > div::before { background:radial-gradient(circle at 75% 22%,rgba(144,174,255,.36),transparent 34%),linear-gradient(135deg,rgba(25,52,142,.88),rgba(11,25,72,.9)); content:""; inset:0; opacity:0; pointer-events:none; position:absolute; transition:opacity .28s ease; z-index:-1; }
.project-summary > div::after,.sales-summary > div::after,.deck-summary > div::after,.community-summary > div::after { color:rgba(144,174,255,.08); font:900 104px/.7 var(--display); letter-spacing:-.07em; pointer-events:none; position:absolute; right:16px; top:14px; transition:color .28s ease,transform .28s ease; z-index:-1; }
.project-summary > div:nth-child(1)::after,.sales-summary > div:nth-child(1)::after,.deck-summary > div:nth-child(1)::after,.community-summary > div:nth-child(1)::after { content:"01"; }.project-summary > div:nth-child(2)::after,.sales-summary > div:nth-child(2)::after,.deck-summary > div:nth-child(2)::after,.community-summary > div:nth-child(2)::after { content:"02"; }.project-summary > div:nth-child(3)::after,.sales-summary > div:nth-child(3)::after,.deck-summary > div:nth-child(3)::after,.community-summary > div:nth-child(3)::after { content:"03"; }
.project-summary > div strong,.project-summary > div span,.sales-summary > div strong,.sales-summary > div span,.deck-summary > div strong,.deck-summary > div span,.community-summary > div strong,.community-summary > div span { position:relative; z-index:1; }
.project-summary > div:hover,.sales-summary > div:hover,.deck-summary > div:hover,.community-summary > div:hover { border-left-color:rgba(144,174,255,.76); box-shadow:inset 0 2px 0 rgba(255,255,255,.22),0 16px 34px rgba(5,18,64,.25); transform:translateY(-5px); z-index:2; }
.project-summary > div:hover::before,.sales-summary > div:hover::before,.deck-summary > div:hover::before,.community-summary > div:hover::before { opacity:1; }.project-summary > div:hover::after,.sales-summary > div:hover::after,.deck-summary > div:hover::after,.community-summary > div:hover::after { color:rgba(255,255,255,.12); transform:translateX(-8px); }
.project-summary > div:hover strong,.sales-summary > div:hover strong,.deck-summary > div:hover strong,.community-summary > div:hover strong { color:#fff; text-shadow:0 0 18px rgba(144,174,255,.72); }.project-summary > div:hover span,.sales-summary > div:hover span,.deck-summary > div:hover span,.community-summary > div:hover span { color:#dfe7ff; }
.project-summary > div strong::after,.sales-summary > div strong::after,.deck-summary > div strong::after,.community-summary > div strong::after { background:linear-gradient(90deg,var(--accent-light),transparent); content:""; display:block; height:1px; margin-top:10px; transform:scaleX(.28); transform-origin:left; transition:transform .3s ease; width:100%; }.project-summary > div:hover strong::after,.sales-summary > div:hover strong::after,.deck-summary > div:hover strong::after,.community-summary > div:hover strong::after { transform:scaleX(1); }
@media (prefers-reduced-motion:reduce) { .project-summary > div,.sales-summary > div,.deck-summary > div,.community-summary > div { transition:none; }.project-summary > div:hover,.sales-summary > div:hover,.deck-summary > div:hover,.community-summary > div:hover { transform:none; } }
@media (max-width:800px) { .project-summary > div:hover,.sales-summary > div:hover,.deck-summary > div:hover,.community-summary > div:hover { transform:none; }.project-summary > div::after,.sales-summary > div::after,.deck-summary > div::after,.community-summary > div::after { font-size:82px; top:9px; } }

/* Padrão interativo: Regras, Como Comprar e Termos de Compra. */
.rules-page .rules-main,.purchase-page .purchase-main,.terms-page .terms-main { background:radial-gradient(circle at 8% 28%,rgba(22,50,118,.15),transparent 26%),radial-gradient(circle at 88% 12%,rgba(144,174,255,.07),transparent 24%); }
.rules-page .rules-heading,.purchase-page .purchase-heading,.terms-page .terms-heading { isolation:isolate; }
.rules-page .rules-heading::after,.purchase-page .purchase-heading::after,.terms-page .terms-heading::after { animation:legal-heading-scan 6s ease-in-out infinite; background:linear-gradient(90deg,transparent,rgba(144,174,255,.9),#fff,rgba(144,174,255,.9),transparent); bottom:-39px; content:""; height:1px; left:0; max-width:570px; opacity:.72; pointer-events:none; position:absolute; width:100%; }
.rules-page .rules-heading h1,.purchase-page .purchase-heading h1,.terms-page .terms-heading h1 { text-shadow:0 0 34px rgba(144,174,255,.055); }
.rules-page .rules-list,.purchase-page .purchase-steps,.terms-page .terms-list { background:linear-gradient(90deg,rgba(144,174,255,.18),rgba(144,174,255,.18)) 29px 0/1px 100% no-repeat; }
.rules-page .rules-list li,.purchase-page .purchase-steps li,.terms-page .terms-list li { isolation:isolate; overflow:hidden; position:relative; transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.rules-page .rules-list li::before,.purchase-page .purchase-steps li::before,.terms-page .terms-list li::before { background:radial-gradient(circle at 78% 14%,rgba(144,174,255,.22),transparent 35%),linear-gradient(100deg,rgba(24,53,143,.62),rgba(11,19,46,.32) 60%,transparent); content:""; inset:0; opacity:0; pointer-events:none; position:absolute; transition:opacity .28s ease; z-index:-1; }
.rules-page .rules-list li::after,.purchase-page .purchase-steps li::after,.terms-page .terms-list li::after { background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent); content:""; height:1px; left:-36%; opacity:0; pointer-events:none; position:absolute; top:0; width:38%; z-index:1; }
.rules-page .rule-number,.purchase-page .step-number,.terms-page .term-number { position:relative; transition:color .25s ease,text-shadow .25s ease,transform .25s ease; z-index:1; }
.rules-page .rule-number::before,.purchase-page .step-number::before,.terms-page .term-number::before { background:var(--accent-light); border-radius:50%; box-shadow:0 0 0 4px rgba(144,174,255,.1),0 0 11px rgba(144,174,255,.8); content:""; height:5px; left:-2px; opacity:.75; position:absolute; top:10px; transform:translateX(-50%); width:5px; }
.rules-page .rules-list h2,.purchase-page .purchase-steps h2,.terms-page .terms-list h2,.rules-page .rules-list p,.purchase-page .purchase-steps p,.terms-page .terms-list p { position:relative; transition:color .25s ease,transform .25s ease; z-index:1; }
.rules-page .rules-list li:hover,.purchase-page .purchase-steps li:hover,.terms-page .terms-list li:hover { border-bottom-color:rgba(144,174,255,.68); box-shadow:inset 4px 0 0 var(--accent-light),0 14px 33px rgba(3,12,40,.22); transform:translateX(8px); }
.rules-page .rules-list li:hover::before,.purchase-page .purchase-steps li:hover::before,.terms-page .terms-list li:hover::before { opacity:1; }
.rules-page .rules-list li:hover::after,.purchase-page .purchase-steps li:hover::after,.terms-page .terms-list li:hover::after { animation:legal-item-scan 1.1s ease-out forwards; opacity:1; }
.rules-page .rules-list li:hover h2,.purchase-page .purchase-steps li:hover h2,.terms-page .terms-list li:hover h2 { color:#fff; text-shadow:0 0 18px rgba(144,174,255,.38); transform:translateX(4px); }
.rules-page .rules-list li:hover p,.purchase-page .purchase-steps li:hover p,.terms-page .terms-list li:hover p { color:#dce5ff; transform:translateX(4px); }
.rules-page .rules-list li:hover .rule-number,.purchase-page .purchase-steps li:hover .step-number,.terms-page .terms-list li:hover .term-number { color:#fff; text-shadow:0 0 13px rgba(144,174,255,.9); transform:translateX(5px); }
.rules-page .rules-community-note,.rules-page .rules-closing,.purchase-page .purchase-note,.terms-page .terms-reminder { background:linear-gradient(90deg,rgba(144,174,255,.07),transparent 62%); border-left:1px solid rgba(144,174,255,.42); padding-left:clamp(18px,2.4vw,34px); transition:border-color .25s ease,box-shadow .25s ease; }
.rules-page .rules-community-note:hover,.rules-page .rules-closing:hover,.purchase-page .purchase-note:hover,.terms-page .terms-reminder:hover { border-left-color:#fff; box-shadow:-11px 0 30px rgba(144,174,255,.11); }
.purchase-page .purchase-ticket { transition:color .22s ease,letter-spacing .22s ease; }.purchase-page .purchase-ticket:hover { color:#fff; letter-spacing:.12em; }
@keyframes legal-heading-scan { 0%,100% { opacity:.18; transform:scaleX(.45); transform-origin:left; } 50% { opacity:.95; transform:scaleX(1); transform-origin:left; } }
@keyframes legal-item-scan { to { left:108%; } }
@media (prefers-reduced-motion:reduce) { .rules-page .rules-heading::after,.purchase-page .purchase-heading::after,.terms-page .terms-heading::after { animation:none; }.rules-page .rules-list li,.purchase-page .purchase-steps li,.terms-page .terms-list li,.rules-page .rule-number,.purchase-page .step-number,.terms-page .term-number,.rules-page .rules-list h2,.purchase-page .purchase-steps h2,.terms-page .terms-list h2,.rules-page .rules-list p,.purchase-page .purchase-steps p,.terms-page .terms-list p { transition:none; }.rules-page .rules-list li:hover,.purchase-page .purchase-steps li:hover,.terms-page .terms-list li:hover { transform:none; } }
@media (max-width:800px) { .rules-page .rules-list,.purchase-page .purchase-steps,.terms-page .terms-list { background-position:15px 0; }.rules-page .rule-number::before,.purchase-page .step-number::before,.terms-page .term-number::before { left:0; }.rules-page .rules-list li:hover,.purchase-page .purchase-steps li:hover,.terms-page .terms-list li:hover { transform:none; }.rules-page .rules-list li:hover h2,.purchase-page .purchase-steps li:hover h2,.terms-page .terms-list li:hover h2,.rules-page .rules-list li:hover p,.purchase-page .purchase-steps li:hover p,.terms-page .terms-list li:hover p { transform:none; }.rules-page .rules-heading::after,.purchase-page .purchase-heading::after,.terms-page .terms-heading::after { bottom:-30px; max-width:330px; } }

/* Projetos: cards inteiros clicáveis e numeração técnica em todas as páginas. */
.bot-grid { counter-reset:bot-card; }
.bot-card { color:inherit; counter-increment:bot-card; isolation:isolate; overflow:hidden; position:relative; text-decoration:none; }
.bot-card::before { background:radial-gradient(circle at 78% 14%,rgba(144,174,255,.3),transparent 30%),linear-gradient(135deg,rgba(25,53,148,.93),rgba(10,21,57,.91)); content:""; inset:0; opacity:0; pointer-events:none; position:absolute; transition:opacity .3s ease; z-index:-1; }
.bot-card::after { color:rgba(144,174,255,.075); content:counter(bot-card,decimal-leading-zero); font:900 clamp(115px,12vw,190px)/.7 var(--display); letter-spacing:-.08em; pointer-events:none; position:absolute; right:clamp(12px,2vw,34px); top:clamp(18px,2vw,30px); transition:color .3s ease,transform .35s ease; z-index:-1; }
.bot-card > * { position:relative; z-index:1; }
.bot-card--available { cursor:pointer; }.bot-card--available:focus-visible { outline:2px solid #fff; outline-offset:-5px; }
.bot-card-link,.bot-card a { color:var(--accent-light); display:block; font:500 9px var(--mono); letter-spacing:.08em; margin-top:auto; padding-top:24px; transition:color .25s ease,letter-spacing .25s ease; }
.bot-card--available:hover { border-color:rgba(144,174,255,.82); box-shadow:0 18px 48px rgba(9,25,88,.34); transform:translateY(-8px); }.bot-card--available:hover::before { opacity:1; }.bot-card--available:hover::after { color:rgba(255,255,255,.13); transform:translateX(-11px) scale(1.04); }.bot-card--available:hover h2 { color:#fff; text-shadow:0 0 20px rgba(144,174,255,.52); }.bot-card--available:hover p { color:#dce5ff; }.bot-card--available:hover .bot-card-link { color:#fff; letter-spacing:.13em; }
.bot-card:not(.bot-card--available):hover::after { color:rgba(144,174,255,.12); transform:translateX(-6px); }
.feature,.sales-feature,.deck-feature,.community-feature { counter-increment:project-feature; }
.feature-list,.sales-features,.deck-features,.community-features { counter-reset:project-feature; }
.feature-number,.sales-number,.deck-number,.community-number { position:static; }
.feature-number::after,.sales-number::after,.deck-number::after,.community-number::after { color:rgba(144,174,255,.065); content:counter(project-feature,decimal-leading-zero); font:900 clamp(118px,11vw,175px)/.7 var(--display); letter-spacing:-.08em; pointer-events:none; position:absolute; right:clamp(14px,2.5vw,38px); top:clamp(22px,3vw,42px); transition:color .28s ease,transform .3s ease; z-index:-1; }
.feature:hover .feature-number::after,.sales-feature:hover .sales-number::after,.deck-feature:hover .deck-number::after,.community-feature:hover .community-number::after { color:rgba(255,255,255,.13); transform:translateX(-9px) scale(1.04); }
@media (prefers-reduced-motion:reduce) { .bot-card,.bot-card::before,.bot-card::after,.bot-card-link,.feature-number::after,.sales-number::after,.deck-number::after,.community-number::after { transition:none; }.bot-card--available:hover { transform:none; } }
@media (max-width:800px) { .bot-card--available:hover { transform:none; }.bot-card::after,.feature-number::after,.sales-number::after,.deck-number::after,.community-number::after { font-size:112px; } }

/* Base visual compartilhada do Sistema SSP. */
.ssp-page{background:#070b0d;min-height:100vh}.ssp-page .project-header{position:relative;top:auto}.ssp-page .project-hero{min-height:clamp(570px,74vh,760px);overflow:hidden;padding:clamp(100px,13vw,180px) clamp(20px,8vw,128px) 90px;position:relative}.ssp-page .project-hero:before,.ssp-page .project-hero:after{border:1px solid rgba(144,174,255,.22);border-radius:50%;content:"";pointer-events:none;position:absolute}.ssp-page .project-hero:before{height:720px;right:-120px;top:-250px;width:720px}.ssp-page .project-hero:after{height:460px;right:8%;top:90px;width:460px}.ssp-page .project-heading{max-width:940px;position:relative;z-index:1}.ssp-page .project-heading h1{font:800 clamp(72px,11vw,170px)/.73 var(--display);letter-spacing:-.06em;margin:26px 0 28px;text-transform:uppercase}.ssp-page .project-heading h1 i,.ssp-page .project-intro h2 i,.ssp-page .project-closing h2 i{color:var(--accent-light);font-style:italic;font-weight:500}.ssp-page .project-lead{color:#c0cbce;font-size:clamp(14px,1.25vw,18px);line-height:1.8;margin:0;max-width:650px}.ssp-page .project-cta{background:var(--accent);color:#fff;display:inline-flex;font:500 9px var(--mono);letter-spacing:.09em;margin-top:32px;padding:17px 20px}.ssp-page .project-cta span{font-size:15px;margin-left:10px}.ssp-page .project-summary{background:#0a1115;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(20px,8vw,128px)}.ssp-page .project-summary div{border-left:1px solid var(--line);padding:34px clamp(15px,3vw,42px)}.ssp-page .project-summary div:first-child{border-left:0;padding-left:0}.ssp-page .project-summary strong{color:var(--accent-light);display:block;font:700 25px/.9 var(--display);letter-spacing:-.02em;text-transform:uppercase}.ssp-page .project-summary span{color:#91a1a5;display:block;font:500 8px/1.7 var(--mono);letter-spacing:.09em;margin-top:9px}.ssp-page .project-main{padding:clamp(80px,11vw,150px) clamp(20px,8vw,128px)}.ssp-page .project-intro{border-bottom:1px solid var(--line);max-width:900px;padding-bottom:clamp(58px,8vw,100px)}.ssp-page .project-intro h2{font:700 clamp(48px,6.5vw,100px)/.82 var(--display);letter-spacing:-.045em;margin:16px 0 22px;text-transform:uppercase}.ssp-page .project-intro p{color:#afbbbe;font-size:14px;line-height:1.85;margin:0;max-width:690px}.ssp-page .feature-list{display:grid;gap:1px;grid-template-columns:repeat(2,1fr);margin-top:clamp(58px,8vw,100px)}.ssp-page .feature{border:1px solid var(--line);min-height:315px;padding:clamp(27px,4vw,52px)}.ssp-page .feature:nth-child(odd){border-left:0}.ssp-page .feature:nth-child(-n+2){border-top:0}.ssp-page .feature-number{color:var(--accent-light);font:500 9px var(--mono)}.ssp-page .feature h3{font:700 clamp(35px,3.6vw,56px)/.9 var(--display);letter-spacing:-.03em;margin:34px 0 15px;text-transform:uppercase}.ssp-page .feature p{color:#aeb9bc;font-size:12px;line-height:1.75;margin:0;max-width:470px}.ssp-page .feature ul{color:#c3ced0;columns:2;font-size:11px;line-height:1.8;list-style:none;margin:21px 0 0;padding:0}.ssp-page .feature li:before{color:var(--accent-light);content:"✓";margin-right:8px}.ssp-page .project-closing{border-top:1px solid var(--line);margin-top:1px;padding:clamp(58px,8vw,100px) 0 0}.ssp-page .project-closing h2{font:700 clamp(49px,6.3vw,94px)/.82 var(--display);letter-spacing:-.045em;margin:15px 0 22px;text-transform:uppercase}.ssp-page .project-closing p{color:#b9c4c7;font-size:15px;line-height:1.85;margin:0;max-width:680px}.ssp-page .project-footer{border-top:1px solid var(--line);padding:28px clamp(20px,8vw,128px)}.ssp-page .project-footer-inner{align-items:center;color:#829194;display:flex;font:500 8px/1.5 var(--mono);justify-content:space-between;letter-spacing:.08em}.ssp-page .project-footer a{color:var(--accent-light)}@media(max-width:800px){.ssp-page .project-hero{min-height:560px;padding:92px 21px 78px}.ssp-page .project-hero:before{height:440px;right:-200px;top:-140px;width:440px}.ssp-page .project-hero:after{height:270px;right:-80px;top:70px;width:270px}.ssp-page .project-heading h1{font-size:80px}.ssp-page .project-lead{font-size:14px}.ssp-page .project-summary{grid-template-columns:1fr;padding:0 21px}.ssp-page .project-summary div,.ssp-page .project-summary div:first-child{border-left:0;border-top:1px solid var(--line);padding:24px 0}.ssp-page .project-summary div:first-child{border-top:0}.ssp-page .project-main{padding:80px 21px}.ssp-page .project-intro h2{font-size:61px}.ssp-page .project-intro p{font-size:13px}.ssp-page .feature-list{grid-template-columns:1fr;margin-top:56px}.ssp-page .feature,.ssp-page .feature:nth-child(odd),.ssp-page .feature:nth-child(-n+2){border-left:0;border-top:1px solid var(--line);min-height:0}.ssp-page .feature:first-child{border-top:0}.ssp-page .feature h3{font-size:38px;margin:25px 0 13px}.ssp-page .feature ul{columns:1;font-size:11px}.ssp-page .project-closing h2{font-size:61px}.ssp-page .project-closing p{font-size:14px}.ssp-page .project-footer{padding:24px 21px}.ssp-page .project-footer-inner{align-items:flex-start;flex-direction:column;gap:8px}}

/* Mobile: os robôs ficavam por cima do texto. Mesma solução já usada em
   .project-hero-mascot — recuar e reduzir a opacidade, mantendo a composição. */
@media (max-width:800px) {
  .editor-robot-intro { opacity:.3; right:-58px; top:54px; width:230px; }
  .intro-robot-orbit { height:250px; right:-58px; top:44px; width:250px; }
  .intro-robot-orbit-secondary { height:176px; right:-20px; top:82px; width:176px; }
  .editor-robot-contact { opacity:.32; right:-62px; top:0; width:282px; }
  .hero-mascot-wrap { height:371px; right:-198px; width:500px; }
}

/* Menu mobile: no celular o .header-cta fica oculto, então o menu não tinha
   nenhum caminho para o contato. Este link só aparece dentro do menu aberto.
   O painel também começa abaixo do cabeçalho, para não cobrir a logo. */
.desktop-nav .nav-cta { display:none; }
@media (max-width:800px) {
  .desktop-nav.mobile-open {
    padding:34px 22px 38px;
    top:94px;
  }
  .desktop-nav.mobile-open .nav-cta {
    border-top:1px solid var(--line);
    color:var(--accent-light);
    display:block;
    font:500 11px var(--mono);
    letter-spacing:.1em;
    margin-top:9px;
    padding-top:26px;
    text-transform:uppercase;
  }
  .desktop-nav.mobile-open .nav-cta span { font-size:15px; margin-left:5px; }
}

/* ===========================================================
   SEÇÃO "COMO FUNCIONA" — mais presença em telas largas
   =========================================================== */

/* Grade técnica de fundo, mesma linguagem da institucional. */
.process::after {
  background-image:linear-gradient(rgba(144,174,255,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(144,174,255,.07) 1px,transparent 1px);
  background-size:54px 54px;
  content:"";
  inset:0;
  mask-image:radial-gradient(circle at 62% 38%,#000 0%,transparent 72%);
  pointer-events:none;
  position:absolute;
  z-index:0;
}

/* Em telas largas o título dividia a linha com um vazio enorme.
   Agora divide com o painel HUD. */
.process-hud { display:none; }

@media (min-width:1000px) {
  .process {
    align-items:center;
    column-gap:clamp(32px,5vw,90px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(250px,420px);
  }
  .process .section-title { grid-column:1; grid-row:1; }
  .process-grid { grid-column:1/-1; grid-row:2; }
  .process-hud {
    aspect-ratio:1;
    display:block;
    grid-column:2;
    grid-row:1;
    justify-self:center;
    position:relative;
    width:min(100%,360px);
    z-index:1;
  }
}

.process-hud-ring,
.process-hud-ring::before,
.process-hud-ring::after {
  border:1px solid rgba(144,174,255,.22);
  border-radius:50%;
  content:"";
  position:absolute;
}
.process-hud-ring { animation:hud-spin 26s linear infinite; inset:0; }
.process-hud-ring::before { border-color:rgba(144,174,255,.14); inset:13%; }
.process-hud-ring::after  { border-color:rgba(144,174,255,.3); border-style:dashed; inset:27%; }

.process-hud-ring i {
  background:var(--accent-light);
  border-radius:50%;
  box-shadow:0 0 10px 2px rgba(144,174,255,.85);
  height:7px;
  left:50%;
  position:absolute;
  top:-4px;
  transform:translateX(-50%);
  width:7px;
}

.process-hud-core {
  align-items:center;
  display:flex;
  flex-direction:column;
  inset:0;
  justify-content:center;
  position:absolute;
}
.process-hud-count {
  animation:hud-breathe 5.5s ease-in-out infinite;
  color:rgba(144,174,255,.32);
  font:900 clamp(78px,9vw,124px)/.8 var(--display);
  letter-spacing:-.06em;
}
.process-hud-label {
  color:#7890c6;
  font:500 8px/1 var(--mono);
  letter-spacing:.34em;
  margin-top:10px;
  text-indent:.34em;
}

.process-hud-readout {
  align-items:center;
  bottom:6%;
  color:#6d7f84;
  display:flex;
  font:500 7px/1 var(--mono);
  gap:9px;
  justify-content:center;
  left:0;
  letter-spacing:.16em;
  margin:0;
  position:absolute;
  right:0;
}
.process-hud-readout b { color:var(--accent-light); font-size:11px; }

/* Os números gigantes atrás dos cards agora respiram, em sequência. */
.process-step::after { animation:step-number-breathe 7s ease-in-out infinite; }
.process-step:nth-of-type(2)::after { animation-delay:-1.75s; }
.process-step:nth-of-type(3)::after { animation-delay:-3.5s; }
.process-step:nth-of-type(4)::after { animation-delay:-5.25s; }

/* Brilho que acompanha o cursor dentro do card + leve inclinação 3D. */
.process-grid { perspective:1100px; }
.process-step {
  transform-style:preserve-3d;
  transition:border-color .28s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;
  will-change:transform;
}
.process-step::before {
  background:radial-gradient(circle at var(--px,50%) var(--py,18%),rgba(144,174,255,.22),transparent 55%);
}
.process-step.is-pointed {
  border-left-color:rgba(144,174,255,.7);
  box-shadow:0 22px 46px -26px rgba(16,30,95,.9);
  transform:translateY(-9px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
}
.process-step.is-pointed::before { opacity:1; }
.process-step.is-pointed .process-step-node {
  background:rgba(144,174,255,.16);
  border-color:#fff;
  box-shadow:0 0 0 7px rgba(144,174,255,.08),0 0 21px rgba(144,174,255,.38);
  transform:scale(1.12);
}
.process-step.is-pointed small { color:#dce5ff; }

/* A linha de progresso agora acompanha o scroll em vez de passar uma vez só. */
.process-progress-line b {
  background:linear-gradient(90deg,var(--accent-light),#fff);
  box-shadow:0 0 14px rgba(144,174,255,.75);
  display:block;
  height:100%;
  transform-origin:left;
  transform:scaleX(var(--progress,0));
  transition:transform .18s linear;
  width:100%;
}

/* Nó acende quando a linha de progresso passa por ele. */
.process-step-node { transition:.35s cubic-bezier(.22,1,.36,1); }
.process-step.is-reached .process-step-node {
  border-color:rgba(144,174,255,.85);
  box-shadow:0 0 0 5px rgba(144,174,255,.07),0 0 16px rgba(144,174,255,.5);
}
.process-step.is-reached .process-step-node i { box-shadow:0 0 12px 2px rgba(144,174,255,1); }

@keyframes hud-spin { to { transform:rotate(360deg); } }
@keyframes hud-breathe {
  0%,100% { opacity:.55; }
  50%     { opacity:1; }
}
@keyframes step-number-breathe {
  0%,100% { opacity:.55; }
  50%     { opacity:1.35; }
}

@media (prefers-reduced-motion:reduce) {
  .process-hud-ring,
  .process-hud-count,
  .process-step::after { animation:none; }
  .process-step { transition:none; }
  .process-step.is-pointed { transform:none; }
  .process-progress-line b { transform:scaleX(1); transition:none; }
}

/* A revelação de entrada usava `animation ... forwards` sobre `transform`, e o
   estado final de uma animação vence declarações normais na cascata — o que
   bloqueava a inclinação no hover. Passando a revelação para `translate`
   (propriedade independente), as duas coisas convivem. */
.process-step { transform:none; translate:0 24px; }
@keyframes process-step-in { to { opacity:1; translate:0 0; } }

@media (prefers-reduced-motion:reduce) {
  .process-step,
  .process.is-visible .process-step { translate:0 0; }
}

/* ===========================================================
   CONTATO — movimento próprio em vez de cena parada
   =========================================================== */

/* O mascote flutua devagar e responde ao scroll (parallax leve, via --shift). */
.editor-robot-contact {
  animation:contact-float 7s ease-in-out infinite;
  translate:0 var(--shift,0px);
  will-change:translate;
}
@keyframes contact-float {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50%     { transform:translateY(-16px) rotate(-.7deg); }
}

/* O halo de fundo pulsa e gira devagar, dando profundidade ao azul chapado. */
.contact-glow {
  animation:contact-glow-pulse 9s ease-in-out infinite;
  will-change:opacity,transform;
}
@keyframes contact-glow-pulse {
  0%,100% { opacity:.75; transform:scale(1); }
  50%     { opacity:1;   transform:scale(1.08); }
}

/* Anel adicional, bem tênue, girando no sentido contrário. */
.contact::before {
  animation:hud-spin 40s linear infinite reverse;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  content:"";
  height:900px;
  pointer-events:none;
  position:absolute;
  right:-190px;
  top:-140px;
  width:900px;
  z-index:0;
}

/* Brilho que atravessa o botão no hover. */
.contact .button { overflow:hidden; position:relative; }
.contact .button::after {
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  content:"";
  inset:0;
  position:absolute;
  transform:translateX(-120%);
  transition:transform .75s cubic-bezier(.22,1,.36,1);
}
.contact .button:hover::after { transform:translateX(120%); }

/* ===========================================================
   INSTITUCIONAL — menos vazio, mais reação
   =========================================================== */

/* Em telas muito largas a coluna vazia da esquerda crescia sem limite.
   Limitando a faixa, o título volta a conversar com os círculos. */
@media (min-width:1500px) {
  .institutional-heading {
    grid-template-columns:.7fr 1.3fr;
    margin-inline:auto;
    max-width:1500px;
  }
  .institutional-grid,
  .institutional-note { margin-inline:auto; max-width:1500px; }
}

/* Os números gigantes de fundo respiram, em sequência. */
.institutional-grid article::after { animation:step-number-breathe 8s ease-in-out infinite; }
.institutional-grid article:nth-child(2)::after { animation-delay:-2.7s; }
.institutional-grid article:nth-child(3)::after { animation-delay:-5.4s; }

/* Mesma inclinação e brilho de cursor dos cards de etapa. */
.institutional-grid { perspective:1200px; }
.institutional-grid article {
  transform-style:preserve-3d;
  transition:border-color .25s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;
}
.institutional-grid article::before {
  background:radial-gradient(circle at var(--px,48%) var(--py,20%),rgba(144,174,255,.2),transparent 56%);
}
.institutional-grid article.is-pointed {
  border-left-color:rgba(144,174,255,.75);
  box-shadow:0 24px 50px -30px rgba(16,30,95,.95);
  transform:translateY(-7px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
}
.institutional-grid article.is-pointed::before { opacity:1; }
.institutional-grid article.is-pointed h3 { color:#eaf0ff; }
.institutional-grid article.is-pointed span { color:#fff; }

/* Revelação ao entrar na tela — a seção não tinha nenhuma. */
.institutional-grid article { opacity:0; translate:0 22px; transition:opacity .6s ease,translate .6s cubic-bezier(.16,1,.3,1),border-color .25s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease; }
.institutional.is-visible .institutional-grid article { opacity:1; translate:0 0; }
.institutional.is-visible .institutional-grid article:nth-child(2) { transition-delay:.12s; }
.institutional.is-visible .institutional-grid article:nth-child(3) { transition-delay:.24s; }

@media (prefers-reduced-motion:reduce) {
  .editor-robot-contact,
  .contact-glow,
  .contact::before,
  .institutional-grid article::after { animation:none; }
  .editor-robot-contact { translate:0 0; }
  .contact .button::after { display:none; }
  .institutional-grid article { opacity:1; translate:0 0; transition:none; }
  .institutional-grid article.is-pointed { transform:none; }
}
