/* Baked Kale / Kale's FDE — restrained Art × UI entry motion. */
:root{--fde-motion-green:#244f37;--fde-motion-green-deep:#183b2a;--fde-motion-line:#b8c8ba;--fde-motion-light:#f7f2e8;--fde-motion-ink:#18201c}

.fde-entry-intro{position:fixed;inset:0;z-index:99990;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 46%,#fffdf8 0%,#faf6ed 46%,#f3ece0 78%,#ece4d7 100%);opacity:1;visibility:visible;transition:opacity .58s cubic-bezier(.2,.7,.2,1),visibility .58s linear}
.fde-entry-intro::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(70,62,50,.012) 0 1px,transparent 1px 4px),radial-gradient(circle at 14% 16%,rgba(36,79,55,.055),transparent 24rem);pointer-events:none}
.fde-entry-intro::after{content:"";position:absolute;right:-8vw;top:7%;width:min(820px,70vw);height:84%;background:url('assets/art-ui-brush.svg') center/contain no-repeat;opacity:.16;mix-blend-mode:multiply;pointer-events:none}
.fde-entry-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}

.fde-entry-center-glow{position:absolute;left:50%;top:50%;width:min(820px,74vw);height:min(340px,34vw);transform:translate(-50%,-50%) scale(.96);border-radius:50%;background:radial-gradient(ellipse at center,rgba(36,79,55,.075) 0%,rgba(114,136,117,.04) 38%,rgba(201,192,173,.02) 58%,rgba(255,255,255,0) 78%);filter:blur(18px);opacity:0;animation:fdeCenterGlow .9s .34s ease forwards;pointer-events:none}

.fde-entry-stage{position:relative;z-index:4;width:min(920px,88vw);padding:70px 24px;display:grid;place-items:center}
.fde-entry-logo-wrap{position:relative;width:min(750px,75vw);opacity:0;transform:translateY(7px) scale(.987);filter:drop-shadow(0 14px 30px rgba(35,47,40,.08));animation:fdeLogoIn .76s .52s cubic-bezier(.16,1,.3,1) forwards}
.fde-entry-logo{display:block;width:100%;height:auto}

.fde-circuit-svg{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}
.fde-circuit-lines path{fill:none;stroke:rgba(65,104,80,.15);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1300;stroke-dashoffset:1300}
.fde-circuit-lines.fde-left path,.fde-circuit-lines.fde-right path{animation:fdePathDraw 1.12s cubic-bezier(.22,.8,.2,1) forwards}
.fde-circuit-lines path:nth-child(1){animation-delay:.04s}.fde-circuit-lines path:nth-child(2){animation-delay:.11s}.fde-circuit-lines path:nth-child(3){animation-delay:.18s}.fde-circuit-lines path:nth-child(4){animation-delay:.25s}

.fde-signal-lines path{fill:none;stroke:rgba(36,79,55,var(--signal-alpha,.55));stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:28 390;stroke-dashoffset:880;opacity:0;filter:drop-shadow(0 0 2px rgba(36,79,55,.08));animation-name:fdeSignalForward;animation-duration:var(--signal-duration,1.8s);animation-delay:var(--signal-delay,.28s);animation-timing-function:linear;animation-fill-mode:forwards}
.fde-signal-lines path[data-direction="reverse"]{stroke-dashoffset:-880;animation-name:fdeSignalReverse}

