/* AnywhereExp · Home motion A, illustrated.
 * The mist-pink composition and static mark are the baseline on every device.
 * Successful WebGL adds the reversible journey without hiding real content.
 */
html.ax-home-orbit-page .site-header {
  --red: #be2845;
  --redhot: #a71e3a;
  color: #202436;
  background: #f2cdd3;
  backdrop-filter: none;
  border-bottom-color: rgb(32 36 54 / .17);
}
html.ax-home-orbit-page .site-header .brand-type strong { color: #202436; }
html.ax-home-orbit-page .site-header .brand-type small { color: #61505b; }
html.ax-home-orbit-page .site-header .nav { border-top-color: rgb(32 36 54 / .17); }
html.ax-home-orbit-page .site-header .nav a { color: #61505b; }
html.ax-home-orbit-page .site-header .nav a:is(:hover, :focus-visible, .is-active) { color: #202436; }
html.ax-home-orbit-page .site-header .admin-link {
  color: #202436;
  border-color: rgb(32 36 54 / .34);
  background: transparent;
}
html.ax-home-orbit-page .site-header .admin-link:is(:hover, :focus-visible) {
  color: #202436;
  border-color: #be2845;
  background: rgb(255 240 217 / .38);
}
html.ax-home-orbit-page .site-header .personal-icon svg { stroke: currentColor; }
#view-home .cinema-hero {
  --home-red: #be2845;
  --red: #be2845;
  --redhot: #a71e3a;
  color: #202436;
  background: #f2cdd3;
}
#view-home .cinema-copy h1 { color: #202436; }
#view-home .cinema-hero .title-line-red { color: #be2845; }
#view-home .cinema-hero .cinema-eyebrow,
#view-home .cinema-hero .cinema-lead,
#view-home .cinema-hero .hero-join h2 { color: #61505b; }
#view-home .cinema-hero .cinema-lead { border-right-color: rgb(32 36 54 / .22); }
#view-home .cinema-hero .hero-topline,
#view-home .cinema-hero .hero-topline small,
#view-home .cinema-hero .hero-registry-counts small,
#view-home .cinema-hero .hero-chapter { color: #6d4f5b; }
#view-home .cinema-hero .hero-topline small { border-color: rgb(32 36 54 / .30); }
#view-home .cinema-hero .hero-registry-counts strong { color: #202436; }
#view-home .cinema-hero .hero-baseline,
#view-home .cinema-hero .hero-join { border-top-color: rgb(32 36 54 / .19); }
#view-home .cinema-hero .cinema-text-link { color: #202436; border-bottom-color: rgb(32 36 54 / .35); }
#view-home .cinema-hero .cinema-text-link span { color: #be2845; }
#view-home .cinema-hero .cinema-text-link:is(:hover, :focus-visible) { border-bottom-color: #be2845; }
#view-home .cinema-hero .btn-red { color: #fff0d9; background: #be2845; border-color: #be2845; }
#view-home .cinema-hero .btn-red:is(:hover, :focus-visible) { background: #a71e3a; border-color: #a71e3a; }
#view-home .cinema-hero .btn-outline { color: #202436; background: transparent; border-color: rgb(32 36 54 / .40); }
#view-home .cinema-hero .btn-outline:is(:hover, :focus-visible) { background: rgb(255 240 217 / .38); border-color: #be2845; }
#view-home .cinema-hero .btn-discord { color: #fff0d9; background: #202436; border-color: #202436; }
#view-home .cinema-hero .btn-discord:is(:hover, :focus-visible) { background: #39405a; border-color: #39405a; }
#view-home .cinema-hero a:focus-visible { outline: 2px solid #be2845; outline-offset: 4px; }
#view-home .cinema-backdrop,
#view-home .cinema-shade,
#view-home .hero-scroll-shade,
#view-home .hero-seal,
#view-home .hero-shutter {
  display: none;
}
#view-home .title-outline {
  -webkit-text-stroke-color: #202436;
  opacity: .04 !important;
}
#view-home .title-outline-red { -webkit-text-stroke-color: #be2845; }
#view-home .hero-ghost {
  -webkit-text-stroke-color: rgb(32 36 54 / .07);
}
#view-home .cinema-copy { max-width: 57%; }
#view-home .hero-support { flex-wrap: wrap; gap: 18px 26px; }
#view-home .cinema-lead { flex-shrink: 1; }
#view-home .cinema-hero .hero-support,
#view-home .cinema-hero .cinema-eyebrow {
  animation: none;
  opacity: 1;
  transform: none;
}
.ax-orbit-poster,
.ax-orbit-join-poster {
  position: absolute;
  aspect-ratio: 1;
  pointer-events: none;
  user-select: none;
  opacity: 1;
  transition: opacity .36s ease;
}
.ax-orbit-poster {
  left: var(--ax-poster-x, 71%);
  top: var(--ax-poster-y, 47.5%);
  width: var(--ax-poster-size, calc((100svh - var(--header-height, 82px)) * .93));
  transform: translate(-50%, -50%);
  z-index: 1;
}
.ax-orbit-join-poster {
  left: var(--ax-join-poster-x, 76%);
  top: var(--ax-join-poster-y, 46%);
  width: var(--ax-join-poster-size, calc((100svh - var(--header-height, 82px)) * .65));
  transform: translate(-50%, -50%);
  z-index: 1;
}
.ax-orbit-poster img,
.ax-orbit-join-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#view-home .cinema-hero.ax-orbit-3d-ready .ax-orbit-poster,
#join-us.ax-orbit-3d-ready .ax-orbit-join-poster {
  opacity: 0;
}
#join-us .join-topline,
#join-us .join-heading,
#join-us .join-base,
#join-us .join-signoff { position: relative; z-index: 3; }
.ax-orbit-host.ax-orbit-docked {
  position: absolute;
  inset: auto;
  top: var(--ax-dock-top);
  left: var(--ax-dock-left, 0px);
  width: var(--ax-dock-width);
  height: var(--ax-dock-height);
}
.ax-orbit-host {
  position: fixed;
  inset: var(--header-height, 82px) 0 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: layout paint style;
}
.ax-orbit-host[hidden] { display: none !important; }
.ax-orbit-canvas {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity .32s ease;
}
.ax-orbit-host.ax-orbit-painted .ax-orbit-canvas { opacity: 1; }
.ax-orbit-graph {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
}
.ax-orbit-graph-links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: #dc5363;
  stroke-width: 1;
  stroke-opacity: .58;
  vector-effect: non-scaling-stroke;
}
.ax-orbit-graph-links path,
.ax-orbit-graph-links line {
  vector-effect: non-scaling-stroke;
}
.ax-orbit-graph-label {
  position: absolute;
  color: #f4e8eb;
  text-align: center;
  font-family: inherit;
  font-size: clamp(12px, 1.15vw, 18px);
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  letter-spacing: .06em;
  transform: translate(-50%, 30px);
  text-shadow: 0 2px 14px #000;
}
.ax-orbit-graph-label small {
  display: block;
  color: #ba8f99;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .14em;
  margin-top: 6px;
}

