
:root{--tm-ease:cubic-bezier(.2,.75,.22,1);--tm-fast:180ms;--tm-med:620ms;--tm-slow:1050ms}
html{scroll-behavior:smooth}body{--tm-scroll:0;--tm-pointer-x:0;--tm-pointer-y:0}
body:before{content:"";position:fixed;z-index:9998;left:0;top:0;height:2px;width:calc(var(--tm-scroll)*1%);background:linear-gradient(90deg,#0a3dff,#6f9cff);box-shadow:0 0 12px rgba(10,61,255,.24);pointer-events:none;transition:width 70ms linear}
body.tm-ready{animation:tm-page-in 460ms var(--tm-ease) both}
body.tm-leaving{opacity:.985;transform:translateY(-2px);transition:opacity 140ms ease,transform 140ms ease}
@keyframes tm-page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.hero .eyebrow,.hero h1,.hero .lede,.hero .hero-lede,.hero .hero-actions,.hero .toolbar,.hero .tabs,.hero .expression-note,.hero .open-value,.hero .public-hero-strip{opacity:0;transform:translateY(16px)}
body.tm-ready .hero .eyebrow,body.tm-ready .hero .open-badge{animation:tm-rise 700ms 90ms var(--tm-ease) forwards}
body.tm-ready .hero h1{animation:tm-rise 800ms 160ms var(--tm-ease) forwards}
body.tm-ready .hero .lede,body.tm-ready .hero .hero-lede{animation:tm-rise 820ms 250ms var(--tm-ease) forwards}
body.tm-ready .hero .hero-actions,body.tm-ready .hero .toolbar,body.tm-ready .hero .public-hero-strip{animation:tm-rise 760ms 340ms var(--tm-ease) forwards}
body.tm-ready .hero .tabs,body.tm-ready .hero .expression-note{animation:tm-rise 760ms 420ms var(--tm-ease) forwards}
body.tm-ready .hero .open-value{animation:tm-rise 780ms 500ms var(--tm-ease) forwards}
@keyframes tm-rise{to{opacity:1;transform:none}}
.tm-reveal{opacity:0;transform:translateY(22px) scale(.992);transition:opacity var(--tm-med) var(--tm-ease),transform var(--tm-med) var(--tm-ease)}
.tm-reveal.tm-visible{opacity:1;transform:none}.tm-reveal[data-tm-delay="1"]{transition-delay:55ms}.tm-reveal[data-tm-delay="2"]{transition-delay:110ms}.tm-reveal[data-tm-delay="3"]{transition-delay:165ms}.tm-reveal[data-tm-delay="4"]{transition-delay:220ms}
.profile-card,.institution-door,.culture-card,.award-card,.pillar,.open-value article{transition:transform 260ms var(--tm-ease),box-shadow 260ms var(--tm-ease),border-color 260ms ease}
.profile-card:hover,.institution-door:hover,.culture-card:hover,.award-card:hover,.pillar:hover,.open-value article:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(7,24,59,.09);border-color:#b7ccf6}
.profile-card .photo img{transition:transform 700ms var(--tm-ease),filter 500ms ease}.profile-card:hover .photo img{transform:scale(1.018);filter:saturate(1.04)}
.discovery-card-foot b{transition:transform 220ms var(--tm-ease)}.profile-card:hover .discovery-card-foot b{transform:translateX(3px)}
.hero-fig{transform:translate3d(calc(var(--tm-pointer-x)*7px),calc(var(--tm-pointer-y)*7px),0);transition:transform 650ms var(--tm-ease)}
.hero-fig-mark:before{animation:tm-orbit 22s linear infinite}.hero-fig-mark:after{animation:tm-orbit-rev 17s linear infinite}
@keyframes tm-orbit{to{transform:rotate(360deg)}}@keyframes tm-orbit-rev{to{transform:rotate(-360deg)}}
.tps-count{display:inline-block;min-width:2.8ch;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.domain-row .bar{overflow:hidden}.domain-row .bar .tps-domain-fill{width:0!important;transform-origin:left center;transition:width 900ms var(--tm-ease)}
.tm-tps-active .domain-row:nth-child(1) .bar .tps-domain-fill{transition-delay:80ms}.tm-tps-active .domain-row:nth-child(2) .bar .tps-domain-fill{transition-delay:160ms}.tm-tps-active .domain-row:nth-child(3) .bar .tps-domain-fill{transition-delay:240ms}.tm-tps-active .domain-row:nth-child(4) .bar .tps-domain-fill{transition-delay:320ms}.tm-tps-active .domain-row:nth-child(5) .bar .tps-domain-fill{transition-delay:400ms}.tm-tps-active .domain-row:nth-child(6) .bar .tps-domain-fill{transition-delay:480ms}
.tm-tps-active .domain-row .bar .tps-domain-fill{width:var(--tm-domain-width)!important}
.tps-radar-current{transform:scale(.18);transform-origin:center;transform-box:fill-box;opacity:.12;transition:transform 1000ms 120ms var(--tm-ease),opacity 650ms 120ms ease}
.tps-radar-dot{opacity:0;transform:scale(.2);transform-origin:center;transform-box:fill-box;transition:opacity 350ms ease,transform 350ms var(--tm-ease)}
.tm-tps-active .tps-radar-current{transform:scale(1);opacity:1}.tm-tps-active .tps-radar-dot{opacity:1;transform:scale(1)}
.tps-count.tm-resolved{animation:tm-score-settle 420ms var(--tm-ease)}
@keyframes tm-score-settle{0%{transform:scale(.96);opacity:.82}65%{transform:scale(1.035)}100%{transform:scale(1);opacity:1}}
.award-card,.institution-quote,.institution-quote-home{position:relative;overflow:hidden}.award-card:after,.institution-quote-home:after{content:"";position:absolute;inset:-35% auto -35% -70%;width:38%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);transform:skewX(-14deg)}
.award-card.tm-visible:after,.institution-quote-home.tm-visible:after{animation:tm-sweep 1350ms 220ms var(--tm-ease) both}@keyframes tm-sweep{to{left:135%}}
.tm-scan{position:relative;overflow:hidden}.tm-scan:after{content:"";position:absolute;left:-35%;top:0;width:22%;height:100%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(10,61,255,.09),transparent);animation:tm-scan 1.7s linear infinite}@keyframes tm-scan{to{left:115%}}
.tm-sound-toggle{appearance:none;border:1px solid rgba(130,151,191,.38);background:rgba(255,255,255,.72);color:#5d6d8a;border-radius:999px;padding:8px 11px;font:800 9px Montserrat;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:7px;margin-top:12px;transition:all 200ms ease}
.tm-sound-toggle:before{content:"";width:7px;height:7px;border-radius:50%;background:#aebad0}.tm-sound-toggle.on{color:#0a3dff;border-color:#a8c0ff;background:#f4f8ff}.tm-sound-toggle.on:before{background:#0a3dff;box-shadow:0 0 0 4px rgba(10,61,255,.08)}.tm-sound-toggle:hover{transform:translateY(-1px)}
.tm-motion-note{font-size:9px;color:#8b99b3;margin-left:8px}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}body:before{display:none}
 body.tm-ready,.tm-reveal,.tm-reveal.tm-visible,.hero .eyebrow,.hero h1,.hero .lede,.hero .hero-lede,.hero .hero-actions,.hero .toolbar,.hero .tabs,.hero .expression-note,.hero .open-value,.hero .public-hero-strip{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
 .hero-fig,.hero-fig-mark:before,.hero-fig-mark:after,.profile-card,.institution-door,.culture-card,.award-card,.pillar,.open-value article,.tps-radar-current,.tps-radar-dot,.domain-row .bar .tps-domain-fill,.tm-scan:after{animation:none!important;transition:none!important;transform:none!important}
 .tm-tps-active .domain-row .bar .tps-domain-fill{width:var(--tm-domain-width)!important}.tps-radar-current,.tps-radar-dot{opacity:1!important}
}


/* ================================================================
   TIGEE MOTION 2 — FUTURISTIC SYSTEM LAYER
   Progressive enhancement only. No layout/content dependency.
   ================================================================ */
:root{
  --tm-blue:#0a3dff;
  --tm-cyan:#71b8ff;
  --tm-glow:rgba(10,61,255,.18);
  --tm-screen-x:50%;
  --tm-screen-y:20%;
}

/* very low-intensity interactive atmosphere */
body.tm-future:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(520px 420px at var(--tm-screen-x) var(--tm-screen-y),rgba(37,103,255,.055),transparent 68%),
    linear-gradient(rgba(10,61,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,61,255,.014) 1px,transparent 1px);
  background-size:auto,52px 52px,52px 52px;
  background-position:center,0 var(--tm-grid-y,0px),var(--tm-grid-x,0px) 0;
  transition:background-position 80ms linear;
}

/* thin active-energy accent in primary navigation */
.top,.nav{position:relative}
.top:after,.nav:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 5%,rgba(10,61,255,.08) 24%,rgba(10,61,255,.42) 50%,rgba(10,61,255,.08) 76%,transparent 95%);
  background-size:220% 100%;
  animation:tm-energy-rail 8s linear infinite;
  opacity:.55;
}
@keyframes tm-energy-rail{to{background-position:-220% 0}}

/* subtle edge illumination */
.panel,.profile-card,.pub-item,.viral-card,.identity-link,.public-link-pill,.culture-card,.award-card,.pillar{
  --tm-card-x:50%;
  --tm-card-y:50%;
}
.tm-tilt{
  transform:
    perspective(1000px)
    rotateX(var(--tm-rx,0deg))
    rotateY(var(--tm-ry,0deg))
    translate3d(0,var(--tm-lift,0px),0);
  transition:transform 260ms var(--tm-ease),box-shadow 280ms var(--tm-ease),border-color 220ms ease;
  will-change:transform;
}
.tm-tilt.tm-hover{
  --tm-lift:-2px;
  box-shadow:0 18px 52px rgba(7,24,59,.09),0 0 0 1px rgba(10,61,255,.025);
}
.tm-tilt:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  background:radial-gradient(260px circle at var(--tm-card-x) var(--tm-card-y),rgba(98,151,255,.11),transparent 68%);
  transition:opacity 240ms ease;
}
.tm-tilt.tm-hover:after{opacity:1}
.panel.tm-tilt,.profile-card.tm-tilt,.pub-item.tm-tilt,.viral-card.tm-tilt,.identity-link.tm-tilt,.public-link-pill.tm-tilt{position:relative}

