/* Spin and orbital travel are independent. Coordinates match the 1672 x 941 background plate. */
.hero-art{background:none;container-type:size}
.hero-space{position:absolute;width:max(100cqw,177.6833cqh);height:max(100cqh,56.2799cqw);left:50%;top:50%;transform:translate(-50%,-50%);background:url('/assets/hero-space.webp?v=20261012-orbital') center/100% 100%;container-type:size;isolation:isolate}
.hero-sphere-occluder{position:absolute;inset:0;background:inherit;clip-path:ellipse(17.94% 30.71% at 72.31% 38.84%);z-index:1;pointer-events:none}
.hero-cube-orbit{position:absolute;left:0;top:0;width:var(--cube-size);height:var(--cube-size);perspective:650px;pointer-events:none;animation:hero-cube-orbit var(--orbit-period) linear infinite;animation-delay:var(--orbit-phase);will-change:transform}
.hero-cube-orbit.cube-near{--cube-size:3.6cqw;--cube-period:46s;--cube-phase:-8s;--cube-tilt:-17deg;--orbit-period:84s;--orbit-phase:-46.67s;transform:translate(52.7649cqw,17.6694cqh) translate(-50%,-50%) scale(0.8919);z-index:0}
.hero-cube-orbit.cube-far{--cube-size:4.6cqw;--cube-period:58s;--cube-phase:-27s;--cube-tilt:19deg;--orbit-period:112s;--orbit-phase:-21.78s;transform:translate(77.2501cqw,55.2707cqh) translate(-50%,-50%) scale(1.1097);z-index:2}
.hero-cube-spin{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-19deg) rotateY(28deg) rotateZ(var(--cube-tilt));animation:hero-cube-turn var(--cube-period) linear infinite;animation-delay:var(--cube-phase)}
.cube-front{transform:translateZ(calc(var(--cube-size)*.5))}.cube-back{transform:rotateY(180deg) translateZ(calc(var(--cube-size)*.5))}.cube-right{transform:rotateY(90deg) translateZ(calc(var(--cube-size)*.5))}.cube-left{transform:rotateY(-90deg) translateZ(calc(var(--cube-size)*.5))}.cube-top{transform:rotateX(90deg) translateZ(calc(var(--cube-size)*.5));background-color:#89b6ff22}.cube-bottom{transform:rotateX(-90deg) translateZ(calc(var(--cube-size)*.5))}
@keyframes hero-cube-turn{from{transform:rotateX(-19deg) rotateY(28deg) rotateZ(var(--cube-tilt))}to{transform:rotateX(-19deg) rotateY(388deg) rotateZ(var(--cube-tilt))}}
@media(max-width:1000px) and (min-width:701px){.hero-space{left:60%;transform:translate(-60%,-50%)}}
@media(max-width:700px){.hero-space{width:1154.94px;height:650px;left:65%;top:auto;bottom:0;transform:translateX(-65%)}}
@media(prefers-reduced-motion:reduce){.hero-cube-spin,.hero-cube-orbit{animation:none}.hero-cube-orbit{will-change:auto}}
/* Cut-crystal surface texture follows each face through the existing 3D turn. */
.hero-cube-face{position:absolute;inset:0;border:0;background:url('/assets/cube-glass-face.webp') center/100% 100% no-repeat;box-shadow:inset 0 0 1px #c2e5ffbb,0 0 3px #8ebeff55;backface-visibility:hidden}
.hero-cube-face:before{content:'';position:absolute;inset:10%;border:1px solid #bfdfff38;background:linear-gradient(135deg,#81b7ff0d,transparent 45%,#b29cff0d);box-shadow:inset 1px 1px 2px #d2e5ff3b,inset -1px -1px 2px #6f91cc22}
.hero-cube-face:after{content:'';position:absolute;width:calc(var(--cube-size)*.38);height:calc(var(--cube-size)*.38);right:-14%;top:-14%;background:radial-gradient(circle,#f4fbff 0 1px,#b4d9ffa6 2px,#8db9ff26 5px,transparent 10px),linear-gradient(90deg,transparent,#deefffe0,transparent) center/100% 1px no-repeat,linear-gradient(0deg,transparent,#deefffb3,transparent) center/1px 100% no-repeat;opacity:.65;animation:cube-specular var(--cube-period) ease-in-out infinite;animation-delay:var(--cube-phase)}
.cube-top{background-color:#90b7f51a}.cube-right:after,.cube-left:after{animation-delay:calc(var(--cube-phase) - 12s)}.cube-top:after,.cube-bottom:after{animation-delay:calc(var(--cube-phase) - 23s)}
@keyframes cube-specular{0%,100%{opacity:.3}25%,70%{opacity:.55}45%{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-cube-face:after{animation:none;opacity:.6}}

/* Ellipse fitted to the painted ring: centre (1212.5,331), axes 388.1/166.2, tilt 17.66deg.
   The sphere plate masks only the rear half; faces keep their independent spin. */
@keyframes hero-cube-orbit{
  0.0000%{transform:translate(94.6361cqw,47.6907cqh) translate(-50%,-50%) scale(0.9500);z-index:2}
  1.3889%{transform:translate(94.2892cqw,49.1096cqh) translate(-50%,-50%) scale(0.9648);z-index:2}
  2.7778%{transform:translate(93.7766cqw,50.4225cqh) translate(-50%,-50%) scale(0.9795);z-index:2}
  4.1667%{transform:translate(93.1022cqw,51.6194cqh) translate(-50%,-50%) scale(0.9940);z-index:2}
  5.5556%{transform:translate(92.2712cqw,52.6912cqh) translate(-50%,-50%) scale(1.0081);z-index:2}
  6.9444%{transform:translate(91.2898cqw,53.6297cqh) translate(-50%,-50%) scale(1.0218);z-index:2}
  8.3333%{transform:translate(90.1655cqw,54.4278cqh) translate(-50%,-50%) scale(1.0350);z-index:2}
  9.7222%{transform:translate(88.9070cqw,55.0794cqh) translate(-50%,-50%) scale(1.0475);z-index:2}
  11.1111%{transform:translate(87.5237cqw,55.5796cqh) translate(-50%,-50%) scale(1.0593);z-index:2}
  12.5000%{transform:translate(86.0262cqw,55.9245cqh) translate(-50%,-50%) scale(1.0702);z-index:2}
  13.8889%{transform:translate(84.4260cqw,56.1116cqh) translate(-50%,-50%) scale(1.0802);z-index:2}
  15.2778%{transform:translate(82.7350cqw,56.1393cqh) translate(-50%,-50%) scale(1.0893);z-index:2}
  16.6667%{transform:translate(80.9664cqw,56.0075cqh) translate(-50%,-50%) scale(1.0972);z-index:2}
  18.0556%{transform:translate(79.1334cqw,55.7173cqh) translate(-50%,-50%) scale(1.1041);z-index:2}
  19.4444%{transform:translate(77.2501cqw,55.2707cqh) translate(-50%,-50%) scale(1.1097);z-index:2}
  20.8333%{transform:translate(75.3308cqw,54.6712cqh) translate(-50%,-50%) scale(1.1142);z-index:2}
  22.2222%{transform:translate(73.3900cqw,53.9234cqh) translate(-50%,-50%) scale(1.1174);z-index:2}
  23.6111%{transform:translate(71.4427cqw,53.0330cqh) translate(-50%,-50%) scale(1.1194);z-index:2}
  25.0000%{transform:translate(69.5035cqw,52.0066cqh) translate(-50%,-50%) scale(1.1200);z-index:2}
  26.3889%{transform:translate(67.5872cqw,50.8523cqh) translate(-50%,-50%) scale(1.1194);z-index:2}
  27.7778%{transform:translate(65.7085cqw,49.5786cqh) translate(-50%,-50%) scale(1.1174);z-index:2}
  29.1667%{transform:translate(63.8816cqw,48.1954cqh) translate(-50%,-50%) scale(1.1142);z-index:2}
  30.5556%{transform:translate(62.1205cqw,46.7131cqh) translate(-50%,-50%) scale(1.1097);z-index:2}
  31.9444%{transform:translate(60.4384cqw,45.1430cqh) translate(-50%,-50%) scale(1.1041);z-index:2}
  33.3333%{transform:translate(58.8483cqw,43.4971cqh) translate(-50%,-50%) scale(1.0972);z-index:2}
  34.7222%{transform:translate(57.3623cqw,41.7880cqh) translate(-50%,-50%) scale(1.0893);z-index:2}
  36.1111%{transform:translate(55.9915cqw,40.0285cqh) translate(-50%,-50%) scale(1.0802);z-index:2}
  37.5000%{transform:translate(54.7466cqw,38.2321cqh) translate(-50%,-50%) scale(1.0702);z-index:2}
  38.8889%{transform:translate(53.6369cqw,36.4125cqh) translate(-50%,-50%) scale(1.0593);z-index:2}
  40.2778%{transform:translate(52.6709cqw,34.5836cqh) translate(-50%,-50%) scale(1.0475);z-index:2}
  41.6667%{transform:translate(51.8559cqw,32.7591cqh) translate(-50%,-50%) scale(1.0350);z-index:2}
  43.0556%{transform:translate(51.1982cqw,30.9531cqh) translate(-50%,-50%) scale(1.0218);z-index:2}
  44.4444%{transform:translate(50.7028cqw,29.1793cqh) translate(-50%,-50%) scale(1.0081);z-index:2}
  45.8333%{transform:translate(50.3734cqw,27.4512cqh) translate(-50%,-50%) scale(0.9940);z-index:2}
  47.2222%{transform:translate(50.2125cqw,25.7818cqh) translate(-50%,-50%) scale(0.9795);z-index:2}
  48.6111%{transform:translate(50.2214cqw,24.1840cqh) translate(-50%,-50%) scale(0.9648);z-index:2}
  50.0000%{transform:translate(50.4000cqw,22.6699cqh) translate(-50%,-50%) scale(0.9500);z-index:2}
  51.3889%{transform:translate(50.7469cqw,21.2510cqh) translate(-50%,-50%) scale(0.9352);z-index:0}
  52.7778%{transform:translate(51.2594cqw,19.9381cqh) translate(-50%,-50%) scale(0.9205);z-index:0}
  54.1667%{transform:translate(51.9338cqw,18.7412cqh) translate(-50%,-50%) scale(0.9060);z-index:0}
  55.5556%{transform:translate(52.7649cqw,17.6694cqh) translate(-50%,-50%) scale(0.8919);z-index:0}
  56.9444%{transform:translate(53.7462cqw,16.7309cqh) translate(-50%,-50%) scale(0.8782);z-index:0}
  58.3333%{transform:translate(54.8705cqw,15.9328cqh) translate(-50%,-50%) scale(0.8650);z-index:0}
  59.7222%{transform:translate(56.1290cqw,15.2812cqh) translate(-50%,-50%) scale(0.8525);z-index:0}
  61.1111%{transform:translate(57.5123cqw,14.7810cqh) translate(-50%,-50%) scale(0.8407);z-index:0}
  62.5000%{transform:translate(59.0098cqw,14.4361cqh) translate(-50%,-50%) scale(0.8298);z-index:0}
  63.8889%{transform:translate(60.6101cqw,14.2491cqh) translate(-50%,-50%) scale(0.8198);z-index:0}
  65.2778%{transform:translate(62.3010cqw,14.2213cqh) translate(-50%,-50%) scale(0.8107);z-index:0}
  66.6667%{transform:translate(64.0696cqw,14.3531cqh) translate(-50%,-50%) scale(0.8028);z-index:0}
  68.0556%{transform:translate(65.9026cqw,14.6434cqh) translate(-50%,-50%) scale(0.7959);z-index:0}
  69.4444%{transform:translate(67.7859cqw,15.0899cqh) translate(-50%,-50%) scale(0.7903);z-index:0}
  70.8333%{transform:translate(69.7053cqw,15.6894cqh) translate(-50%,-50%) scale(0.7858);z-index:0}
  72.2222%{transform:translate(71.6460cqw,16.4372cqh) translate(-50%,-50%) scale(0.7826);z-index:0}
  73.6111%{transform:translate(73.5934cqw,17.3277cqh) translate(-50%,-50%) scale(0.7806);z-index:0}
  75.0000%{transform:translate(75.5326cqw,18.3540cqh) translate(-50%,-50%) scale(0.7800);z-index:0}
  76.3889%{transform:translate(77.4488cqw,19.5084cqh) translate(-50%,-50%) scale(0.7806);z-index:0}
  77.7778%{transform:translate(79.3275cqw,20.7820cqh) translate(-50%,-50%) scale(0.7826);z-index:0}
  79.1667%{transform:translate(81.1544cqw,22.1653cqh) translate(-50%,-50%) scale(0.7858);z-index:0}
  80.5556%{transform:translate(82.9156cqw,23.6476cqh) translate(-50%,-50%) scale(0.7903);z-index:0}
  81.9444%{transform:translate(84.5976cqw,25.2176cqh) translate(-50%,-50%) scale(0.7959);z-index:0}
  83.3333%{transform:translate(86.1877cqw,26.8635cqh) translate(-50%,-50%) scale(0.8028);z-index:0}
  84.7222%{transform:translate(87.6738cqw,28.5727cqh) translate(-50%,-50%) scale(0.8107);z-index:0}
  86.1111%{transform:translate(89.0445cqw,30.3321cqh) translate(-50%,-50%) scale(0.8198);z-index:0}
  87.5000%{transform:translate(90.2894cqw,32.1285cqh) translate(-50%,-50%) scale(0.8298);z-index:0}
  88.8889%{transform:translate(91.3991cqw,33.9481cqh) translate(-50%,-50%) scale(0.8407);z-index:0}
  90.2778%{transform:translate(92.3651cqw,35.7771cqh) translate(-50%,-50%) scale(0.8525);z-index:0}
  91.6667%{transform:translate(93.1801cqw,37.6015cqh) translate(-50%,-50%) scale(0.8650);z-index:0}
  93.0556%{transform:translate(93.8378cqw,39.4075cqh) translate(-50%,-50%) scale(0.8782);z-index:0}
  94.4444%{transform:translate(94.3332cqw,41.1813cqh) translate(-50%,-50%) scale(0.8919);z-index:0}
  95.8333%{transform:translate(94.6626cqw,42.9095cqh) translate(-50%,-50%) scale(0.9060);z-index:0}
  97.2222%{transform:translate(94.8235cqw,44.5788cqh) translate(-50%,-50%) scale(0.9205);z-index:0}
  98.6111%{transform:translate(94.8146cqw,46.1766cqh) translate(-50%,-50%) scale(0.9352);z-index:0}
  100.0000%{transform:translate(94.6361cqw,47.6907cqh) translate(-50%,-50%) scale(0.9500);z-index:2}
}
