.variation .profile-title h1 { font-size: clamp(1.8rem,3.6vw,2.6rem); line-height: 1.15; }
.variation .profile-title strong { display:inline; }
.headline-rest { display:block; font-weight:400; margin-top:.15em; }
.variation .profile-header { max-width:800px; }
.linked-card { position:relative; isolation:isolate; }
.card-destination::after { content:''; position:absolute; inset:0; border-radius:inherit; z-index:2; }
.linked-card:focus-within { outline:2px solid #733b88; outline-offset:4px; }
.linked-card video, .linked-card .demo-source { position:relative; z-index:3; }
.linked-card .media-frame { cursor:pointer; }
.variation .stage-recap { background:#e5cbee; color:#63356d; }
.variation .stage-dance { background:#f1b9ce; color:#792f4d; }
.variation .stage-moving { background:#d5e4c5 !important; color:#385029 !important; }
.variation .stage-ship { background:#f0c7b2; color:#793f2c; }
.cards .product-bread { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); padding:1.5rem; gap:1.5rem; }
.cards .product-bread .project-visual { margin:-.5rem; }
.cards .product-bread .project-visual img { width:100%; }
.simple-description { margin-top:1.15rem; color:#55455a; line-height:1.6; }
.playroom .project-bread { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:0 2rem; padding:1.6rem; }
.playroom .project-bread .project-top { grid-column:1; }
.playroom .project-bread .simple-description { grid-column:1; grid-row:2; margin-top:0; align-self:start; }
.playroom .project-bread .media-frame { grid-column:2; grid-row:1 / 3; align-self:center; }
.playroom .project-bread .media-frame img { aspect-ratio:auto; }
.dance-visual { position:relative; margin-top:1.4rem; height:310px; overflow:hidden; border-radius:12px; background:#fff; }
.dance-calendar { display:block; width:150%; height:100%; object-fit:cover; object-position:left center; opacity:.9; }
.dance-detail { position:absolute; right:14px; top:12px; height:calc(100% - 24px); width:auto; max-width:65%; object-fit:contain; border-radius:9px; box-shadow:0 4px 20px #31223528; }
.cards .product-dance { padding-bottom:1.5rem; }
.falling-flowers { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.falling-flowers img { position:absolute; left:var(--left); top:-30px; width:18px; height:18px; opacity:.4; animation:petal-fall var(--duration) var(--delay) linear infinite; }
.playroom > .container, .playroom > .variation-nav { position:relative; z-index:1; }
@keyframes petal-fall { 0% { transform:translate(0,-30px) rotate(0); } 50% { transform:translate(24px,50vh) rotate(130deg); } 100% { transform:translate(-12px,calc(100vh + 40px)) rotate(260deg); } }
.flower-toggle { position:fixed; bottom:1rem; right:1rem; z-index:4; border:1px solid #a878b8; border-radius:2rem; padding:.45rem .8rem; color:#532966; background:#f8ecfc; font:500 .875rem 'Bricolage Grotesque',sans-serif; cursor:pointer; }
.flowers-off .falling-flowers { display:none; }
@media(max-width:640px) {
 .cards .product-bread, .playroom .project-bread { display:flex; flex-direction:column; gap:0; }
 .cards .product-bread .project-visual { margin:1rem 0 0; }
 .playroom .project-bread .simple-description { margin-top:1rem; }
 .dance-visual { height:280px; }
 .variation .profile-image { width:85px; height:85px; }
}
@media(prefers-reduced-motion:reduce) { .falling-flowers, .flower-toggle { display:none; } }