@media (min-width: 1000px) {
  /* The same final composition remains available without WebGL. */
  #join-us {
    min-height: calc(100svh - var(--header-height, 82px));
    padding-block: clamp(60px, 9vh, 110px) 32px;
  }
  #join-us .join-heading,
  #join-us .join-base { width: 54%; max-width: 760px; }
  #join-us .join-base { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #join-us .join-arrow { display: none; }
  #join-us .join-links { gap: 12px; }
  #join-us .join-link { padding: 22px 18px; }
  #join-us .join-link strong { font-size: clamp(16px, 1.45vw, 23px); }
  #join-us .join-signoff { margin-top: 72px; }
}

@media (min-width: 1000px) and (min-height: 650px) and (prefers-reduced-motion: no-preference) {
  html.ax-home-orbit-enabled #view-home {
    position: relative;
    isolation: isolate;
  }
  html.ax-home-orbit-enabled #view-home .hero-seal,
  html.ax-home-orbit-enabled #view-home .org-emblem {
    visibility: hidden;
    pointer-events: none;
  }
  html.ax-home-orbit-enabled #view-home .org-emblem { display: none; }
  html.ax-home-orbit-enabled #view-home .cinema-copy { max-width: 57%; }
  html.ax-home-orbit-enabled #view-home .hero-support {
    flex-wrap: wrap;
    gap: 18px 26px;
  }
  html.ax-home-orbit-enabled #view-home .cinema-lead { flex-shrink: 1; }

  /* The separated ring occupies the left of the real overview section. */
  html.ax-home-orbit-enabled #org-introduction {
    display: block;
    max-width: none;
    min-height: calc(100svh - var(--header-height, 82px));
    padding: clamp(60px, 8vh, 100px) var(--home-pad) 100px 54%;
  }
  html.ax-home-orbit-enabled #org-introduction .org-brand-panel {
    position: relative;
    z-index: 3;
    display: block;
    min-height: 0;
  }
  html.ax-home-orbit-enabled #org-introduction .org-brand-panel h2 {
    font-size: clamp(36px, 4.4vw, 74px);
    margin: 24px 0 30px;
  }
  html.ax-home-orbit-enabled #org-introduction .org-since {
    margin: 0 0 32px;
  }
  html.ax-home-orbit-enabled #org-introduction .org-since strong {
    font-size: clamp(52px, 5.2vw, 82px);
  }
  html.ax-home-orbit-enabled #org-introduction .org-prose { min-width: 0; }
  html.ax-home-orbit-enabled #org-introduction .org-story { position: relative; z-index: 3; }
  html.ax-home-orbit-enabled #org-introduction .org-intro-lead {
    font-size: clamp(25px, 2.55vw, 40px);
  }
  html.ax-home-orbit-enabled #org-introduction .org-company { display: block; }

  /* The untouched photo carousel remains the focal point after the ring. */
  html.ax-home-orbit-enabled #home-moments { position: relative; }
  html.ax-home-orbit-enabled #home-moments .archive-viewport {
    transform-origin: center center;
  }

  /* Four detached nodes illustrate the board and the actual three divisions.
   * All detailed descriptions stay on the right and can extend naturally.
   */
  html.ax-home-orbit-enabled #home-structure {
    min-height: calc(100svh - var(--header-height, 82px));
    padding: 90px var(--home-pad) 100px 54%;
  }
  html.ax-home-orbit-enabled #home-structure .structure-title {
    font-size: clamp(40px, 5vw, 80px);
    margin: 24px 0 36px;
  }
  html.ax-home-orbit-enabled #home-structure .structure-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  html.ax-home-orbit-enabled #home-structure .structure-board { margin-bottom: 28px; }
  html.ax-home-orbit-enabled #home-structure .structure-board > div { gap: 12px; }
  html.ax-home-orbit-enabled #home-structure .structure-division { padding-top: 22px; }
  html.ax-home-orbit-enabled #home-structure .structure-division .manifesto-line {
    font-size: clamp(28px, 3vw, 46px);
  }
  html.ax-home-orbit-enabled #home-structure .structure-summary {
    min-height: 0;
    margin-top: 12px;
  }
  html.ax-home-orbit-enabled #home-structure .structure-detail {
    margin-top: 16px;
    gap: 10px;
  }
  html.ax-home-orbit-enabled #home-structure::after { opacity: .35; }

  /* The logo gathers on the right; joining links remain real, reachable links. */
  html.ax-home-orbit-enabled #join-us {
    min-height: calc(100svh - var(--header-height, 82px));
    padding-block: clamp(60px, 9vh, 110px) 32px;
  }
  html.ax-home-orbit-enabled #join-us .join-heading,
  html.ax-home-orbit-enabled #join-us .join-base {
    width: 54%;
    max-width: 760px;
  }
  html.ax-home-orbit-enabled #join-us .join-heading h2 {
    font-size: clamp(52px, 6.4vw, 104px);
  }
  html.ax-home-orbit-enabled #join-us .join-arrow { display: none; }
  html.ax-home-orbit-enabled #join-us .join-base {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  html.ax-home-orbit-enabled #join-us .join-links { gap: 12px; }
  html.ax-home-orbit-enabled #join-us .join-link { padding: 22px 18px; }
  html.ax-home-orbit-enabled #join-us .join-link strong {
    font-size: clamp(16px, 1.45vw, 23px);
  }
  html.ax-home-orbit-enabled #join-us .join-signoff { margin-top: 72px; }

  /* Only a live 3D journey may withhold this brief, noninteractive reveal.
   * Focus restores everything immediately; fallback and reduced motion never
   * receive the pending state, so their information is always available.
   */
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-pending:not(:focus-within) .join-heading,
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-pending:not(:focus-within) .join-base > p,
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-pending:not(:focus-within) .join-link {
    opacity: 0;
    translate: 0 16px;
    pointer-events: none;
  }
  html.ax-home-orbit-enabled #join-us .join-heading,
  html.ax-home-orbit-enabled #join-us .join-base > p,
  html.ax-home-orbit-enabled #join-us .join-link {
    transition: opacity .45s ease, translate .6s cubic-bezier(.16,1,.3,1), background .35s, color .35s;
  }
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-arrived .join-heading { transition-delay: 0s; }
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-arrived .join-base > p { transition-delay: .07s; }
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-arrived .join-link:nth-child(1) { transition-delay: .14s; }
  html.ax-home-orbit-enabled #join-us.ax-orbit-join-arrived .join-link:nth-child(2) { transition-delay: .21s; }
}

