/* STUDIO / MUSIC on the ASTRA MOTION logo stop (4.35). The two paths flank the emblem like a fork,
   set in the wordmark's own type; a prompt names the moment (owner direction, 2026-10-08).
   --spread is driven by universe.js so the words drift apart as the camera flies on.
   Then the cut into /music along MUSIC's own hairline (.music-cut). */
.portal-choice{--spread:0;position:absolute;inset:0;pointer-events:none;opacity:0}
html:not(.experience-on) .portal-choice{display:none}
.portal-option{position:absolute;top:49%;display:grid;gap:16px;padding:22px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;pointer-events:auto;opacity:.74;transition:opacity .45s var(--ease-std)}
.portal-option[data-portal=studio]{right:calc(50% + clamp(150px,13vw,230px));justify-items:end;text-align:right;transform:translate(calc(var(--spread)*-1px),-50%)}
.portal-option[data-portal=music]{left:calc(50% + clamp(150px,13vw,230px));justify-items:start;text-align:left;transform:translate(calc(var(--spread)*1px),-50%)}
.po-name{position:relative;font:500 clamp(24px,2.8vw,44px)/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase}
[data-portal=studio] .po-name{margin-right:-.22em}
.po-sub{display:flex;gap:12px;align-items:baseline;font:400 12px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}
.po-sub [lang=ja]{font:400 12px/1 var(--font-ja);letter-spacing:.12em;text-transform:none;color:var(--text-2)}
.po-line{position:absolute;top:50%;width:clamp(36px,4.6vw,84px);height:1px;background:currentColor;opacity:.45;transition:transform .7s var(--ease-expo),opacity .45s var(--ease-std)}
[data-portal=studio] .po-line{left:calc(100% + 18px);transform-origin:0 50%}
[data-portal=music] .po-line{right:calc(100% + 18px);transform-origin:100% 50%}
.portal-option:is(:hover,:focus-visible){opacity:1;outline:none}
.portal-option:is(:hover,:focus-visible) .po-line{transform:scaleX(1.5);opacity:1}
.portal-choice:has(.portal-option:is(:hover,:focus-visible)) .portal-option:not(:hover,:focus-visible){opacity:.42}
.portal-prompt{position:absolute;left:0;right:0;bottom:34px;display:flex;justify-content:center;align-items:center;gap:14px;font:400 12px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);pointer-events:none}
.portal-prompt [lang=ja]{font-family:var(--font-ja);letter-spacing:.12em;text-transform:none}
.portal-prompt i{width:40px;height:1px;background:var(--line-2)}
/* Phones: the fork no longer fits beside the emblem, so the two paths become columns under the tagline. */
@media (max-width:700px){
  .portal-option{top:75%;width:calc(50% - var(--gutter) - 8px);padding:16px 0 6px;gap:12px}
  .portal-option[data-portal=studio]{right:auto;left:var(--gutter);justify-items:start;text-align:left;transform:translateY(calc(var(--spread)*1px))}
  .portal-option[data-portal=music]{left:auto;right:var(--gutter);justify-items:end;text-align:right;transform:translateY(calc(var(--spread)*1px))}
  .portal-option::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line-2)}
  [data-portal=studio] .po-name{margin-right:0}
  .po-name{font-size:22px;letter-spacing:.2em}
  .po-line{display:none}
  .po-sub{flex-direction:column;gap:8px;font-size:10px}
  [data-portal=music] .po-sub{align-items:flex-end}
  .portal-prompt{bottom:max(28px,env(safe-area-inset-bottom))}
}
@media (max-width:700px) and (max-height:700px){.portal-prompt{display:none}}

.music-cut{position:fixed;inset:0;z-index:var(--z-cut);pointer-events:none;visibility:hidden}
.music-cut.is-on{visibility:visible;pointer-events:auto}
.mc-black{position:absolute;inset:0;background:#000;opacity:0}
.mc-line{position:absolute;left:0;top:0;width:100%;height:1px;margin-top:-.5px;background:rgba(243,241,233,.55);opacity:0}
