/* Behavior and accessibility only: source geometry and visual tokens stay in page CSS. */
html { color-scheme: dark; }
::selection { background: #50d8ff; color: #070e27; }
a:focus-visible { outline: 2px solid #50d8ff; outline-offset: 5px; }
a svg { transition: stroke 180ms ease; }
a:hover svg { stroke: #50d8ff; }
.transform-origin-center-center { animation: availability-spin 30s linear infinite; }
@keyframes availability-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Shared navigation additions keep the source type and palette. */
[data-meo-root] .site-header {
  z-index: 20;
  isolation: isolate;
  background-color: #1e223a;
}
.meo-cAD0S a.meo-text.site-nav-link {
  color: #8e909d;
  text-decoration: none;
  white-space: nowrap;
}
.meo-cAD0S a.meo-text.site-nav-link:hover,
.meo-cAD0S a.meo-text.site-nav-link[aria-current="page"] { color: #50d8ff; }
.meo-cAD0S .site-graphic-link { flex: none; white-space: nowrap; }
.gallery-upload { width: 100%; margin: 0; overflow: hidden; border-radius: 12px; }
.gallery-upload img { display: block; width: 100%; height: auto; }
@media (max-width: 809px) {
  .meo-cAD0S.meo-v-2dsi6w .meo-e4dvvu {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 20px;
    row-gap: 0;
    padding: 0;
  }
  .meo-cAD0S.meo-v-2dsi6w .meo-e4dvvu > * { margin: 0; }
  .meo-cAD0S.meo-v-2dsi6w .site-graphic-link { grid-column: 1 / -1; justify-self: end; }
  .meo-cAD0S.meo-v-2dsi6w .site-nav-link { display: inline-flex; align-items: center; min-height: 28px; }
  .meo-cAD0S.meo-v-2dsi6w .site-graphic-link a { font-size: 12px; }
}
@media (max-width: 809px) {
  .meo-HT1Nj h1.meo-text { font-size: clamp(22px, 8vw, 32px); }
}

/* The existing availability artwork now doubles as a movable contact link. */
[data-meo-root] a.contact-badge {
  position: fixed;
  inset: auto 24px 24px auto;
  display: block;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  z-index: 50;
  cursor: pointer;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.contact-badge > .meo-mSBQ4 {
  display: flex; align-items: center; justify-content: center; position: relative;
  width: 100%; height: 100%;
}
.contact-badge .meo-mebrgf-container { position: relative; width: 116px; height: 116px; flex: none; }
.contact-badge .meo-1swfshf {
  position: absolute; width: 60px; height: 60px; top: calc(50% - 30px); left: calc(50% - 30px);
}
.contact-badge * { pointer-events: none; }
.contact-badge.is-dragging { cursor: grabbing; }
.contact-badge.is-dragging .transform-origin-center-center,
.contact-badge.is-page-hidden .transform-origin-center-center { animation-play-state: paused; }
.contact-badge:hover svg { stroke: none; }
.contact-badge * { -webkit-user-drag: none; -webkit-user-select: none; user-select: none; }

/* CMS content uses the established chip and gallery treatments. */
.cms-chip { background: rgb(7,14,39); border-radius: 8px; padding: 8px; flex: none; }
.cms-chip h2.meo-text { margin: 0; color: #fff; font: 500 18px/1.4 "Satoshi", sans-serif; white-space: normal; overflow-wrap: anywhere; }
[data-meo-root] .skills-heading { width: 100%; white-space: normal; }
.skills-heading h2.meo-text { white-space: normal; }
[data-cms-chips] > .cms-chip { max-width: 100%; box-sizing: border-box; }
[data-cms-rich] strong, [data-cms-rich] b { font-weight: 900; }
.gallery-empty { grid-column: 1 / -1; margin: 0; color: #8e909d; font: 500 18px/1.4 "Satoshi", sans-serif; }
