.portfolio-home .home-portrait { aspect-ratio: 1220 / 1289; overflow: visible; }
  :root { --signal-cyan:#44E7FF; --signal-blue:#4C78FF; --signal-magenta:#EB48F8; --signal-lime:#B9F43A; --signal-orange:#FF7548; }
  .portfolio-home > main, .portfolio-home > .home-footer { position: relative; z-index: 1; }
  .portfolio-home #interactive-portrait { position: absolute; z-index: 0; top: 0; left: 0; display: block; background: transparent; pointer-events: none; }

  /* Preserve the real heading for layout, selection, and assistive technology. */
  .portfolio-home .home-ribbon-track { animation: home-marquee 42s linear infinite; }
  .portfolio-home .home-ribbon:hover .home-ribbon-track,
  .portfolio-home .home-ribbon:focus-within .home-ribbon-track,
  .portfolio-home .home-ribbon.is-paused .home-ribbon-track { animation-play-state: paused; }
  @keyframes home-marquee { to { transform: translateX(-50%); } }

  .portfolio-home .home-project-toggle { transition: background .18s; }
  .portfolio-home .home-plus::after { transition: transform .2s; }
  .portfolio-home .home-title-cursor {
    position: fixed;
    z-index: 100;
    display: none;
    pointer-events: none;
    transform: translate(8px, 8px);
    font-size: 24px;
    line-height: 1;
    opacity: 0;
    transition: opacity 120ms ease;
  }
  .portfolio-home .home-title-cursor.is-visible { opacity: 1; }
  @media (hover: hover) and (pointer: fine) {
    .portfolio-home .home-intro { cursor: none; }
    .portfolio-home .home-title-cursor { display: block; }
  }

  .portfolio-home .home-intro.is-particle-ready,
  .portfolio-home .home-intro.is-particle-ready em { color: transparent; }
  @media print {
    .portfolio-home .home-intro.is-particle-ready { color: var(--ink); }
    .portfolio-home .home-intro.is-particle-ready em { color: var(--accent); }
    .portfolio-home #interactive-portrait { display: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    .portfolio-home .home-ribbon-track { animation: none; }
    .portfolio-home *,
    .portfolio-home *::before,
    .portfolio-home *::after { transition: none !important; scroll-behavior: auto !important; }
  }
