.ride-invitation { grid-template-columns: minmax(240px,.95fr) minmax(0,1.2fr); gap: clamp(1rem,3vw,3rem); padding: 1.5rem clamp(1.2rem,3vw,3rem); overflow: hidden; }
.ride-invitation .ride-portrait { position: relative; width: min(100%,350px); grid-row: auto; margin: auto; isolation: isolate; }
.ride-invitation .ride-portrait::before { content: ''; position: absolute; inset: 12% 6% 5%; background: var(--lime); border: 2px solid var(--ink); transform: rotate(-6deg); z-index: -1; }
.business-reveal { display: none; position: absolute; inset: 0; opacity: 0; clip-path: inset(100% 0 0); transition: clip-path .7s cubic-bezier(.22,.68,.2,1),opacity 0s .7s; }
.business-sprite { display: block; width: 100%; height: 100%; background: url('assets/nicki-business-transform.8f586fe69889.webp') no-repeat; background-size: var(--business-size); background-position: var(--business-position); clip-path: var(--business-clip); }
.outfit-ready .business-reveal { display: block; }
.outfit-ready .ride-portrait > .unicorn-rider-sprite { visibility: hidden; }
.business-reveal[data-reveal='0'],.ride-invitation[data-outfit-step='1'] .business-reveal[data-reveal='1'],.ride-invitation[data-outfit-step='2'] .business-reveal[data-reveal='1'],.ride-invitation[data-outfit-step='2'] .business-reveal[data-reveal='2'] { clip-path: inset(0); }
.ride-invitation[data-outfit-step='0'] .business-reveal[data-reveal='0'],.ride-invitation[data-outfit-step='1'] .business-reveal[data-reveal='1'],.ride-invitation[data-outfit-step='2'] .business-reveal[data-reveal='2'] { opacity: 1; transition-delay: 0s,0s; }
.outfit-badge { display: none; position: absolute; top: 1%; left: 2%; z-index: 5; padding: .45rem .65rem; background: var(--ink); color: var(--lime); border: 2px solid var(--ink); font: 700 .875rem var(--body); transform: rotate(-7deg); }
.outfit-ready .outfit-badge { display: block; }
.ride-invitation[data-outfit='business'] .outfit-badge { color: var(--ink); background: var(--pink); }
.ride-sheen { display: none; position: absolute; inset: 10% -10%; z-index: 4; pointer-events: none; background: linear-gradient(110deg,transparent 42%,#f2f0e9aa 48%,transparent 56%); transform: translateX(-110%); }
.is-changing .ride-sheen { display: block; animation: suit-sheen 3s ease-in-out both; }
.ride-copy { position: relative; z-index: 1; min-width: 0; }
.ride-copy .eyebrow { font-size: .875rem; margin-bottom: .8rem; }
.ride-invitation h3 { font-size: clamp(2rem,3.5vw,3.7rem); }
.ride-invitation h3 span { color: var(--paper); -webkit-text-stroke: 1px var(--ink); text-shadow: 2px 2px 0 var(--ink); }
.ride-invitation #outfit-caption { min-height: 3em; max-width: 29rem; margin: 1rem 0; font: 750 1rem/1.5 var(--body); }
.outfit-steps { display: none; list-style: none; padding: 0; margin: 1rem 0; gap: .35rem; }
.outfit-ready .outfit-steps { display: flex; }
.outfit-steps li { flex: 1; min-width: 0; padding-top: .45rem; border-top: 3px solid #14141450; font: 700 .875rem/1.3 var(--body); }
.outfit-steps li[aria-current] { border-color: var(--ink); }
.ride-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.2rem; }
.ride-invitation .ride-actions .button { min-height: 48px; white-space: normal; margin: 0; font-size: .875rem; padding: .85rem 1rem; }
.outfit-toggle { background: var(--paper); color: var(--ink); border: 2px solid var(--ink); }
.outfit-toggle:hover { background: var(--pink); }
.outfit-toggle[aria-disabled='true'] { cursor: progress; }
.outfit-toggle[hidden] { display: none; }
#outfit-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.ride-invitation.is-instant .business-reveal { transition: none; }
.ride-invitation.is-instant .ride-sheen { display: none; }
.unicorn-business-sprite { display: none; transform: scaleX(var(--unicorn-facing,1)); }
.unicorn-layer.is-ridden.is-business .unicorn-rider-sprite { display: none; }
.unicorn-layer.is-ridden.is-business .unicorn-business-sprite { display: block; }
@keyframes suit-sheen { from { transform: translateX(-110%); } to { transform: translateX(110%); } }
@media(max-width:760px) {
  .ride-invitation { grid-template-columns: 1fr; text-align: left; padding: 1.25rem; gap: .9rem; }
  .ride-invitation .ride-portrait { width: min(100%,300px); }
  .ride-invitation h3 { font-size: clamp(2rem,7.5vw,3rem); }
  .ride-actions .button { flex: 1 1 12rem; justify-content: center; }
}
@media(prefers-reduced-motion:reduce) { .business-reveal { transition: none; } .is-changing .ride-sheen { display: none; } }
