.cube-widget{--cube-size:400px;--cube-half:200px;position:relative;margin:12px 0 4px}.cube-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #d4ddf1;padding:20px 0 8px}.cube-help{font-size:14px;color:#647697}.cube-toolbar>div{display:flex;gap:10px;flex-wrap:wrap}.cube-toolbar button{padding:9px 15px;border:1px solid #ccd7ef;border-radius:10px;background:white;color:#284586;font-size:14px;cursor:pointer}.cube-toolbar .cube-toggle{color:white;background:linear-gradient(110deg,#345de9,#7956e8);border-color:transparent}.cube-panel{position:relative}.cube-stage{position:relative;height:610px;width:100%;perspective:1400px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;isolation:isolate;border-radius:24px;background:radial-gradient(ellipse at 50% 55%,#345de916,transparent 62%)}.cube-stage.dragging{cursor:grabbing;touch-action:none}.cube-halo{position:absolute;width:500px;height:120px;left:50%;top:76%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#314bd530,transparent 66%);filter:blur(16px);pointer-events:none}.profile-cube{position:absolute;width:var(--cube-size);height:var(--cube-size);left:50%;top:50%;margin-left:calc(var(--cube-half)*-1);margin-top:calc(var(--cube-half)*-1);transform-style:preserve-3d;will-change:transform}.cube-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:30px 30px 40px;border:1px solid #9eb8ff;border-radius:12px;backface-visibility:hidden;background:linear-gradient(145deg,#1b3373,#101d49 62%,#343477);color:#f6f8ff;box-shadow:inset 0 0 0 6px #ffffff06;overflow:hidden}.cube-face:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,#6679eb38,transparent 70%);pointer-events:none}.cube-face>*{position:relative}.cube-face-tag{display:block;font-size:10px;letter-spacing:.1em;font-weight:600;color:#adc7ff;margin-bottom:18px;line-height:1.5}.cube-face h3{font-size:27px;line-height:1.15;color:#fff;letter-spacing:-.035em}.cube-face p{font-size:17px;line-height:1.48;color:#d1dcf7;margin-top:16px}.cube-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:16px}.cube-chips span{border:1px solid #b9ccff36;border-radius:6px;padding:4px 8px;font-size:11px;color:#d2ddfb;background:#ffffff08}.cube-face-mark{position:absolute;bottom:13px;right:20px;font-family:Manrope;font-size:16px;line-height:1;color:#819bde}.cube-face-0{transform:translateZ(var(--cube-half))}.cube-face-1{transform:rotateY(90deg) translateZ(var(--cube-half));background:linear-gradient(145deg,#243989,#111d4e 65%,#2d347e)}.cube-face-2{transform:rotateY(180deg) translateZ(var(--cube-half))}.cube-face-3{transform:rotateY(-90deg) translateZ(var(--cube-half));background:linear-gradient(145deg,#2e428e,#142450 65%,#47368c)}.cube-face-4{transform:rotateX(90deg) translateZ(var(--cube-half));background:linear-gradient(130deg,#4268d4,#343a89)}.cube-face-5{transform:rotateX(-90deg) translateZ(var(--cube-half));background:linear-gradient(130deg,#2c306b,#584093)}.cube-mode-note{font-size:13px;color:#657695;text-align:center;margin:0 0 14px}.cube-flat[hidden],.cube-stage[hidden]{display:none!important}.cube-widget[data-mode=flat] .cube-panel{padding-top:20px;animation:cube-unfold .35s ease both}.cube-widget[data-mode=flat] .cube-mode-note{margin-top:22px}.cube-widget[data-mode=cube] .cube-stage{animation:cube-unfold .35s ease both}@keyframes cube-unfold{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}.cube-widget .cube-flat{user-select:text}.cube-stage:focus-visible{outline:3px solid #6b89ff;outline-offset:3px}
@media(max-width:950px){.cube-widget{--cube-size:350px;--cube-half:175px}.cube-stage{height:540px}.cube-face{padding:24px 24px 34px}.cube-face h3{font-size:24px}.cube-face p{font-size:15px;line-height:1.45}.cube-face-tag{margin-bottom:13px}.cube-chips{padding-top:12px}.cube-toolbar{align-items:flex-start}.cube-help{max-width:240px}.cube-halo{width:350px}}
@media(max-width:650px){.cube-widget{--cube-size:290px;--cube-half:145px}.cube-toolbar{flex-direction:column;gap:12px;padding-top:18px}.cube-help{max-width:none;font-size:12px}.cube-toolbar button{font-size:12px;padding:9px 12px}.cube-stage{height:460px;perspective:1100px}.profile-cube{scale:.86}.cube-face{padding:20px 20px 30px}.cube-face h3{font-size:22px;line-height:1.12}.cube-face p{font-size:14px;line-height:1.38;margin-top:12px}.cube-face-tag{font-size:8px;margin-bottom:11px}.cube-chips{padding-top:10px;gap:5px}.cube-chips span{font-size:9px;padding:3px 6px}.cube-face-mark{font-size:13px;right:15px;bottom:10px}.cube-mode-note{font-size:11px}.cube-halo{width:270px;top:74%;height:90px}}
@media(prefers-reduced-motion:reduce){.cube-widget .cube-stage,.cube-widget[data-mode=flat] .cube-panel{animation:none}}
@media print{.cube-toolbar,.cube-stage,.cube-mode-note{display:none!important}.cube-widget{margin:0}.cube-widget .cube-panel{padding:0!important;animation:none!important}.cube-widget .expertise-grid[hidden]{display:grid!important}.cube-widget .project-list[hidden]{display:block!important}}

