/* VoxCard cinematic profile intro v4 — fast, accessible and session-aware. */
:root{--vox-intro-ease:cubic-bezier(.16,1,.3,1)}
html.vox-intro-pending,html.vox-intro-pending body{overflow:hidden}
html.vox-intro-enabled body>main{
  transition:opacity .72s ease,transform .95s var(--vox-intro-ease),filter .8s ease;
  transform-origin:50% 24%;
}
html.vox-intro-pending body>main{opacity:.01;transform:scale(.982);filter:blur(9px)}
html.vox-intro-pending .hero-visual.vox-sequence-ready .profile-card *{animation-play-state:paused!important}

.vox-intro{display:none;position:fixed;inset:0;z-index:2147483000;place-items:center;overflow:hidden;perspective:1500px;isolation:isolate;pointer-events:auto}
html.vox-intro-pending .vox-intro,.vox-intro.is-running,.vox-intro.is-leaving{display:grid}
.vox-intro::before{
  content:"";position:absolute;inset:0;z-index:-3;
  background:
    radial-gradient(circle at 50% 43%,rgba(207,255,64,.24),transparent 30%),
    radial-gradient(circle at 14% 82%,rgba(92,112,255,.13),transparent 34%),
    linear-gradient(135deg,#f8f8ef 0%,#f0f1e8 48%,#f5f6f3 100%);
  opacity:1;transition:opacity .72s ease;
}
.vox-intro::after{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.32;transition:opacity .55s ease;
  background-image:linear-gradient(rgba(18,22,17,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(18,22,17,.07) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(circle at center,#000,transparent 76%);
}
.vox-intro.is-leaving::before,.vox-intro.is-leaving::after{opacity:0}
.vox-intro-stage{position:relative;display:grid;place-items:center;transform-style:preserve-3d}
.vox-intro-card{
  position:relative;width:clamp(260px,24vw,340px);height:clamp(430px,61vh,550px);
  transform-style:preserve-3d;will-change:transform,opacity;opacity:0;
  filter:drop-shadow(0 36px 40px rgba(18,23,17,.18));
}
.vox-intro.is-running .vox-intro-card{animation:voxIntroSpin 1.34s var(--vox-intro-ease) both}
@keyframes voxIntroSpin{
  0%{opacity:0;transform:translate3d(0,62px,-280px) rotateX(14deg) rotateY(-720deg) scale(.56)}
  20%{opacity:1}
  68%{transform:translate3d(0,-8px,34px) rotateX(-2deg) rotateY(24deg) scale(1.055)}
  84%{transform:translate3d(0,2px,10px) rotateX(1deg) rotateY(-7deg) scale(.99)}
  100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) scale(1)}
}
.vox-intro-face{
  position:absolute;inset:0;border:1px solid rgba(20,25,18,.10);border-radius:34px;overflow:hidden;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.vox-intro-front{display:flex;flex-direction:column;align-items:center;padding:28px 24px 24px;background:rgba(255,255,252,.92);backdrop-filter:blur(22px)}
.vox-intro-front::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 4%,rgba(201,255,50,.18),transparent 29%),radial-gradient(circle at 90% 74%,rgba(113,130,255,.08),transparent 34%)}
.vox-intro-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f8faf2;background:radial-gradient(circle at 64% 22%,#31441b 0%,#182016 36%,#0d110e 80%)}
.vox-intro-back::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:32px 32px}
.vox-intro-live{align-self:flex-end;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(204,255,58,.25);font:800 11px/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#27331e}
.vox-intro-live i{width:7px;height:7px;border-radius:50%;background:#76a700;box-shadow:0 0 0 5px rgba(118,167,0,.12)}
.vox-intro-photo{width:96px;height:96px;margin:8px 0 12px;padding:5px;border-radius:50%;background:#fff;box-shadow:0 14px 30px rgba(20,25,18,.13)}
.vox-intro-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.vox-intro-name{font:800 clamp(25px,2.2vw,34px)/1.05 Manrope,sans-serif;letter-spacing:-.045em;color:#151914;text-align:center}
.vox-intro-title{margin-top:7px;font:500 13px/1.35 Manrope,sans-serif;color:#70776c;text-align:center}
.vox-intro-company{margin-top:8px;font:800 17px/1.2 Manrope,sans-serif;color:#171b16}
.vox-intro-divider{width:48px;height:4px;margin:16px 0 14px;border-radius:999px;background:#bdff2f}
.vox-intro-links{width:100%;display:grid;gap:9px}
.vox-intro-links>span{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;min-height:52px;padding:6px 14px 6px 7px;border:1px solid rgba(20,25,18,.09);border-radius:17px;background:rgba(255,255,255,.76);box-shadow:0 6px 18px rgba(20,25,18,.045)}
.vox-intro-links i{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#caff3b;color:#131712;font-size:16px}
.vox-intro-links b{font:750 13px/1 Manrope,sans-serif;color:#181c17}.vox-intro-links em{font:700 24px/1 Manrope,sans-serif;color:#747a70;font-style:normal}
.vox-intro-back-mark{position:relative;display:grid;place-items:center;width:82px;height:82px;border-radius:26px;background:#caff32;color:#0f140e;font:900 38px/1 Manrope,sans-serif;box-shadow:0 20px 46px rgba(197,255,48,.18)}
.vox-intro-back strong{position:relative;margin-top:20px;font:850 32px/1 Manrope,sans-serif;letter-spacing:-.05em}.vox-intro-back small{position:relative;margin-top:10px;color:rgba(255,255,255,.65);font:600 12px/1.4 Manrope,sans-serif}
.vox-intro-nfc{position:relative;display:flex;align-items:center;gap:5px;margin-top:32px}.vox-intro-nfc i{display:block;width:12px;height:30px;border:2px solid #caff32;border-left:0;border-radius:0 999px 999px 0}.vox-intro-nfc i:nth-child(2){height:44px}.vox-intro-nfc i:nth-child(3){height:58px}
.vox-intro-caption{position:absolute;left:50%;top:calc(100% + 28px);display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;min-width:max-content;opacity:0;transform:translate(-50%,12px);transition:opacity .35s ease,transform .55s var(--vox-intro-ease)}
.vox-intro.is-running .vox-intro-caption{animation:voxIntroCaption .55s .88s var(--vox-intro-ease) forwards}
@keyframes voxIntroCaption{to{opacity:1;transform:translate(-50%,0)}}
.vox-intro-caption.is-hidden{opacity:0!important;transform:translate(-50%,-8px)!important}
.vox-intro-mini-logo{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#caff32;color:#151914;font:900 18px/1 Manrope,sans-serif}.vox-intro-caption strong{font:850 18px/1 Manrope,sans-serif;color:#171b16}.vox-intro-caption small{margin-top:4px;font:600 10px/1 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#798074}
.vox-intro-orbit{position:absolute;border:1px solid rgba(110,144,26,.16);border-radius:50%;pointer-events:none;opacity:0}
.vox-intro-orbit-one{width:min(72vw,760px);aspect-ratio:1}.vox-intro-orbit-two{width:min(48vw,520px);aspect-ratio:1;border-style:dashed}
.vox-intro.is-running .vox-intro-orbit-one{animation:voxOrbit 1.5s .1s ease both}.vox-intro.is-running .vox-intro-orbit-two{animation:voxOrbit 1.5s .25s ease reverse both}
@keyframes voxOrbit{0%{opacity:0;scale:.62;rotate:-25deg}45%{opacity:.75}100%{opacity:.18;scale:1;rotate:18deg}}

@media (max-width:760px){
  .vox-intro-card{width:min(76vw,300px);height:min(63vh,470px)}
  .vox-intro-front{padding:22px 18px 18px}.vox-intro-photo{width:80px;height:80px;margin-top:5px}.vox-intro-name{font-size:25px}.vox-intro-title{font-size:11px}.vox-intro-company{font-size:15px}.vox-intro-divider{margin:12px 0}.vox-intro-links{gap:7px}.vox-intro-links>span{min-height:44px;grid-template-columns:35px 1fr auto;border-radius:14px}.vox-intro-links i{width:34px;height:34px;border-radius:11px;font-size:14px}.vox-intro-caption{top:calc(100% + 18px)}
}
@media (max-height:680px){.vox-intro-card{height:430px;width:270px}.vox-intro-front{padding:18px 17px}.vox-intro-photo{width:72px;height:72px}.vox-intro-divider{margin:9px 0}.vox-intro-links{gap:6px}.vox-intro-links>span{min-height:41px}.vox-intro-caption{display:none}}
@media (prefers-reduced-motion:reduce){html.vox-intro-pending body>main{opacity:1;transform:none;filter:none}.vox-intro{display:none!important}}