/* Small screens keep the complete existing 2D page. The controller also stops
 * rendering here; this rule avoids a transient canvas during a resize.
 */
@media (max-width: 999px), (max-height: 649px), (prefers-reduced-motion: reduce) {
  .ax-orbit-host { display: none; }
}
@media (max-width: 999px) {
  #view-home .cinema-hero {
    display: flex;
    flex-direction: column;
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 38px var(--home-pad) 28px;
  }
  #view-home .hero-topline {
    position: relative;
    inset: auto;
    justify-content: flex-start;
    margin-bottom: 30px;
  }
  #view-home .hero-topline > span:last-child { display: block; }
  #view-home .cinema-copy {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
  }
  #view-home .cinema-copy h1 { font-size: clamp(48px, 10.4vw, 104px); line-height: 1.18; }
  #view-home .hero-support { display: block; }
  #view-home .cinema-lead { border: 0; padding: 0; }
  #view-home .cinema-actions { margin-top: 22px; gap: 22px; }
  #view-home .ax-orbit-poster {
    position: relative;
    inset: auto;
    width: min(100%, 520px);
    align-self: center;
    transform: none;
    margin: 8px 0 0;
  }
  #view-home .hero-baseline {
    position: relative;
    inset: auto;
    min-height: 0;
    padding-top: 22px;
    margin-top: 0;
  }
  #view-home .hero-ghost { bottom: 70px; }
  #join-us .ax-orbit-join-poster {
    position: relative;
    inset: auto;
    width: min(76%, 380px);
    margin: 12px auto 18px;
    transform: none;
  }
  /* The static mark precedes the title in source for desktop positioning;
   * grid places it below the title on narrow screens without absolute copy.
   */
  #join-us { display: grid; grid-template-columns: minmax(0, 1fr); }
  #join-us .join-topline { grid-row: 1; }
  #join-us .join-heading { grid-row: 2; }
  #join-us .ax-orbit-join-poster { grid-row: 3; }
  #join-us .join-base { grid-row: 4; }
  #join-us .join-signoff { grid-row: 5; }
  #join-us .join-ghost { grid-row: 1/-1; }
  #join-us .join-arrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ax-orbit-poster,
  .ax-orbit-join-poster { transition: none; }
}
@media print {
  .ax-orbit-host { display: none !important; }
}
