/* A shared movement language, with the existing page composition intact. */
.brand-slogan > .slogan-line { display: block; }
.brand-slogan > .slogan-line:first-child { color: #FFFFFF; }
.brand-slogan > .slogan-line:last-child { color: #C2CEF2; }
html.papyon-motion-ready .brand-slogan > .slogan-line { animation: sloganArrive 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: 1900ms; }
html.papyon-motion-ready .brand-slogan > .slogan-line:last-child { animation-delay: 2160ms; }
@keyframes sloganArrive { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.experience-card { isolation: isolate; }
.experience-card-link { position: absolute; inset: 0; z-index: 2; }
.experience-card img { transition: transform 550ms cubic-bezier(.22,1,.36,1); }
.experience-card .experience-bottom { transition: transform 350ms ease; }
.experience-card:focus-within { outline: 3px solid #C2CEF2; outline-offset: 4px; }
.experience-card:active, .dance-catalog-item:active { box-shadow: inset 0 0 0 2px #C2CEF2; }
@media (hover:hover) and (pointer:fine) {
    .experience-card:hover img, .experience-card:focus-within img { transform: scale(1.045); }
    .experience-card:hover .experience-bottom, .experience-card:focus-within .experience-bottom { transform: translateY(-6px); }
}
.experience-card::after { position: absolute; z-index: 3; inset: 0; content: ''; pointer-events: none; background: #1F4FD8; clip-path: polygon(0 0,50% 38%,100% 0,100% 100%,50% 62%,0 100%); opacity: 0; }
html.papyon-motion-ready .experience-card.has-bow-reveal::after { animation: bowReveal 620ms cubic-bezier(.22,1,.36,1) both; }
@keyframes bowReveal { 0% { opacity: 1; transform: scaleX(1); } 80% { opacity: .8; } 100% { opacity: 0; transform: scaleX(0); } }
.rhythm-line { display: block; width: min(180px,40vw); height: 2px; margin: 0 0 24px; background: rgba(141,180,230,.25); overflow: hidden; }
.rhythm-line::after { display: block; content: ''; height: 100%; background: #8DB4E6; transform: scaleX(0); transform-origin: left; transition: transform 650ms cubic-bezier(.22,1,.36,1); }
.rhythm-line.is-drawn::after { transform: scaleX(1); }
.statement .rhythm-line::after, .google-gallery .rhythm-line::after { background: #1F4FD8; }
.statement .section-label, .google-gallery .section-label { color: #1F4FD8; }
.first-step { color: #FFFFFF; }
.first-step .section-label { color: #C2CEF2; }
.first-step .rhythm-line::after { background: #C2CEF2; }
.hero-primary, .final-button, .google-gallery-action { transition: box-shadow 200ms ease, background-color 200ms ease; }
.hero-primary:focus-visible, .final-button:focus-visible, .google-gallery-action:focus-visible { box-shadow: 0 0 0 4px #C2CEF2; }
@media(max-width:760px) { html.papyon-motion-ready .brand-slogan > .slogan-line { animation-duration: 420ms; } .rhythm-line { margin-bottom: 18px; } }
@media(prefers-reduced-motion:reduce) {
    html.papyon-motion-ready .brand-slogan > .slogan-line, html.papyon-motion-ready .experience-card.has-bow-reveal::after { animation: none; opacity: 1; transform: none; }
    html.papyon-motion-ready .experience-card.has-bow-reveal::after { opacity: 0; }
    .experience-card img, .experience-card .experience-bottom, .rhythm-line::after { transition: none; }
    .rhythm-line::after { transform: scaleX(1); }
    .experience-card:hover img, .experience-card:hover .experience-bottom { transform: none; }
}
