.portrait-hero [data-reveal] {
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
}
.portrait-hero .portrait-greeting { position: relative; }
.portrait-hero .portrait-greeting.is-reeling { color: transparent; }
.portrait-hero .greeting-reel {
  position: absolute;
  inset: -12px 0;
  overflow: hidden;
  pointer-events: none;
  color: var(--portrait-ink);
}
.portrait-hero .greeting-reel-word {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  white-space: nowrap;
  line-height: inherit;
}
.portrait-hero .portrait-stage { z-index: 1; }
.portrait-hero .portrait-editorial {
  position: absolute;
  z-index: 0;
  left: 30px;
  right: 30px;
  height: 60px;
  overflow: hidden;
  opacity: .13;
  pointer-events: none;
}
.portrait-hero .portrait-editorial-track {
  display: flex;
  width: max-content;
  animation: portrait-editorial-marquee 22s linear infinite;
}
.portrait-hero .portrait-editorial-group {
  display: flex;
  flex: none;
  align-items: center;
  gap: 40px;
  padding-right: 40px;
}
.portrait-hero .portrait-editorial-word {
  display: block;
  color: #141414;
  font: 600 var(--editorial-font-size, 56px)/1.05 var(--sans);
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
}
[data-theme="dark"] .portrait-hero .portrait-editorial-word { color: #a0a0a0; }
@media (max-width: 800px) {
  .portrait-hero .portrait-editorial { left: 18px; right: 18px; }
}
@keyframes portrait-editorial-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (hover: hover) and (pointer: fine) {
  .portrait-hero .portrait-links a { position: relative; }
  .portrait-hero .portrait-links a::after {
    content: "";
    position: absolute;
    left: -3px;
    right: -3px;
    bottom: -1px;
    height: 1px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(.94);
    transition: opacity 240ms ease, transform 300ms var(--ease-out);
    pointer-events: none;
  }
  .portrait-hero .portrait-links a span { transition: translate 300ms var(--ease-out); }
  .portrait-hero .portrait-links a:hover::after { opacity: 1; transform: scaleX(1); }
  .portrait-hero .portrait-links a:hover span { translate: 0 -1px; }
  .portrait-hero .portrait-links a:first-child:hover svg { transform: translateY(4px); }
  .portrait-hero .portrait-links a:last-child:hover svg { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  .portrait-hero .portrait-hero-image,
  .portrait-hero .portrait-links a span,
  .portrait-hero .portrait-links a::after,
  .portrait-hero .portrait-links a svg { transition: none; translate: none; }
  .portrait-hero .portrait-links a:hover svg,
  .portrait-hero .portrait-links a:hover span { transform: none; translate: none; }
  .portrait-hero .portrait-editorial-track { animation: none; transform: none; }
}
