/* GKF Company — camada de movimento. Não altera nada dentro da assistente (.site-chatbot). */

/* Barra de progresso de leitura */
.gkf-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));
 background:linear-gradient(90deg,#ff1738,#ff6a3d);z-index:101;pointer-events:none;box-shadow:0 0 12px #ff173899}

/* Brilho que segue o mouse (só computador) */
.gkf-spot{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:1;
 background:radial-gradient(circle,rgba(255,23,56,.13),transparent 62%);transform:translate3d(var(--mx,-999px),var(--my,-999px),0);
 transition:opacity .4s;opacity:0;mix-blend-mode:screen}
.gkf-spot.on{opacity:1}

/* Faixa de serviços em movimento */
.gkf-marquee{position:relative;overflow:hidden;background:#ee1638;color:#fff;border-block:1px solid #ff5a72;padding:16px 0;
 transform:rotate(-1.2deg) scale(1.02);margin:-6px 0 6px;z-index:2}
.gkf-marquee-track{display:flex;width:max-content;animation:gkf-marquee 32s linear infinite}
.gkf-marquee span{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font-weight:800;letter-spacing:.06em;
 text-transform:uppercase;font-size:clamp(15px,1.6vw,22px);white-space:nowrap}
.gkf-marquee span i{display:inline-block;width:10px;height:10px;background:#0a0a0c;transform:rotate(45deg)}
.gkf-marquee:hover .gkf-marquee-track{animation-play-state:paused}
@keyframes gkf-marquee{to{transform:translateX(-50%)}}

/* Entrada do topo */
.motion-on .site-header{animation:gkf-drop .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes gkf-drop{from{transform:translateY(-100%);opacity:0}}

/* Hero: título linha a linha, leão flutuando, brilho pulsando */
.motion-on .editorial-eyebrow{animation:gkf-up .8s .15s cubic-bezier(.2,.8,.2,1) both}
.motion-on .editorial-hero h1{animation:gkf-rise 1s .25s cubic-bezier(.2,.8,.2,1) both}
.motion-on .editorial-hero h1 em{display:inline-block;animation:gkf-rise 1s .55s cubic-bezier(.2,.8,.2,1) both,gkf-glow 3.5s 1.6s ease-in-out infinite}
.motion-on .editorial-hero-bottom{animation:gkf-up .9s .7s cubic-bezier(.2,.8,.2,1) both}
.motion-on .editorial-bull{animation:gkf-zoom 1.3s .2s cubic-bezier(.2,.8,.2,1) both}
.motion-on .editorial-bull img{animation:gkf-float 6s 1.5s ease-in-out infinite;will-change:transform}
.editorial-hero:before{content:'';position:absolute;z-index:-1;width:60vw;height:60vw;max-width:900px;max-height:900px;right:-12vw;top:-10vw;border-radius:50%;
 background:radial-gradient(circle,rgba(255,23,56,.28),transparent 60%);animation:gkf-pulse 7s ease-in-out infinite;pointer-events:none}
@keyframes gkf-rise{from{opacity:0;transform:translateY(60px) skewY(4deg);filter:blur(8px)}}
@keyframes gkf-up{from{opacity:0;transform:translateY(30px)}}
@keyframes gkf-zoom{from{opacity:0;transform:scale(.88) translateY(30px)}}
@keyframes gkf-float{50%{transform:translateY(-14px) rotate(-.6deg)}}
@keyframes gkf-pulse{50%{transform:scale(1.15);opacity:.65}}
@keyframes gkf-glow{50%{text-shadow:0 0 28px rgba(255,23,56,.55)}}

/* Revelar ao rolar (só quando o script está ativo; sem script, tudo aparece normal) */
.motion-on [data-rv]{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.motion-on [data-rv="left"]{transform:translateX(-60px)}
.motion-on [data-rv="right"]{transform:translateX(60px)}
.motion-on [data-rv="zoom"]{transform:scale(.92) translateY(30px)}
.motion-on [data-rv].is-in{opacity:1;transform:none}

/* Títulos de seção com sublinhado animado */
.motion-on .editorial-label{position:relative}
.motion-on .editorial-label:after{content:'';position:absolute;left:0;bottom:-8px;height:2px;width:0;background:#ff1738;transition:width 1s .3s cubic-bezier(.2,.8,.2,1)}
.motion-on .editorial-label.is-in:after{width:48px}

/* Cards de projeto */
.editorial-project-zoom img,.editorial-project-image img{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}
.editorial-project-row:hover .editorial-project-thumb{transform:translateY(-8px) scale(1.02);box-shadow:0 26px 50px #0003,0 0 0 2px #ff1738}
.editorial-project-row .editorial-text-link svg{transition:transform .3s}
.editorial-project-row:hover .editorial-text-link svg,.editorial-project-story .editorial-text-link:hover svg{transform:translateX(6px)}
.gkf-tilt{transition:transform .25s ease-out;transform-style:preserve-3d}

/* Serviços */
.editorial-service-row{position:relative;overflow:hidden}
.editorial-service-row:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#ff1738;transform:scaleY(0);transform-origin:bottom;transition:transform .35s}
.editorial-service-row:hover:before{transform:scaleY(1)}
.editorial-service-number{transition:color .3s,transform .3s}
.editorial-service-row:hover .editorial-service-number{color:#ff1738;transform:scale(1.25)}
.editorial-service-arrow{transition:transform .3s,background .3s,border-color .3s,color .3s}
.editorial-service-row:hover .editorial-service-arrow{transform:rotate(-45deg)}

/* Botões com brilho passando */
.button-primary,.editorial-contact-button{position:relative;overflow:hidden}
.button-primary:after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;
 background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:gkf-shine 4.5s 2s ease-in-out infinite}
@keyframes gkf-shine{0%,70%{left:-60%}100%{left:130%}}
.editorial-contact-button{animation:gkf-ring 2.6s ease-in-out infinite}
@keyframes gkf-ring{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.35)}50%{box-shadow:0 0 0 16px rgba(255,255,255,0)}}
.editorial-contact-button svg{transition:transform .3s}
.editorial-contact-button:hover svg{transform:translateX(6px) rotate(-30deg)}

/* Ícones sociais e WhatsApp flutuante */
.social-links a{transition:transform .25s,background .25s,color .25s,border-color .25s}
.social-links a:hover{transform:translateY(-4px);color:#fff;border-color:#ff1738;background:#ff17381f}
.floating-whatsapp{animation:gkf-bob 3s ease-in-out infinite}
@keyframes gkf-bob{50%{transform:translateY(-6px)}}

/* Vídeo */
.editorial-film-player video{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}
.editorial-film-player:hover video{transform:scale(1.015);box-shadow:0 30px 80px rgba(255,23,56,.25)}

/* Links do menu */
.desktop-nav a{position:relative}
.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#ff1738;transform:scaleX(0);transition:transform .3s}
.desktop-nav a:hover:after{transform:scaleX(1)}

/* Quem prefere menos movimento */
@media (prefers-reduced-motion:reduce){
 .gkf-marquee-track,.motion-on *,.editorial-hero:before,.floating-whatsapp,.button-primary:after,.editorial-contact-button{animation:none!important}
 .motion-on [data-rv]{opacity:1!important;transform:none!important;transition:none!important}
 .gkf-spot{display:none}
}


/* ===================== MODO INTENSO ===================== */

/* Cursor vermelho em todo o site (inclusive na assistente, sem atrapalhar) */
html,body{cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI4IDI4Ij48cGF0aCBkPSJNMyAyIEwzIDIyIEw4LjUgMTcgTDEyLjUgMjYgTDE2IDI0LjUgTDEyIDE1LjggTDE5LjUgMTUuOCBaIiBmaWxsPSIjZmYxNzM4IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+") 3 2,auto}
a,button,[role=button],summary,label,.editorial-project-zoom,.editorial-project-image{cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIj48Y2lyY2xlIGN4PSIxNSIgY3k9IjE1IiByPSI5IiBmaWxsPSIjZmYxNzM4IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjxjaXJjbGUgY3g9IjE1IiBjeT0iMTUiIHI9IjMiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4=") 15 15,pointer!important}
input,textarea{cursor:text}

/* Anel vermelho que persegue o cursor (some sobre a assistente) */
.gkf-ring{position:fixed;left:0;top:0;width:38px;height:38px;margin:-19px 0 0 -19px;border:2px solid #ff1738;border-radius:50%;
 pointer-events:none;z-index:89;transform:translate3d(var(--rx,-99px),var(--ry,-99px),0) scale(var(--rs,1));
 transition:width .25s,height .25s,margin .25s,background .25s,opacity .25s,border-color .25s;opacity:0;mix-blend-mode:difference}
.gkf-ring.on{opacity:1}
.gkf-ring.hot{width:70px;height:70px;margin:-35px 0 0 -35px;background:rgba(255,23,56,.18)}
.gkf-trail{position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ff1738;pointer-events:none;z-index:88;
 box-shadow:0 0 10px #ff1738;opacity:.0;transition:opacity .3s}
.gkf-trail.on{opacity:.55}

/* Faíscas no topo */
.gkf-embers{position:absolute;inset:0;z-index:0;pointer-events:none}

/* Palavras que se revezam no topo */
.gkf-rotator{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:clamp(16px,1.6vw,22px);font-weight:700;letter-spacing:.04em;color:#c9c7cc;position:relative;z-index:1}
.gkf-rotator b{color:#ff1738;min-width:2ch;border-right:3px solid #ff1738;padding-right:4px;animation:gkf-caret .8s steps(1) infinite;white-space:nowrap}
@keyframes gkf-caret{50%{border-color:transparent}}

/* Letras entrando uma a uma */
.gkf-ch{display:inline-block;will-change:transform}
.motion-on .gkf-split .gkf-ch{opacity:0;transform:translateY(.8em) rotate(8deg);transition:opacity .6s,transform .7s cubic-bezier(.2,.9,.2,1.2);transition-delay:calc(var(--i)*28ms)}
.motion-on .gkf-split.is-in .gkf-ch{opacity:1;transform:none}
.gkf-word{display:inline-block;white-space:nowrap}

/* Título principal: ondulação e glitch */
.motion-on .editorial-hero h1 .gkf-ch{animation:gkf-letter .9s cubic-bezier(.2,.9,.2,1.2) both;animation-delay:calc(.2s + var(--i)*35ms)}
@keyframes gkf-letter{from{opacity:0;transform:translateY(80px) rotate(12deg) scale(.6);filter:blur(10px)}}
.motion-on .editorial-hero h1:hover .gkf-ch{animation:gkf-wave .6s ease both;animation-delay:calc(var(--i)*25ms)}
@keyframes gkf-wave{50%{transform:translateY(-14px);color:#ff1738}}
.motion-on .editorial-hero h1 em{position:relative;animation:gkf-glitch 4s 2.5s infinite}
@keyframes gkf-glitch{0%,90%,100%{text-shadow:none;transform:none}
 91%{text-shadow:-4px 0 #00e5ff,4px 0 #ff1738;transform:translate(2px,-1px) skewX(-6deg)}
 93%{text-shadow:4px 0 #00e5ff,-4px 0 #ff1738;transform:translate(-3px,1px)}
 95%{text-shadow:-2px 0 #00e5ff,2px 0 #ff1738;transform:none}}

/* Faixas gigantes de texto passando */
.gkf-bigtext{overflow:hidden;white-space:nowrap;padding:22px 0;background:transparent;position:relative;z-index:1;pointer-events:none}
.gkf-bigtext .row{display:inline-block;font-weight:900;font-size:clamp(56px,11vw,170px);line-height:1;letter-spacing:-.03em;text-transform:uppercase;
 color:transparent;-webkit-text-stroke:2px rgba(255,23,56,.65);will-change:transform}
.gkf-bigtext .row b{color:#ff1738;-webkit-text-stroke:0}
.gkf-bigtext.light{background:#f3f3f1}
.gkf-bigtext.dark{background:#0b0b0e}

/* Faixa vermelha mais rápida e uma segunda em sentido contrário */
.gkf-marquee-track{animation-duration:20s}
.gkf-marquee.rev{background:#0b0b0e;border-color:#2a2a30;transform:rotate(1.2deg) scale(1.02);margin:-26px 0 6px}
.gkf-marquee.rev .gkf-marquee-track{animation-direction:reverse;animation-duration:26s}
.gkf-marquee.rev span{color:#ff1738}
.gkf-marquee.rev span i{background:#ff1738}

/* Títulos de seção com brilho correndo */
.motion-on h2 em{--c:#ff2949;background:linear-gradient(100deg,var(--c) 0%,var(--c) 42%,#ffd0d7 50%,var(--c) 58%,var(--c) 100%);background-size:250% 100%;
 -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gkf-sheen 4s linear infinite}
.motion-on .editorial-work h2 em{--c:#707076}
@keyframes gkf-sheen{from{background-position:100% 0}to{background-position:-150% 0}}

/* Cards flutuando de leve */
.motion-on .editorial-project-row.is-in{animation:gkf-hover 6s ease-in-out infinite;animation-delay:calc(var(--d,0s)*8)}
@keyframes gkf-hover{50%{transform:translateY(-6px)}}

/* Linhas dos serviços varrendo em vermelho */
.editorial-service-row:after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,transparent,#ff1738,transparent);
 transform:translateX(-100%);animation:gkf-sweep 3.5s linear infinite;animation-delay:var(--d,0s)}
@keyframes gkf-sweep{to{transform:translateX(100%)}}

/* Seção de contato com fundo animado */
.editorial-contact{background:linear-gradient(120deg,#ee1638,#b80f2b,#ff3b54,#ee1638)!important;background-size:300% 300%!important;animation:gkf-bg 10s ease infinite}
@keyframes gkf-bg{50%{background-position:100% 50%}}

/* Botões magnéticos */
.gkf-mag{transition:transform .2s ease-out}

@media (prefers-reduced-motion:reduce){
 .gkf-ring,.gkf-trail,.gkf-embers{display:none}
 .gkf-ch{opacity:1!important;transform:none!important;animation:none!important}
 .editorial-contact,.editorial-service-row:after,.gkf-rotator b,h2 em{animation:none!important}
}
@media (hover:none){.gkf-ring,.gkf-trail{display:none}}
.gkf-rotator{margin:0 0 22px}@media (width<=760px){.gkf-rotator{order:2;margin:0 0 6px}}
.gkf-marquee,.gkf-bigtext{display:none!important}
