/* Exodus Industries interactions: accessibility-aware enhancements, no legacy purple. */
/* In a static editorial layout, don't suggest that unclickable decorative crosses expand. */
.technical-cross, .method-symbol { display: none !important; }
.economics-node::after { content: none !important; }
/* The motion-control button has been retired. Motion remains finite and respects OS settings. */
.motion-toggle, .motion-control-icon { display: none !important; }
.hero-media-controls { justify-content: flex-end; }
.launch-canvas { pointer-events: none; }
.launch-canvas[hidden] { display: none !important; }
/* For object-fit cover, the mobile crop must retain the genuine opening at image right. */
@media (max-width: 760px) { .hero-image { object-position: 100% 50% !important; } }

/* Make the approved authentic portrait a visible, functional LinkedIn link. */
.portrait-link {
  display: block;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: #F4F7FA;
  outline-offset: 5px;
  text-decoration: none;
}
.portrait-link img {
  display: block;
  width: 100%;
  height: auto;
  filter: grayscale(1);
  transform: scale(1);
  transition: filter 480ms ease, transform 560ms cubic-bezier(.22,.61,.36,1);
}
.portrait-link:is(:hover,:focus-visible) img { filter: grayscale(0); transform: scale(1.025); }
.portrait-link:focus-visible { outline: 3px solid #48B8E5; }
.portrait-link .portrait-cta {
  position: absolute;
  right: 15px;
  bottom: 15px;
  z-index: 2;
  padding: 11px 13px;
  border: 1px solid rgba(244,247,250,.35);
  background: rgba(12,17,24,.85);
  color: #F4F7FA;
  font: 500 .65rem/1.4 'IBM Plex Sans',sans-serif;
  letter-spacing: .11em;
  transform: translateY(3px);
  transition: color 200ms ease, border-color 200ms ease, transform 200ms ease;
  pointer-events: none;
}
.portrait-link:is(:hover,:focus-visible) .portrait-cta {
  color: #48B8E5;
  border-color: #48B8E5;
  transform: translateY(0);
}
/* Systems panel controls genuinely change the explanatory copy. */
.systems-labels > .systems-factor {
  display: flex;
  align-items: center;
  gap: var(--space-3, 12px);
  width: 100%;
  padding: 9px 8px;
  margin: 0;
  border: 1px solid transparent;
  background: transparent;
  color: #899CAB;
  text-align: left;
  text-wrap: balance;
  cursor: pointer;
  font: 400 .72rem/1.45 'IBM Plex Sans', sans-serif;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}
.systems-labels > .systems-factor:hover,
.systems-labels > .systems-factor[aria-pressed="true"] { color: #F4F7FA; border-color: rgba(72,184,229,.3); background: rgba(72,184,229,.075); }
.systems-labels > .systems-factor:focus-visible { outline: 2px solid #48B8E5; outline-offset: 2px; }
.systems-labels .systems-factor i { height: 4px; width: 4px; background: #48B8E5; flex-shrink: 0; }
.systems-detail {
  color: #F4F7FA;
  border-left: 2px solid #48B8E5;
  padding: 5px 0 5px 14px;
  margin: -7px 0 23px;
  font: 400 .78rem/1.55 'IBM Plex Sans', sans-serif;
  min-height: 62px;
}
.copy-email { display:inline-flex; gap: 20px; align-items:center; min-height:44px; padding: 10px 13px; margin-top: 14px; border:1px solid rgba(137,156,171,.65); background:#253442; color:#F4F7FA; font:500 .82rem 'IBM Plex Sans',sans-serif; cursor:pointer; transition: background 180ms ease,border-color 180ms ease; }
.copy-email:hover { background:#304556; border-color:#48B8E5; }
.copy-email:focus-visible { outline:2px solid #48B8E5; outline-offset:3px; }
.copy-feedback { min-height: 1.3em; margin-top: 8px; font-size:.75rem; color:#899CAB; }
@media (max-width: 760px) {
  .systems-labels > .systems-factor { font-size:.7rem; min-height:44px; }
  .portrait-link .portrait-cta { font-size:.58rem; right:10px; bottom:10px; }
}
@media (prefers-reduced-motion: reduce) {
  .portrait-link img, .portrait-link .portrait-cta,
  .systems-labels > .systems-factor, .copy-email { transition: none !important; }
}


/* About page: three formerly decorative "tabs" are real, accessible section links. */
.about-structural-line > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 52px;
  padding-top: var(--space-4, 16px);
  border-top: 1px solid rgba(137,156,171,.48);
  color: #899CAB;
  text-decoration: none;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease;
}
.about-structural-line > a::after {
  content: '↘';
  color: #899CAB;
  font-family: system-ui, sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  opacity: .72;
  transition: transform 180ms ease, color 180ms ease;
}
.about-structural-line > a[aria-current="location"] {
  border-top-color: #48B8E5;
  color: #F4F7FA;
}
.about-structural-line > a[aria-current="location"]::after {
  color: #48B8E5;
  opacity: 1;
}
.about-structural-line > a:hover {
  border-top-color: #48B8E5;
  color: #F4F7FA;
}
.about-structural-line > a:hover::after,
.about-structural-line > a:focus-visible::after {
  color: #48B8E5;
  transform: translate(2px, 2px);
}
.about-structural-line > a:focus-visible {
  color: #F4F7FA;
  outline: 2px solid #48B8E5;
  outline-offset: 4px;
}
.about-page [data-about-destination] {
  scroll-margin-top: 110px;
}
@media (prefers-reduced-motion: reduce) {
  .about-structural-line > a,
  .about-structural-line > a::after { transition: none !important; }
}
