/* Gemeinsame Bewegung: kurzer Film-Schnitt, Navigation bleibt verankert. */
@view-transition { navigation: auto; }
:root { --dhs-motion-ease: cubic-bezier(.22,1,.36,1); }
#nav { view-transition-name: dhs-navigation; }
::view-transition-group(*) { animation-duration: 420ms; animation-timing-function: var(--dhs-motion-ease); }
::view-transition-old(root) { animation: dhs-page-out 160ms ease-out both; }
::view-transition-new(root) { animation: dhs-page-in 420ms var(--dhs-motion-ease) both; }
::view-transition-old(dhs-navigation),::view-transition-new(dhs-navigation) { animation: none; mix-blend-mode: normal; }
@keyframes dhs-page-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes dhs-page-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
::view-transition-group(dhs-navigation) { animation: none; }
::view-transition-old(dhs-navigation) { opacity: 0; }
/* Angebotsseiten teilen die Serifensprache der Startseite; Produktstudien behalten ihre eigene Schrift. */
.dhs-product-page h1, .dhs-product-page h1.display { font-family: var(--serif,Georgia,serif) !important; font-weight: 500; text-transform: none; letter-spacing: -.045em; line-height: 1.08; font-size: clamp(2.25rem,4.8vw,4.6rem) !important; text-wrap: balance; }
.dhs-product-page h2.display { font-family: var(--serif,Georgia,serif) !important; font-weight: 500; text-transform: none; letter-spacing: -.035em; line-height: 1.12; text-wrap: balance; }
.dhs-product-page h1 .orange { color: var(--lime,#b8e834); }
.dhs-product-page h1 .line { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation: none !important; }
}

/* Alte Platzreserve für Stamps passt nicht zu den heutigen zweispaltigen Heros. */
.dhs-product-page .hero h1.display { max-width: 100% !important; }
.dhs-product-page h1 .brush, .dhs-product-page h1 .brush-orange { white-space: normal; }
.dhs-product-page h1 { overflow-wrap: break-word; }