/* A second projected scene reflects the final orientation in the screen plane. */
.cube-stage{height:710px;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#345de91a,transparent 65%)}
.profile-cube,.cube-reflection-model{top:42%}
.cube-reflection-model{position:absolute;width:var(--cube-size);height:var(--cube-size);left:50%;margin-left:calc(var(--cube-half)*-1);margin-top:calc(var(--cube-half)*-1);transform-style:preserve-3d;will-change:transform}
.cube-reflection{position:absolute;inset:0;pointer-events:none;opacity:.36;filter:blur(.65px);mask-image:linear-gradient(to bottom,transparent 0,transparent var(--mirror-floor),#000 var(--mirror-floor),transparent calc(var(--mirror-floor) + 155px));-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent var(--mirror-floor),#000 var(--mirror-floor),transparent calc(var(--mirror-floor) + 155px))}
.cube-reflection-scene{position:absolute;inset:0;perspective:1400px;transform-origin:50% 0;will-change:transform}
.cube-halo{top:73%;height:65px;opacity:.65;filter:blur(12px)}
.cube-face{border-color:#bdd2ff;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 1px 22px #a5bfff19}
.cube-face:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#ffffff20 0%,#ffffff05 26%,transparent 39%,#d9e8ff0c 48%,transparent 61%,#ffffff04 100%);border-radius:inherit}
@media(max-width:950px){.cube-stage{height:650px}.cube-reflection-scene{perspective:1400px}}
@media(max-width:650px){.cube-stage{height:560px}.profile-cube,.cube-reflection-model{top:43%;scale:.86}.cube-reflection-scene{perspective:1100px}.cube-reflection{opacity:.32;mask-image:linear-gradient(to bottom,transparent 0,transparent var(--mirror-floor),#000 var(--mirror-floor),transparent calc(var(--mirror-floor) + 115px));-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent var(--mirror-floor),#000 var(--mirror-floor),transparent calc(var(--mirror-floor) + 115px))}}
@media print{.cube-reflection{display:none!important}}

/* Polished blue-silver faces: bright reflected bands remain behind the text. */
.cube-face,.cube-face-1,.cube-face-3,.cube-face-4,.cube-face-5{background:linear-gradient(128deg,#f7fcff 0%,#bed4ef 14%,#edf7ff 25%,#9cb9dc 40%,#e9f5ff 56%,#b2cbe9 76%,#f3faff 100%);background-size:190% 170%;background-position:var(--mirror-shift,50%) 50%;border:1px solid #f1f9ff;color:#183455;box-shadow:inset 0 0 0 2px #6d94c755,inset 0 2px 14px #ffffffb0,inset -5px -5px 20px #6383af40}
.cube-face:before{z-index:0;background:linear-gradient(25deg,transparent 32%,#ffffffa0 34%,#ffffff15 40%,transparent 45%),radial-gradient(ellipse at 12% 0%,#ffffffc0,transparent 60%);background-size:200% 150%;background-position:var(--mirror-shift,50%) 50%}
.cube-face:after{z-index:0;background:linear-gradient(145deg,transparent 10%,#ffffff50 11%,transparent 13%,transparent 63%,#ffffffb0 64%,#ffffff10 69%,transparent 74%);mix-blend-mode:screen}
.cube-face>*{z-index:1}.cube-face h3{color:#132f55;text-shadow:0 1px 0 #ffffffb0}.cube-face p{color:#223b60;text-shadow:0 1px 0 #ffffff80}.cube-face-tag{color:#375b88}.cube-face-mark{color:#4b6f9e}.cube-chips span{color:#244a78;background:#edf6ffb3;border-color:#7196c480;box-shadow:0 1px 0 #ffffff90}
/* Dark polished finish, preserving the profile's navy palette. */
.cube-face,.cube-face-1,.cube-face-3,.cube-face-4,.cube-face-5{background:linear-gradient(128deg,#081630 0%,#284471 14%,#142b55 25%,#375985 40%,#112849 56%,#294879 76%,#0d1d3b 100%);background-size:190% 170%;background-position:var(--mirror-shift,50%) 50%;border-color:#91b5e8;color:#f5f8ff;box-shadow:inset 0 0 0 1px #bdd6ff30,inset 0 2px 14px #b5d3ff26,inset -5px -5px 20px #020b2940}
.cube-face:before{background:linear-gradient(25deg,transparent 32%,#d9eaff25 34%,#ffffff06 40%,transparent 45%),radial-gradient(ellipse at 12% 0%,#c8e0ff20,transparent 60%);background-size:200% 150%;background-position:var(--mirror-shift,50%) 50%}
.cube-face:after{background:linear-gradient(145deg,transparent 10%,#ffffff20 11%,transparent 13%,transparent 63%,#dcecff30 64%,#ffffff08 69%,transparent 74%)}
.cube-face h3{color:#f5f8ff;text-shadow:0 1px 2px #04112d80}.cube-face p{color:#d9e5fc;text-shadow:0 1px 1px #07152a80}.cube-face-tag{color:#b2cdf6}.cube-face-mark{color:#91b4e2}.cube-chips span{color:#d9e7ff;background:#0b1b3d70;border-color:#94bce74d;box-shadow:0 1px 0 #d3e5ff15}

/* Empty space in the projected model does not count as a cube face. */
.profile-cube{pointer-events:none}.profile-cube>.cube-face{pointer-events:auto}
