.section-shapes{display:var(--decorative-display,block);z-index:1;perspective:1000px;position:absolute;inset:0}.section-shape{transform-style:preserve-3d;will-change:transform;position:absolute}.section-shape.shape-cube{border:1.5px solid}.section-shape.shape-ring{border:2px solid;border-radius:50%}.section-shape.shape-sphere{border-radius:50%}.section-shapes .shape-1{border-color:color-mix(in srgb, var(--color-accent-indigo) 40%, transparent);width:50px;height:50px;animation:13s ease-in-out infinite shapeCube;top:8%;right:4%}.section-shapes .shape-2{border-color:color-mix(in srgb, var(--color-accent-cyan) 40%, transparent);width:30px;height:30px;animation:17s ease-in-out 2.5s infinite shapeCube;bottom:10%;left:3%}.section-shapes .shape-3{border-color:color-mix(in srgb, var(--color-accent-violet) 30%, transparent);width:64px;height:64px;animation:15s ease-in-out 1s infinite shapeRing;top:28%;left:5%}.section-shapes .shape-4{background:radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--color-accent-indigo) 90%, transparent), color-mix(in srgb, var(--color-accent-indigo) 10%, transparent));width:18px;height:18px;box-shadow:0 0 14px color-mix(in srgb, var(--color-accent-indigo) 50%, transparent);animation:8s ease-in-out .5s infinite shapeSphere;bottom:30%;right:7%}@keyframes shapeCube{0%{transform:translateY(0)rotateX(0)rotateY(0)rotate(0)}33%{transform:translateY(-18px)rotateX(120deg)rotateY(60deg)rotate(20deg)}66%{transform:translateY(-8px)rotateX(240deg)rotateY(120deg)rotate(10deg)}to{transform:translateY(0)rotateX(360deg)rotateY(180deg)rotate(0)}}@keyframes shapeRing{0%{transform:translateY(0)rotateX(55deg)rotate(0)}50%{transform:translateY(-22px)rotateX(55deg)rotate(180deg)}to{transform:translateY(0)rotateX(55deg)rotate(360deg)}}@keyframes shapeSphere{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-14px)scale(1.2)}}.hero-shapes{display:var(--decorative-display,block);z-index:1;perspective:1000px;position:absolute;inset:0}.shape{transform-style:preserve-3d;will-change:transform;position:absolute}.shape-cube{border:1.5px solid color-mix(in srgb, var(--color-accent-indigo) 45%, transparent)}.shape-ring{border:2px solid;border-radius:50%}.shape-sphere{border-radius:50%}.hero-shapes .shape-1{border-color:color-mix(in srgb, var(--color-accent-indigo) 55%, transparent);width:58px;height:58px;animation:12s ease-in-out infinite floatCube;top:14%;left:7%}.hero-shapes .shape-2{border-color:color-mix(in srgb, var(--color-accent-cyan) 45%, transparent);width:34px;height:34px;animation:15s ease-in-out 2s infinite floatCube;top:65%;left:5%}.hero-shapes .shape-3{border-color:color-mix(in srgb, var(--color-accent-cyan) 35%, transparent);width:78px;height:78px;animation:14s ease-in-out 3s infinite floatRing;top:9%;right:19%}.hero-shapes .shape-4{background:radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--color-accent-indigo) 90%, transparent), color-mix(in srgb, var(--color-accent-indigo) 10%, transparent));width:24px;height:24px;box-shadow:0 0 20px color-mix(in srgb, var(--color-accent-indigo) 50%, transparent);animation:10s ease-in-out .5s infinite floatSphere;top:54%;right:7%}.hero-shapes .shape-5{border-color:color-mix(in srgb, var(--color-accent-violet) 45%, transparent);width:44px;height:44px;animation:18s ease-in-out 1s infinite floatCube;top:18%;right:9%}.hero-shapes .shape-6{border-color:color-mix(in srgb, var(--color-accent-violet) 30%, transparent);width:54px;height:54px;animation:16s ease-in-out 1s infinite floatRing;bottom:19%;left:14%}@keyframes floatCube{0%{transform:translateY(0)rotateX(0)rotateY(0)rotate(0)}25%{transform:translateY(-25px)rotateX(90deg)rotateY(45deg)rotate(15deg)}50%{transform:translateY(-10px)rotateX(180deg)rotateY(90deg)rotate(30deg)}75%{transform:translateY(-35px)rotateX(270deg)rotateY(135deg)rotate(15deg)}to{transform:translateY(0)rotateX(360deg)rotateY(180deg)rotate(0)}}@keyframes floatRing{0%{transform:translateY(0)rotateX(60deg)rotate(0)}50%{transform:translateY(-28px)rotateX(60deg)rotate(180deg)}to{transform:translateY(0)rotateX(60deg)rotate(360deg)}}@keyframes floatSphere{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-20px)scale(1.15)}}