/* profile media: cinematic transitions + faint scan */
.profile-media-stage{isolation:isolate}
.profile-media-stage:after{
  content:"";
  position:absolute;
  z-index:3;
  left:0;right:0;
  height:18%;
  top:-22%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(120,177,255,.075),rgba(255,255,255,.08),transparent);
  mix-blend-mode:screen;
  opacity:.72;
  animation:tm-media-scan 5.8s ease-in-out infinite;
}
@keyframes tm-media-scan{
  0%,14%{top:-22%;opacity:0}
  28%{opacity:.7}
  72%{opacity:.48}
  88%,100%{top:108%;opacity:0}
}
.profile-media-slide{
  transform:translate3d(10px,0,0) scale(1.008);
  filter:saturate(.96) contrast(.99);
  transition:opacity 360ms var(--tm-ease),transform 520ms var(--tm-ease),filter 420ms ease!important;
}
.profile-media-slide.active{
  transform:translate3d(0,0,0) scale(1);
  filter:none;
}
.profile-media-slide.tm-from-prev{transform:translate3d(-12px,0,0) scale(1.008)}
.media-nav{
  backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(2,13,38,.10);
}
.media-nav:hover{
  box-shadow:0 0 0 1px rgba(138,184,255,.32),0 8px 28px rgba(2,13,38,.22),0 0 24px rgba(49,111,255,.18);
}
.media-count{backdrop-filter:blur(8px)}

