/* Stable word targets retain their Z planes while the lettering turns into art. */
.career-story .career-glyph { cursor: pointer; outline: none; --glyph-x: 0; --glyph-y: 0; --glyph-color: var(--ink); transform: translateZ(var(--word-z,0px)); }
/* A clear hit plane sits ahead of the recessed lettering and its ancestors. */
.career-glyph[data-intro-glyph="tools"]::before { content: ""; position: absolute; inset: -10px -8px; transform: translateZ(64px); }
.career-glyph[data-intro-glyph="tools"][data-glyph-open="true"]::before { inset: -42px -65px; }
.career-glyph:focus-visible { outline: 1px solid var(--ink); outline-offset: 8px; }
.career-story .career-glyph > .career-heading-face { pointer-events: none; transform: rotateX(0deg); transform-origin: 50% 55%; opacity: 1; transition: transform .6s cubic-bezier(.22,.68,.18,1), opacity .35s ease; }
.career-glyph > .career-type-echo { transition: opacity .35s ease; }
.career-glyph > .intro-glyph-stage { inset: 0; translate: none; z-index: auto; transform: translateZ(22px) rotateX(-65deg) scale(.92); transition: transform .65s cubic-bezier(.22,.68,.18,1), opacity .35s ease, visibility .35s; }
.career-story .career-glyph[data-glyph-open="true"] > .career-heading-face { transform: rotateX(80deg); opacity: 0; }
.career-glyph[data-glyph-open="true"] > .career-type-echo { opacity: 0; }
.career-glyph[data-glyph-open="true"] > .intro-glyph-stage { opacity: 1; visibility: visible; transform: translateZ(22px) rotateX(calc(var(--glyph-y) * -5deg)) rotateY(calc(var(--glyph-x) * 7deg)); }
.career-glyph[data-intro-glyph="tools"] > .intro-glyph-stage { inset: 50% auto auto 50%; width: max(100%,310px); height: 112px; translate: -50% -50%; transform: translateZ(86px); }
.career-vision { margin-top: 50px; }
.career-glyph[data-intro-glyph="craft"] > .intro-glyph-stage { inset: -8px -14px; }
.career-software-cluster { position: relative; display: block; width: 100%; height: 100%; isolation: isolate; transform-style: flat; }
/* Hit slots never move. Entrance, pointer depth, float and emphasis have their
   own elements, so a pointer update cannot restart the entrance transition. */
