/* Only the Technologies layout; the supplied component owns its Shadow DOM. */
/* Direct entry/refresh must resolve actual preceding heights, not the 900px
   placeholders from content-visibility:auto, before locating this anchor. */
.iuli-home:has(#tehnologii:target) #content > :is(#top, #servicii, #proiecte) {
  content-visibility: visible;
  contain-intrinsic-size: none;
}
.technology-section.has-tech-orbit {
  position: relative;
  display: grid;
  grid-template-areas: "scene";
  padding-block: 24px;
}
.technology-section.has-tech-orbit > .technology-rails {
  grid-area: scene;
  align-self: center;
  min-width: 0;
  z-index: 1;
  /* Each side occupies 35%; the middle 30% stays clear of moving text. */
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 23%, transparent 35%, transparent 65%, #000 77%, #000 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 23%, transparent 35%, transparent 65%, #000 77%, #000 100%);
}
.technology-section > .technology-orbit {
  --iuli-height: clamp(300px, 28vw, 470px);
  grid-area: scene;
  place-self: center;
  position: relative;
  z-index: 2;
  width: 30%;
  max-width: 620px;
  min-width: 0;
  pointer-events: auto;
  container-type: inline-size;
}
.technology-orbit > iuli-tech-orbit {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: calc(var(--iuli-height) + 132px);
}
.technology-orbit > iuli-tech-orbit::part(stage) {
  /* Its explicit dimensions let hit-area updates stay inside the scene. */
  contain: strict;
}
.technology-orbit-poster {
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  width: 100%;
  height: var(--iuli-height);
  object-fit: contain;
  pointer-events: none;
}
.technology-orbit[data-orbit-painted] > .technology-orbit-poster { visibility: hidden; }
.technology-orbit > .technology-orbit-poster + iuli-tech-orbit .technology-orbit-placeholder { visibility: hidden; }
.technology-orbit-placeholder {
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  align-content: center;
  height: var(--iuli-height);
  color: var(--white);
  font: 800 clamp(28px, 3vw, 46px)/1 var(--sans);
  letter-spacing: -.075em;
}
.technology-orbit-placeholder > b { color: var(--green); font-weight: inherit; }
/* Reserve the wrapped controls before initialization, including narrow desktops. */
@container (max-width: 380px) {
  .technology-orbit > iuli-tech-orbit {
    min-height: calc(var(--iuli-height) + 178px);
  }
}
@media (max-width: 1023px) {
  .technology-section.has-tech-orbit {
    grid-template-areas: "orbit" "rails";
    gap: 16px;
    padding-block: 24px 0;
  }
  .technology-section > .technology-orbit {
    --iuli-height: clamp(320px, 85vw, 450px);
    grid-area: orbit;
    width: calc(100% - 32px);
    max-width: 520px;
  }
  .technology-section.has-tech-orbit > .technology-rails {
    grid-area: rails;
    width: 100%;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .technology-section.has-tech-orbit .technology-rails { pointer-events: auto; }
}