/* measurement panel: slow data-grid drift */
.integrated-tps .panel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.integrated-tps .panel:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background:
    linear-gradient(90deg,transparent 0 96%,rgba(10,61,255,.032) 96% 100%),
    linear-gradient(transparent 0 96%,rgba(10,61,255,.026) 96% 100%);
  background-size:38px 38px;
  animation:tm-data-grid 18s linear infinite;
}
@keyframes tm-data-grid{to{background-position:38px 0,0 38px}}

/* radar becomes a living instrument rather than a static chart */
.radar-wrap{position:relative;overflow:hidden;isolation:isolate}
.radar-wrap:before{
  content:"";
  position:absolute;
  z-index:0;
  width:46%;
  height:1px;
  left:50%;
  top:50%;
  transform-origin:0 50%;
  background:linear-gradient(90deg,rgba(10,61,255,.34),rgba(104,164,255,.08),transparent);
  box-shadow:0 0 8px rgba(10,61,255,.16);
  animation:tm-radar-sweep 8s linear infinite;
  pointer-events:none;
}
.radar-wrap:after{
  content:"";
  position:absolute;
  z-index:0;
  width:76%;
  aspect-ratio:1;
  left:12%;
  top:12%;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,transparent 64%,rgba(10,61,255,.025) 65%,transparent 66%);
  animation:tm-radar-breathe 4.8s ease-in-out infinite;
}
.radar-wrap .tps-radar{position:relative;z-index:1}
@keyframes tm-radar-sweep{to{transform:rotate(360deg)}}
@keyframes tm-radar-breathe{50%{transform:scale(1.025);opacity:.5}}
.tm-tps-active .tps-radar-dot{
  filter:drop-shadow(0 0 3px rgba(10,61,255,.48));
}
.tm-tps-active .tps-radar-dot:nth-of-type(2n){animation:tm-dot-pulse 3.4s 1.2s ease-in-out infinite}
.tm-tps-active .tps-radar-dot:nth-of-type(2n+1){animation:tm-dot-pulse 3.4s 2.1s ease-in-out infinite}
@keyframes tm-dot-pulse{50%{filter:drop-shadow(0 0 7px rgba(10,61,255,.62));opacity:.78}}

