/* Card layout only; page scrolling stays native and immediate. */
.exp-card-entry { position: relative; flex: 1 1 0; min-width: 0; transform-origin: 50% 0; }
.exp-card-entry + .exp-card-entry { margin-left: -16px; }
.exp-card-entry > .exp-card { width: 100%; }
.exp-card-entry:nth-child(2) { z-index: 1; }
.exp-card-entry:nth-child(3) { z-index: 2; }
.exp-card-entry.is-open-entry { z-index: 5; }
.exp-card-entry:nth-child(2) > .exp-card { --exp-rest: translateY(12px) rotate(1.1deg); }
.exp-card-entry:nth-child(3) > .exp-card { --exp-rest: translateY(3px) rotate(-.8deg); }
.experience-section.is-enhanced .exp-deck.is-deck-open .exp-card:not(.is-open) { transform: var(--exp-rest); }
@media (max-width: 900px), (hover: none), (pointer: coarse) {
  .exp-card-entry { flex: none; width: 100%; }
  .exp-card-entry + .exp-card-entry { margin-left: 0; }
  .exp-card-entry > .exp-card { transform: none; }
}


@media (max-width: 900px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .experience-section.is-enhanced .exp-deck.is-deck-open .exp-card:not(.is-open) { transform: none; }
}
/* Stage styles stay on their own elements, preserving GSAP layer and hover transforms. */
.has-career-scroll #about .snow-character img {
  scale: var(--career-person-scale, 1);
  transform-origin: 50% 60%;
}
.has-career-scroll .exp-card-entry.is-card-entering {
  opacity: 0;
  transform: translateX(-180px);
  will-change: transform, opacity;
}
.has-career-scroll .exp-card-entry.is-card-entering:nth-child(2) { transform: translateX(180px); }
@media (max-width: 900px), (hover: none), (pointer: coarse) {
  .has-career-scroll .exp-card-entry.is-card-entering { transform: translateX(-36px); }
  .has-career-scroll .exp-card-entry.is-card-entering:nth-child(2) { transform: translateX(36px); }
}
.has-career-scroll .career-card-locked { pointer-events: none; }
.has-career-scroll .career-card-locked :is(.border-glow-mesh, .border-glow-fill, .edge-light) { opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) {
  .has-career-scroll #about .snow-ui,
  .has-career-scroll #about .snow-lettering img,
  .has-career-scroll #about .snow-lettering-fill,
  .has-career-scroll #about .snow-character img,
  .has-career-scroll #works > :is(.exp-section-top, .exp-heading-row, .exp-career-top),
  .has-career-scroll .exp-card-entry.is-card-entering { opacity: 1; translate: none; scale: none; rotate: none; }
}
/* Opposing text entrances and ruled reveals, without changing final geometry. */
.has-career-scroll #works h2.exp-heading {
  translate: 0 var(--career-heading-y, 0px);
  clip-path: inset(calc(var(--career-heading-cut, 0%) - .15em) -.02em -.15em -.02em);
}
.has-career-scroll #works .exp-section-top,
.has-career-scroll #works .exp-career-top { position: relative; }
.has-career-scroll #works .exp-section-top { border-bottom-color: transparent; }
.has-career-scroll #works .exp-career-top { border-top-color: transparent; }
.has-career-scroll #works .exp-section-top::after,
.has-career-scroll #works .exp-career-top::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--exp-line);
  pointer-events: none;
}
.has-career-scroll #works .exp-section-top::after {
  bottom: -1px;
  transform: scaleX(var(--career-top-rule, 1));
  transform-origin: left center;
}
.has-career-scroll #works .exp-career-top::before {
  top: -1px;
  transform: scaleX(var(--career-caption-rule, 1));
  transform-origin: right center;
}
@media (prefers-reduced-motion: reduce) {
  .has-career-scroll #works :is(.exp-section-top > span, .exp-heading, .exp-heading-dot, .exp-career-top > div, .exp-interaction-note) { opacity: 1; translate: none; clip-path: none; }
  .has-career-scroll #works .exp-section-top::after,
  .has-career-scroll #works .exp-career-top::before { transform: none; }
}
