.project { --paper: #fbf5ef; }
.project[aria-labelledby="project-solvr"] { --paper: #d8e0ef; }
.project[aria-labelledby="project-mirae"] { --paper: #f4e2c8; }
.project .sheet, .project .sheet::after { background: var(--paper); }


.gal-slide:has(.reunited-macbook) { flex: 0 0 auto; aspect-ratio: 1800 / 1095; background: transparent; }
.gal-slide .reunited-macbook { display: block; width: 100%; height: 100%; }

.gal-slide:has(.mirae-glass-svg) { background: transparent; }
.gal-slide .mirae-glass-svg { display: block; width: 100%; height: 100%; }

.gal-slide:has(.mirae-glass-cutout) { background: transparent; }
.gal-slide img.mirae-glass-cutout { position: static; display: block; width:100%; height:100%; max-width:none; object-fit:contain; background:transparent; }

.gal-slide.reunited-ipad-slide { flex: 0 0 auto; aspect-ratio: 804 / 1049; background: transparent; }
.gal-slide img.reunited-ipad { position: static; display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; }

.vita-strip:has(.vita-video) { align-items: flex-start; }
.vita-fig-lead:has(.vita-video) { width: calc(66.1 * var(--u)); }
.vita-video { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #181716; }
.vita-video video { display: block; width: 100%; height: 100%; object-fit: contain; }
.vita-strip:has(.vita-video) .vita-fig-mid { width: calc(29.27 * var(--u)); }
.vita-strip:has(.vita-video) .vita-fig-mid .vita-photo { height: calc(37.18125 * var(--u)); }
@media (max-width: 699px) {
  .vita-fig-lead:has(.vita-video), .vita-strip:has(.vita-video) .vita-fig-mid { width: auto; }
  .vita-strip:has(.vita-video) .vita-fig-mid .vita-photo { height: auto; }
}

.wine-lettering {
  color: #80021f;
  background-image: linear-gradient(180deg, #94052d 0%, #94052d 26.7%, #6a041a 47.7%, #92042a 68.3%, #890225 75.6%, #7a0320 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (min-width: 700px) {
  .font-tiempos .wine-lettering { background-image: linear-gradient(180deg, #94052d 0%, #94052d 8.1%, #6a041a 37.6%, #92042a 66.5%, #890225 78.3%, #7a0320 100%); }
}
.hello-dance-art { display: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hello-title { position: relative; }
  .hello-dance-art { display: block; position: absolute; inset: 0; pointer-events: none; }
  .hello-letter { position: absolute; display: block; white-space: pre; transform-origin: 50% 85%; }
  .hello-title.is-dancing .hello-title-text { color: transparent; }
  .hello-title:not(.is-dancing) .hello-dance-art { visibility: hidden; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hello-links a { transition: background-size 0.35s ease, color 0.2s ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1); }
  .hello-links a:hover { transform: translateY(-0.12em) rotate(-2deg); }
  .hello-links li:nth-child(2) a:hover { transform: translateY(-0.12em) rotate(2deg); }
}
