.fw-scene{position:relative;width:100%;height:100%;margin:0;perspective:1100px;perspective-origin:50% 45%;opacity:0;overflow:hidden;transition:opacity 0.5s ease}.fw-scene.is-ready{opacity:1}.fw-scene::before{content:'';position:absolute;inset:-30px;background:radial-gradient(ellipse at 50% 50%,rgba(14,145,187,0.12) 0%,rgba(119,206,250,0.05) 38%,transparent 62%);pointer-events:none;filter:blur(18px);z-index:0}.fw-frame{position:absolute;left:50%;top:50%;width:2000px;height:2000px;transform:translate(-50%,-50%) translate(var(--fw-offset-x,0px),var(--fw-offset-y,0px));transform-style:preserve-3d;transition:transform 1100ms cubic-bezier(0.16,1,0.3,1);z-index:1;pointer-events:none}.fw-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible;transition:opacity 300ms ease-out}.fw-scene.fw-connectors-hidden .fw-connectors{opacity:0;transition:opacity 140ms ease-out}.fw-connector-group{opacity:1;transition:opacity 550ms ease}.fw-connector-group.is-hidden{opacity:0}.fw-connector-base{fill:none;stroke:rgba(180,210,240,0.32);stroke-width:1;stroke-linecap:round;opacity:0;transition:opacity 0.7s ease}.fw-connector-base.is-in{opacity:1}.fw-connector-pulse{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:6 94;stroke-dashoffset:6;opacity:0}.fw-connector-pulse.is-in{opacity:1;animation:fw-pulse-travel 2s linear infinite}@keyframes fw-pulse-travel{0%{stroke-dashoffset:6;opacity:0}6%{opacity:0.95}92%{opacity:0.95}100%{stroke-dashoffset:-100;opacity:0}}.fw-cube{position:absolute;transform-style:preserve-3d;opacity:0;pointer-events:auto;will-change:opacity;transition:opacity 550ms ease-out,left 1100ms cubic-bezier(0.16,1,0.3,1),top 1100ms cubic-bezier(0.16,1,0.3,1),width 1100ms cubic-bezier(0.16,1,0.3,1),height 1100ms cubic-bezier(0.16,1,0.3,1);z-index:2}.fw-cube.is-in{opacity:var(--fw-target,1)}.fw-box{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-6deg)}.fw-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.15em;padding:5% 4%;border-radius:4px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:linear-gradient(148deg,rgba(14,24,60,0.92) 0%,rgba(7,13,38,0.97) 100%);box-shadow:0 0 0 1px rgba(255,255,255,0.07),0 6px 16px rgba(0,0,0,0.55),0 0 14px -4px var(--fw-color,#77cefa),inset 0 1px 0 rgba(255,255,255,0.10),inset 0 -1px 0 rgba(0,0,0,0.40),inset 0 0 10px rgba(0,0,0,0.30)}.fw-face::before{content:'';position:absolute;width:200%;height:200%;top:-50%;left:-50%;background:conic-gradient(from 0deg,transparent 0%,var(--fw-color,#77cefa) 6%,rgba(255,255,255,0.85) 9%,transparent 16%);opacity:0.7;animation:fw-border-spin 7s linear infinite;z-index:0;pointer-events:none}.fw-face::after{content:'';position:absolute;inset:1px;border-radius:3.5px;background:linear-gradient(148deg,rgba(14,24,60,0.96) 0%,rgba(7,13,38,0.99) 100%);z-index:1;pointer-events:none}.fw-icon,.fw-category,.fw-name{position:relative;z-index:2}.fw-icon{font-size:var(--fw-icon-size,24px);line-height:1;color:var(--fw-color,#77cefa);text-shadow:0 0 8px var(--fw-color,#77cefa),0 0 18px color-mix(in srgb,var(--fw-color,#77cefa) 36%,transparent);transition:font-size 1100ms cubic-bezier(0.16,1,0.3,1)}.fw-category{font-size:var(--fw-cat-size,9px);font-weight:var(--w-bold,700);letter-spacing:0.12em;text-transform:uppercase;color:var(--fw-color,#77cefa);opacity:0.8;margin-top:3%;text-align:center}.fw-name{font-size:var(--fw-name-size,12px);font-weight:var(--w-bold,700);line-height:1.15;color:#ffffff;text-align:center;text-wrap-style:balance;text-shadow:0 1px 3px rgba(0,0,0,0.90);max-width:100%;word-break:break-word;hyphens:auto;padding:0 1px}@keyframes fw-border-spin{to{transform:rotate(360deg)}}@media (min-width:1024px){.hero__grid:has(.fw-scene){position:relative}.hero__visual:has(.fw-scene){position:absolute;top:-140px;right:-100px;width:800px;height:500px;min-height:0;margin:0;overflow:hidden;display:block;z-index:1}}.fw-scene.fw-zoomed .fw-category,.fw-scene.fw-zoomed .fw-name{font-size:0;line-height:0;margin:0;opacity:0;transition:font-size 1100ms cubic-bezier(0.16,1,0.3,1),line-height 1100ms cubic-bezier(0.16,1,0.3,1),margin 1100ms cubic-bezier(0.16,1,0.3,1),opacity 1100ms cubic-bezier(0.16,1,0.3,1)}.fw-scene.fw-zoomed .fw-face{gap:0;transition:gap 1100ms cubic-bezier(0.16,1,0.3,1)}.fw-scene.fw-text-hidden .fw-name,.fw-scene.fw-text-hidden .fw-category{opacity:0;transition:opacity 140ms ease-out}.fw-scene.fw-zooming .fw-frame{transition:transform 1500ms cubic-bezier(0.42,0,0.58,1)}.fw-scene.fw-zooming .fw-cube{transition:opacity 550ms ease-out,left 1500ms cubic-bezier(0.42,0,0.58,1),top 1500ms cubic-bezier(0.42,0,0.58,1),width 1500ms cubic-bezier(0.42,0,0.58,1),height 1500ms cubic-bezier(0.42,0,0.58,1)}.fw-scene.fw-zooming .fw-icon{transition:font-size 1500ms cubic-bezier(0.42,0,0.58,1)}.fw-scene.fw-zooming.fw-zoomed .fw-category,.fw-scene.fw-zooming.fw-zoomed .fw-name{transition:font-size 1500ms cubic-bezier(0.42,0,0.58,1),line-height 1500ms cubic-bezier(0.42,0,0.58,1),margin 1500ms cubic-bezier(0.42,0,0.58,1),opacity 1500ms cubic-bezier(0.42,0,0.58,1)}.fw-scene.fw-zooming.fw-zoomed .fw-face{transition:gap 1500ms cubic-bezier(0.42,0,0.58,1)}.fw-scene.fw-snap .fw-cube,.fw-scene.fw-snap .fw-frame,.fw-scene.fw-snap .fw-face,.fw-scene.fw-snap .fw-icon{transition:none!important}.fw-scene.fw-flipping .fw-cube{transition:transform 1500ms cubic-bezier(0.42,0,0.58,1);will-change:transform}@media (prefers-reduced-motion:reduce){.fw-face::before,.fw-connector-pulse.is-in{animation:none}.fw-connector-pulse.is-in{opacity:0}.fw-cube{transition:opacity 200ms}.fw-frame{transition:none}.fw-scene.fw-flipping .fw-cube{transition:none}}