/* domain bars fill, then receive an occasional data pulse */
.domain-row .bar{position:relative}
.domain-row .bar:after{
  content:"";
  position:absolute;
  inset:0 auto 0 -18%;
  width:14%;
  border-radius:999px;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
}
.tm-tps-active .domain-row .bar:after{animation:tm-bar-pulse 4.8s 1.5s ease-in-out infinite}
.tm-tps-active .domain-row:nth-child(2) .bar:after{animation-delay:1.8s}
.tm-tps-active .domain-row:nth-child(3) .bar:after{animation-delay:2.1s}
.tm-tps-active .domain-row:nth-child(4) .bar:after{animation-delay:2.4s}
.tm-tps-active .domain-row:nth-child(5) .bar:after{animation-delay:2.7s}
.tm-tps-active .domain-row:nth-child(6) .bar:after{animation-delay:3s}
@keyframes tm-bar-pulse{
  0%,60%{left:-18%;opacity:0}
  67%{opacity:.7}
  80%{left:104%;opacity:.18}
  100%{left:104%;opacity:0}
}

/* score settles into a restrained electric pulse */
.integrated-score-mini .score.tm-resolved,.measurement-score .tps-count.tm-resolved{
  text-shadow:0 0 0 rgba(10,61,255,0);
  animation:tm-score-electric 2.8s .15s ease-in-out 2;
}
@keyframes tm-score-electric{
  0%,100%{text-shadow:0 0 0 rgba(10,61,255,0)}
  42%{text-shadow:0 0 14px rgba(10,61,255,.19),0 0 30px rgba(10,61,255,.07)}
}

/* links + publications feel responsive, not playful */
.pub-item,.viral-card,.public-link-pill,.identity-link{
  transition:transform 240ms var(--tm-ease),border-color 220ms ease,box-shadow 260ms ease,background 260ms ease!important;
}
.pub-item:hover,.viral-card:hover,.public-link-pill:hover,.identity-link:hover{
  box-shadow:0 12px 30px rgba(7,24,59,.075),0 0 24px rgba(10,61,255,.035);
}
.pub-arrow,.public-link-pill b,.identity-link>b{
  transition:transform 240ms var(--tm-ease),text-shadow 240ms ease;
}
.pub-item:hover .pub-arrow,.public-link-pill:hover b,.identity-link:hover>b{
  transform:translate3d(2px,-2px,0);
  text-shadow:0 0 12px rgba(10,61,255,.22);
}

/* tiny online/instrument pulse on key institutional labels */
.integrated-kicker>.eyebrow:before,
.publications-slim .pub-head .eyebrow:before,
.viral-slim .viral-head .eyebrow:before,
.public-links-head .eyebrow:before{
  content:"";
  width:5px;height:5px;
  border-radius:50%;
  display:inline-block;
  margin-right:7px;
  vertical-align:1px;
  background:var(--tm-blue);
  box-shadow:0 0 0 0 rgba(10,61,255,.18);
  animation:tm-status-pulse 2.8s ease-out infinite;
}
@keyframes tm-status-pulse{
  0%,42%{box-shadow:0 0 0 0 rgba(10,61,255,.20)}
  70%,100%{box-shadow:0 0 0 7px rgba(10,61,255,0)}
}

/* scroll reveal now has a faint depth component */
.tm-reveal{filter:blur(2px)}
.tm-reveal.tm-visible{filter:blur(0)}

@media(prefers-reduced-motion:reduce){
  body.tm-future:after,.top:after,.nav:after,.profile-media-stage:after,.integrated-tps .panel:before,.radar-wrap:before,.radar-wrap:after,
  .tm-tps-active .tps-radar-dot,.tm-tps-active .domain-row .bar:after,
  .integrated-score-mini .score.tm-resolved,.measurement-score .tps-count.tm-resolved,
  .integrated-kicker>.eyebrow:before,.publications-slim .pub-head .eyebrow:before,.viral-slim .viral-head .eyebrow:before,.public-links-head .eyebrow:before{
    animation:none!important;
  }
  .tm-tilt,.tm-tilt.tm-hover,.profile-media-slide,.profile-media-slide.active,.profile-media-slide.tm-from-prev{
    transform:none!important;
    transition:none!important;
    filter:none!important;
  }
  .tm-reveal,.tm-reveal.tm-visible{filter:none!important}
}

/* V6.15.3 — selected public-profile color feeds the futuristic ambient field */
body.profile-experience-active.tm-future:after{
  background:
    radial-gradient(520px 420px at var(--tm-screen-x) var(--tm-screen-y),rgba(var(--px-rgb),.055),transparent 68%),
    linear-gradient(rgba(var(--px-rgb),.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(var(--px-rgb),.014) 1px,transparent 1px);
  background-size:auto,52px 52px,52px 52px;
}