.career-software-cluster, .career-software-cluster * { pointer-events: none !important; }
.career-software-badge { position: absolute; left: var(--icon-left); top: var(--icon-top); width: var(--icon-size,24px); height: calc(var(--icon-size,24px) + 18px); color: var(--badge-color); z-index: 1; }
.career-software-badge:nth-child(-n+2) { z-index: 3; }
.career-software-reveal { display: block; opacity: 0; transform: translateY(14px) scale(.84); transition: transform .55s cubic-bezier(.22,.68,.18,1),opacity .35s ease; }
.career-glyph[data-glyph-open="true"] .career-software-reveal { opacity: 1; transform: translateY(0) scale(1); transition-delay: calc(var(--badge-order) * 45ms); }
.career-software-plane { display: block; transform: perspective(700px) translate3d(calc(var(--glyph-x) * var(--icon-dx)),calc(var(--glyph-y) * var(--icon-dy)),var(--icon-z)) rotate(calc(var(--glyph-x) * var(--icon-turn))); backface-visibility: hidden; }
.career-software-float { display: flex; flex-direction: column; align-items: center; gap: 4px; animation: career-badge-float var(--icon-cycle) ease-in-out calc(var(--badge-order) * -.63s) infinite alternate; }
.career-glyph .career-software-badge svg { width: var(--icon-size,24px); height: var(--icon-size,24px); fill: currentColor; stroke: none; transition: transform .45s cubic-bezier(.22,.68,.18,1); }
.career-software-badge[data-logo-hover] svg { transform: translateY(-3px) scale(1.12); }
.career-software-float > span { font: 500 8px/1.2 var(--sans); letter-spacing: .015em; color: var(--ink); white-space: nowrap; }
.career-software-badge:nth-child(1) { --icon-left: 1%; --icon-top: 8%; --icon-z: 28px; --icon-size: 48px; --icon-dx: 10px; --icon-dy: -8px; --icon-turn: -5deg; --icon-cycle: 3.7s; }
.career-software-badge:nth-child(2) { --icon-left: 26%; --icon-top: 37%; --icon-z: 48px; --icon-size: 44px; --icon-dx: -8px; --icon-dy: 10px; --icon-turn: 4deg; --icon-cycle: 4.6s; }
.career-software-badge:nth-child(3) { --icon-left: 49%; --icon-top: 3%; --icon-z: -30px; --icon-dx: -13px; --icon-dy: -6px; --icon-turn: 7deg; --icon-cycle: 5.2s; }
.career-software-badge:nth-child(4) { --icon-left: 67%; --icon-top: 28%; --icon-z: -14px; --icon-dx: 7px; --icon-dy: 12px; --icon-turn: -8deg; --icon-cycle: 3.2s; }
.career-software-badge:nth-child(5) { --icon-left: 86%; --icon-top: 5%; --icon-z: 10px; --icon-dx: -5px; --icon-dy: -12px; --icon-turn: 6deg; --icon-cycle: 4.1s; }
.career-software-badge:nth-child(6) { --icon-left: 49%; --icon-top: 63%; --icon-z: 14px; --icon-dx: 12px; --icon-dy: 7px; --icon-turn: -6deg; --icon-cycle: 5.7s; }
.career-software-badge:nth-child(7) { --icon-left: 69%; --icon-top: 78%; --icon-z: -25px; --icon-dx: -10px; --icon-dy: 5px; --icon-turn: 9deg; --icon-cycle: 4.9s; }
.career-software-badge:nth-child(8) { --icon-left: 88%; --icon-top: 58%; --icon-z: 0px; --icon-dx: 6px; --icon-dy: -9px; --icon-turn: -4deg; --icon-cycle: 3.9s; }
html[data-theme="light"] .career-software-badge { color: var(--ink); }
.career-globe-canvas { display: block; width: 100%; height: 100%; }
.career-glyph .career-globe-rear { opacity: .25; stroke-width: .7; }
.career-glyph .career-globe-sphere { stroke-width: 1.1; fill: var(--bg); fill-opacity: .78; }
.career-glyph .career-globe-grid { stroke-width: .35; opacity: .3; }
.career-glyph .career-globe-land { stroke-width: .6; opacity: .85; }
.craft-hammer { animation: career-hammer-tap 3.4s ease-in-out infinite; }
.craft-brush { animation: career-brush-sweep 4.6s ease-in-out -.8s infinite; }
.craft-sparks { animation: career-map-pulse 3.4s ease-out infinite; }
.career-glyph .intro-glyph-stage * { animation-play-state: paused !important; }
html:not(.motion-paused):not(.text-selection-active) .intro-career-stage.is-ambient .career-glyph[data-glyph-open="true"][data-glyph-visible="true"]:not([data-glyph-selecting="true"]) .intro-glyph-stage * { animation-play-state: running !important; }
.motion-paused .career-glyph *, .career-glyph[data-glyph-selecting="true"] *, .text-selection-active .career-glyph * { animation-play-state: paused !important; transition: none !important; }
.motion-paused .career-glyph > .intro-glyph-stage { transform: translateZ(22px); }
.career-story .career-glyph[data-glyph-selecting="true"] > .career-heading-face, .text-selection-active .career-story .career-glyph > .career-heading-face { opacity: 1; transform: none; }
.career-glyph[data-glyph-selecting="true"] > .career-type-echo, .text-selection-active .career-glyph > .career-type-echo { opacity: .2; }
.career-glyph[data-glyph-selecting="true"] > .intro-glyph-stage, .text-selection-active .career-glyph > .intro-glyph-stage { opacity: 0; visibility: hidden; }
.career-glyph[data-glyph-selecting="true"]::before, .text-selection-active .career-glyph::before { pointer-events: none; }
.career-panel-subtitle { display: block; margin-top: 9px; font: 400 13px/1.5 var(--sans); letter-spacing: .015em; color: var(--muted); }
@media (max-width: 760px), (hover: none) {
  .career-story .career-tools-heading { padding-top: 47px; }
  .career-vision { margin-top: 61px; }
  .career-glyph[data-intro-glyph="tools"] > .intro-glyph-stage { left: 0; width: 260px; translate: 0 -50%; }
  .career-glyph[data-intro-glyph="tools"][data-glyph-open="true"]::before { inset: -42px auto -42px -2px; width: 270px; }
  .career-cloud-software .career-cloud-bottom .career-software { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .career-cloud-software .career-cloud-bottom li { font-size: clamp(20px,5.5vw,25px); }
}
@media (min-width: 761px) and (hover: hover) {
  .intro-career-stage[data-active-reveal]:not([data-active-reveal=""]) .career-story .intro-glyph-stage { opacity: 0; visibility: hidden; }
  html:not(.motion-paused):not(.text-selection-active) .intro-career-stage.is-ambient[data-active-reveal]:not([data-active-reveal=""]) .career-glyph[data-glyph-open="true"][data-glyph-visible="true"]:not([data-glyph-selecting="true"]) .intro-glyph-stage * { animation-play-state: paused !important; }
}
@keyframes career-badge-float { from { transform: translate3d(-2px,3px,0) rotate(-2deg); } to { transform: translate3d(2px,-5px,0) rotate(3deg); } }
@keyframes career-map-pulse { 0%,100% { opacity: .25; } 40% { opacity: 1; } }
@keyframes career-hammer-tap { 0%,50%,100% { transform: rotate(-5deg); } 62%,72% { transform: rotate(7deg); } 67% { transform: rotate(2deg); } }
@keyframes career-brush-sweep { 0%,100% { transform: rotate(-4deg); } 50% { transform: rotate(7deg); } }
@media print {
  .career-glyph > .intro-glyph-stage { display: none; }
  .career-story .career-glyph > .career-heading-face { opacity: 1 !important; transform: none !important; }
}