.fde-circuit-nodes circle{fill:#728875;stroke:#e5dfd3;stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;animation:fdeNodeIn .65s ease-out forwards}
.fde-circuit-nodes circle:nth-child(1),.fde-circuit-nodes circle:nth-child(5){animation-delay:.36s}.fde-circuit-nodes circle:nth-child(2),.fde-circuit-nodes circle:nth-child(6){animation-delay:.52s}.fde-circuit-nodes circle:nth-child(3),.fde-circuit-nodes circle:nth-child(7){animation-delay:.67s}.fde-circuit-nodes circle:nth-child(4),.fde-circuit-nodes circle:nth-child(8){animation-delay:.78s}

.fde-entry-skip{position:absolute;z-index:8;right:22px;bottom:18px;border:0;background:transparent;color:rgba(24,32,28,.46);font:600 10px/1.2 inherit;letter-spacing:.12em;cursor:pointer;padding:10px;opacity:.78}.fde-entry-skip:hover{opacity:1;color:#18201c}

.products-hero .hero-grid>div:first-child>*{opacity:0;transform:translateY(18px)}.products-hero .demo-preview-player{opacity:0;transform:translateX(22px) scale(.985)}
body.fde-hero-enter .products-hero .hero-grid>div:first-child>*{animation:fdeHeroItem .64s cubic-bezier(.16,1,.3,1) forwards}
body.fde-hero-enter .products-hero .hero-grid>div:first-child>*:nth-child(1){animation-delay:.02s}body.fde-hero-enter .products-hero .hero-grid>div:first-child>*:nth-child(2){animation-delay:.10s}body.fde-hero-enter .products-hero .hero-grid>div:first-child>*:nth-child(3){animation-delay:.18s}body.fde-hero-enter .products-hero .hero-grid>div:first-child>*:nth-child(4){animation-delay:.26s}body.fde-hero-enter .products-hero .hero-grid>div:first-child>*:nth-child(5){animation-delay:.34s}
body.fde-hero-enter .products-hero .demo-preview-player{animation:fdePreviewIn .76s .16s cubic-bezier(.16,1,.3,1) forwards}

.fde-reveal{opacity:0;transform:translateY(22px);transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .68s cubic-bezier(.16,1,.3,1)}.fde-reveal.is-visible{opacity:1;transform:none}
.products-flow-rail .fde-reveal:nth-child(3),.steps .fde-reveal:nth-child(2),.security-grid .fde-reveal:nth-child(2){transition-delay:.06s}.products-flow-rail .fde-reveal:nth-child(5),.steps .fde-reveal:nth-child(3),.security-grid .fde-reveal:nth-child(3){transition-delay:.12s}.security-grid .fde-reveal:nth-child(4){transition-delay:.18s}

.demo-preview-player{position:relative;overflow:hidden}.demo-preview-player::after{content:"";position:absolute;inset:-40% -10%;background:linear-gradient(110deg,transparent 44%,rgba(255,255,255,.22) 50%,transparent 56%);transform:translateX(-70%);pointer-events:none;animation:fdePreviewSweep 9s 2.4s ease-in-out infinite}

@keyframes fdeCenterGlow{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes fdePathDraw{0%{stroke-dashoffset:1300;opacity:.03}100%{stroke-dashoffset:0;opacity:.68}}
@keyframes fdeSignalForward{0%{opacity:0;stroke-dashoffset:880}12%{opacity:.58}82%{opacity:.58}100%{opacity:0;stroke-dashoffset:0}}
@keyframes fdeSignalReverse{0%{opacity:0;stroke-dashoffset:-880}12%{opacity:.58}82%{opacity:.58}100%{opacity:0;stroke-dashoffset:0}}
@keyframes fdeNodeIn{0%{opacity:0}100%{opacity:.44}}
@keyframes fdeLogoIn{0%{opacity:0;transform:translateY(7px) scale(.987);filter:blur(4px) drop-shadow(0 12px 28px rgba(35,47,40,.06))}100%{opacity:1;transform:none;filter:blur(0) drop-shadow(0 14px 30px rgba(35,47,40,.08))}}
@keyframes fdeHeroItem{to{opacity:1;transform:none}}@keyframes fdePreviewIn{to{opacity:1;transform:none}}@keyframes fdePreviewSweep{0%,76%,100%{transform:translateX(-75%);opacity:0}82%{opacity:.34}92%{transform:translateX(75%);opacity:0}}

@media(max-width:760px){.fde-entry-stage{width:96vw;padding:42px 8px}.fde-entry-logo-wrap{width:90vw}.fde-entry-center-glow{width:96vw;height:42vw;min-height:200px}.fde-entry-intro::after{right:-48vw;width:145vw;opacity:.09}.fde-circuit-lines path{stroke-width:1}.fde-signal-lines path{stroke-width:1.2}.fde-entry-skip{right:10px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.fde-entry-intro{display:none!important}.products-hero .hero-grid>div:first-child>*,.products-hero .demo-preview-player,.fde-reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.demo-preview-player::after{display:none!important}}
