/* =====================================================================
   GVD v22 - clean signal interaction, real parallax, no decorative frames
   ===================================================================== */

/* Navigation cue: fixed geometric centring unaffected by animation transforms. */
:root { --gvd-cue-size: 50px; }
html body #global-scroll-cue,
html body #global-scroll-cue[data-input="touch"],
html body #global-scroll-cue[data-input="wheel"] {
  left: calc(50vw - (var(--gvd-cue-size) / 2)) !important;
  right: auto !important;
  width: var(--gvd-cue-size) !important;
  margin: 0 !important;
  translate: none !important;
  transform: none !important;
}

/* No accidental frame around the brand. Keep a non-box keyboard cue. */
.brand-lockup,
.brand-lockup:hover,
.brand-lockup:focus,
.brand-lockup:focus-visible {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.brand-lockup:focus-visible .brand-name {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}
.brand-mark,
.brand-copy,
.brand-symbol,
.brand-symbol-echo {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Form submit: no top/bottom sticks, slab, frame or sweep. */
.binary-button-submit,
.binary-button-submit:hover,
.binary-button-submit:focus,
.binary-button-submit:focus-visible {
  width: max-content !important;
  min-width: 0 !important;
  min-height: 54px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 18px !important;
  justify-content: flex-start !important;
  transform: none !important;
}
.binary-button-submit::before,
.binary-button-submit::after { display: none !important; content: none !important; }
.binary-button-submit b {
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 0 !important;
  transform: rotate(45deg) !important;
  border: 1px solid currentColor !important;
  transition: transform .28s ease, background-color .28s ease !important;
}
.binary-button-submit:hover b,
.binary-button-submit:focus-visible b {
  transform: rotate(225deg) scale(.72) !important;
  background: currentColor !important;
}

/* Remove every old decorative signal from tasks and process. */
.task-sigil,
.process-glyph { display: none !important; }
.tasks-list,
.tasks-list .task-item,
.process-flow,
.process-step,
.process-title-row {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.tasks-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(28px, 4vh, 58px) clamp(42px, 6vw, 110px) !important;
}
.tasks-list .task-item,
.tasks-list .task-item:nth-child(odd),
.tasks-list .task-item:nth-child(even) {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.task-label {
  max-width: 24ch !important;
  font-size: clamp(18px, 1.35vw, 27px) !important;
  line-height: 1.06 !important;
}
.process-flow {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(38px, 6vh, 78px) clamp(60px, 8vw, 130px) !important;
}
.process-title-row { margin-bottom: 13px !important; }
.process-title-row h3 { font-size: clamp(27px, 2.2vw, 42px) !important; }

/* Capability system: permanent paired signs on touch, synchronous cycling on hover. */
.capability-list,
.capability-list li,
.capability-list li::before,
.capability-list li::after {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.capability-list li {
  display: grid !important;
  grid-template-columns: 1.2em minmax(0, 1fr) 1.2em !important;
  align-items: center !important;
  column-gap: .45em !important;
  padding: .52em 0 !important;
  overflow: visible !important;
}
.capability-list li > i:not(.cap-symbol) { display: none !important; }
.capability-list .cap-label {
  display: block !important;
  color: inherit !important;
  transform: none !important;
}
.capability-list .cap-symbol {
  position: static !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 1.2em !important;
  height: 1.2em !important;
  margin: 0 !important;
  color: currentColor !important;
  font-family: "futura-100-cyrillic", ui-monospace, monospace !important;
  font-size: 1em !important;
  line-height: 1 !important;
  opacity: 0 !important;
  transform: none !important;
  transition: opacity .18s ease !important;
}
.capability-list li.is-symbol-active .cap-symbol { opacity: .88 !important; }
.capability-list li:hover .cap-label,
.capability-list li:focus-within .cap-label {
  color: inherit !important;
  transform: none !important;
}

/* Remove the stray mobile divider and all table-like frames from experience. */
.station-experience .experience-copy,
.station-experience .experience-column,
.station-experience .experience-copy::before,
.station-experience .experience-copy::after,
.station-experience .experience-column::before,
.station-experience .experience-column::after {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.station-experience .experience-copy::before,
.station-experience .experience-copy::after,
.station-experience .experience-column::before,
.station-experience .experience-column::after { content: none !important; display: none !important; }

/* Keep keyboard access without an enclosing frame. */
.binary-link:focus-visible,
.binary-button:not(.binary-button-submit):focus-visible,
.overlay-close:focus-visible,
.modal-close:focus-visible {
  outline: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

@media (max-width: 1100px) {
  :root { --gvd-cue-size: 46px; }
  html body #global-scroll-cue,
  html body #global-scroll-cue[data-input="touch"],
  html body #global-scroll-cue[data-input="wheel"] {
    left: calc(50vw - 23px) !important;
    width: 46px !important;
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  }
  .capability-list li {
    grid-template-columns: 1.15em minmax(0, 1fr) 1.15em !important;
    column-gap: .36em !important;
    font-size: inherit !important;
    padding-block: .42em !important;
  }
  .capability-list .cap-symbol {
    opacity: .88 !important;
    font-size: 1em !important;
  }
  .tasks-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(25px, 4vh, 42px) clamp(18px, 5vw, 34px) !important;
  }
  .task-label {
    max-width: 18ch !important;
    font-size: clamp(14px, 4vw, 19px) !important;
  }
  .process-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(28px, 4vh, 42px) clamp(18px, 5vw, 34px) !important;
  }
  .process-title-row h3 { font-size: clamp(19px, 5.4vw, 26px) !important; }
  .process-step p { font-size: clamp(11px, 3vw, 14px) !important; line-height: 1.42 !important; }
  .form-submit-area {
    border: 0 !important;
    padding-top: 8px !important;
  }
  .binary-button-submit { width: max-content !important; }
}
