/* =====================================================================
   GVD v25 - mobile work safe zone, section-static signs, clean social set
   ===================================================================== */

/* Use cases are informational, not links. Remove every legacy arrow/signal. */
.station-tasks .task-item,
.station-tasks .task-item:hover,
.station-tasks .task-item:focus,
.station-tasks .task-item:active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
.station-tasks .task-item::before,
.station-tasks .task-item::after,
.station-tasks .task-label::before,
.station-tasks .task-label::after {
  content: none !important;
  display: none !important;
}

/* Current official brand silhouettes, rendered as one coherent monochrome set. */
.station-contact .social-links a {
  position: relative !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  isolation: isolate !important;
}
.station-contact .social-links .social-brand-icon {
  display: block !important;
  fill: currentColor !important;
  stroke: none !important;
  overflow: visible !important;
  transform-origin: 50% 50% !important;
  transition: transform 260ms cubic-bezier(.2,.75,.25,1), filter 260ms ease, opacity 180ms ease !important;
}
.station-contact .social-links .social-label { display: none !important; }
.station-contact .social-links .social-signal-orbit {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 5px !important;
  height: 5px !important;
  margin: -2.5px 0 0 -2.5px !important;
  background: currentColor !important;
  clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@keyframes gvdSocialSignalOrbit {
  0%   { opacity: 0; transform: translate3d(-24px,-18px,0) rotate(0deg) scale(.65); }
  18%  { opacity: .8; }
  48%  { opacity: .95; transform: translate3d(23px,-12px,0) rotate(90deg) scale(1); }
  78%  { opacity: .7; transform: translate3d(18px,20px,0) rotate(180deg) scale(.78); }
  100% { opacity: 0; transform: translate3d(-21px,17px,0) rotate(270deg) scale(.55); }
}
@media (hover:hover) and (pointer:fine) {
  .station-contact .social-links a:hover .social-brand-icon,
  .station-contact .social-links a:focus-visible .social-brand-icon {
    transform: translateY(-2px) scale(1.06) !important;
    filter: drop-shadow(3px 0 0 color-mix(in srgb, currentColor 22%, transparent)) !important;
    animation: none !important;
    clip-path: none !important;
  }
  .station-contact .social-links a:hover .social-signal-orbit,
  .station-contact .social-links a:focus-visible .social-signal-orbit {
    animation: gvdSocialSignalOrbit 720ms steps(6,end) 1 both !important;
  }
}

@media (max-width: 1100px) {
  /* Reserve a dedicated lower safe zone for the navigation cue. Public-work
     media can never occupy this area, even on short mobile viewports. */
  html.is-depth .station-work {
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }
  html.is-depth .station-work .station-shell-wide,
  html.is-depth .station-work .work-layout {
    height: auto !important;
    max-height: calc(100dvh - 174px - env(safe-area-inset-bottom)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  html.is-depth .station-work .work-layout {
    display: flex !important;
    flex-direction: column !important;
  }
  .station-work .work-layout > .scene-header {
    flex: 0 0 auto !important;
    margin-bottom: clamp(5px, .8vh, 9px) !important;
  }
  .station-work .scene-title {
    font-size: clamp(34px, 9.4vw, 52px) !important;
    line-height: .88 !important;
  }
  .station-work .work-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(2px, .55vh, 6px) !important;
    overflow: hidden !important;
  }
  .station-work .work-row,
  .station-work .work-row.is-active,
  .station-work .work-row:hover {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(2px, .5vh, 5px) 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  .station-work .work-title {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    font-size: clamp(22px, 6.8vw, 34px) !important;
    line-height: .92 !important;
  }
  .station-work .work-inline-media,
  .station-work .work-row.is-active .work-inline-media {
    flex: 0 1 auto !important;
    display: block !important;
    width: 100% !important;
    height: clamp(48px, 8.2vh, 76px) !important;
    max-height: 76px !important;
    aspect-ratio: auto !important;
    margin: clamp(3px, .45vh, 5px) 0 !important;
    opacity: 1 !important;
  }
  .station-work .work-row-meta {
    flex: 0 0 auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    gap: 5px !important;
    font-size: clamp(7px, 1.8vw, 9px) !important;
    line-height: 1.18 !important;
  }
  .station-work .work-row-meta > span {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
    overflow: hidden !important;
  }
  .station-work .work-row-meta > b { font-size: inherit !important; }

  /* A single stable sign language per section. Nothing in these rows reacts
     to tap, touch movement, hover emulation or focus on mobile/tablet. */
  .capability-list li,
  .capability-list li:hover,
  .capability-list li:active,
  .capability-list li:focus,
  .capability-list li:focus-within {
    pointer-events: none !important;
    user-select: text !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  .capability-production .cap-symbol { color: currentColor !important; }
  .capability-technology .cap-symbol { color: currentColor !important; }
  .capability-systems .cap-symbol { color: currentColor !important; }

  /* Use-case type must read like a service list, not micro-caption metadata. */
  .station-tasks .tasks-list {
    gap: clamp(22px, 3.4vh, 34px) clamp(18px, 4.5vw, 30px) !important;
  }
  .station-tasks .task-item,
  .station-tasks .task-item:nth-child(odd),
  .station-tasks .task-item:nth-child(even) {
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    font-size: clamp(15px, 4.25vw, 19px) !important;
    line-height: 1.08 !important;
  }
  .station-tasks .task-label {
    display: block !important;
    max-width: 18ch !important;
    font-size: inherit !important;
    line-height: inherit !important;
  }

  /* Hard viewport-centering for the visual cue. No inherited left/inset or
     transform from older scene animation rules can move the parent. */
  html body #global-scroll-cue,
  html body #global-scroll-cue[data-input="touch"],
  html body #global-scroll-cue[data-input="wheel"] {
    position: fixed !important;
    inset: auto 0 calc(14px + env(safe-area-inset-bottom)) 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    translate: none !important;
    transform: none !important;
    animation: none !important;
  }

  /* Official brand silhouettes remain static on touch devices. */
  .station-contact .social-links .social-brand-icon {
    width: 30px !important;
    height: 30px !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    clip-path: none !important;
  }
  .station-contact .social-links .social-signal-orbit { display: none !important; }
}

@media (max-width: 430px), (max-height: 720px) and (max-width: 1100px) {
  html.is-depth .station-work { padding-bottom: calc(94px + env(safe-area-inset-bottom)) !important; }
  html.is-depth .station-work .station-shell-wide,
  html.is-depth .station-work .work-layout {
    max-height: calc(100dvh - 158px - env(safe-area-inset-bottom)) !important;
  }
  .station-work .scene-title { font-size: clamp(30px, 8.9vw, 43px) !important; }
  .station-work .work-title { font-size: clamp(18px, 5.8vw, 27px) !important; }
  .station-work .work-inline-media,
  .station-work .work-row.is-active .work-inline-media {
    height: clamp(40px, 7.2vh, 58px) !important;
  }
  .station-work .work-row-meta { font-size: clamp(6.5px, 1.75vw, 8px) !important; }
}
