/* Hospitality world: ticket stack, commissions, where guests decide. */
.wd-hero--tix .wd-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.wy { position: relative; padding: 40px 0 24px; }
.wy-stack { position: relative; height: 300px; perspective: 1400px; }
.wy-tk { position: absolute; inset: 0 30px 0 0; display: grid; grid-template-columns: minmax(0, 1fr) 150px; border-radius: 22px; background: #FFFBF3; color: #283850; box-shadow: 0 30px 70px rgba(0,0,0,.45); opacity: 0; transform: translate(40px, 30px) rotate(4deg) scale(.94); transition: transform .7s cubic-bezier(.16,1,.3,1), opacity .5s; pointer-events: none; }
.wy-tk.on { opacity: 1; transform: none; z-index: 3; pointer-events: auto; }
.wy-tk.nx { opacity: .55; transform: translate(22px, 18px) rotate(2.5deg) scale(.97); z-index: 2; }
.wy-tk.nx2 { opacity: .3; transform: translate(40px, 34px) rotate(5deg) scale(.94); z-index: 1; }
.wy-tk.out { opacity: 0; transform: translate(-60px, -20px) rotate(-6deg); z-index: 4; }
.wy-tk-main { display: flex; flex-direction: column; padding: 28px 28px 26px; }
.wy-tk-k { align-self: flex-start; padding: 4px 10px; border-radius: 99px; background: #0B1220; font-family: var(--font-mono); font-size: .58rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #3CC9A8; }
.wy-tk-t { margin: 18px 0 8px; font-family: var(--font-heading); font-size: 1.7rem; font-weight: 800; line-height: 1.1; letter-spacing: -.03em; color: #0B1220; }
.wy-tk-w { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; color: #19728A; }
.wy-tk-d { margin-top: auto; font-size: .86rem; color: #5B6B82; }
.wy-tk-stub { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 20px; border-left: 2px dashed #D9D2C2; }
.wy-tk-stub::before, .wy-tk-stub::after { content: ''; position: absolute; left: -13px; width: 24px; height: 24px; border-radius: 50%; background: #0B1220; }
.wy-tk-stub::before { top: -12px; } .wy-tk-stub::after { bottom: -12px; }
.wy-tk-no { font-family: var(--font-mono); font-size: .9rem; font-weight: 600; letter-spacing: .06em; color: #0B1220; }
.wy-tk-src { font-family: var(--font-heading); font-size: .84rem; font-weight: 700; color: #0B1220; }
.wy-tk-src em { display: block; font-style: normal; font-family: var(--font-mono); font-size: .54rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: #5B6B82; }
.wy-tk-ok { align-self: flex-start; padding: 6px 10px; border: 2px solid #11846B; border-radius: 6px; font-family: var(--font-mono); font-size: .58rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #11846B; transform: rotate(-6deg); }
.wy-dots { display: flex; gap: 8px; margin-top: 26px; }
.wy-dots button { width: 34px; height: 5px; padding: 0; border: 0; border-radius: 99px; background: rgba(238,241,246,.18); cursor: pointer; }
.wy-dots button.on { background: #3CC9A8; }

/* commissions */
.wy-dir { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.wy-dir-copy h2 { font-family: var(--font-heading); font-size: clamp(1.9rem, 3.4vw, 2.6rem); font-weight: 800; line-height: 1.1; letter-spacing: -.035em; color: #fff !important; margin: 16px 0 18px; }
.wy-dir-copy p { margin: 0 0 14px; font-size: 1rem; line-height: 1.7; color: #C4D0DD; }
.wy-dir-copy .wy-dir-small { font-size: .84rem; color: #9AA8BC; }
.wy-cc { display: grid; gap: 18px; padding: 28px; border-radius: 24px; background: rgba(238,241,246,.04); border: 1px solid rgba(238,241,246,.1); }
.wy-f { display: flex; flex-direction: column; gap: 10px; }
.wy-f > span { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #9AA8BC; }
.wy-f output { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 800; letter-spacing: 0; text-transform: none; color: #fff; }
html body .wy-cc input[type="range"] { width: 100%; height: 8px; border-radius: 99px; -webkit-appearance: none; appearance: none; background: rgba(238,241,246,.12) !important; border: 0 !important; outline: 0; }
.wy-cc input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #3CC9A8; border: 3px solid #0B1220; box-shadow: 0 0 0 2px #3CC9A8; cursor: pointer; }
.wy-cc input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #3CC9A8; border: 3px solid #0B1220; cursor: pointer; }
.wy-bars { display: grid; gap: 10px; padding: 16px 0 4px; border-top: 1px solid rgba(238,241,246,.08); }
.wy-bar span { display: block; margin-bottom: 6px; font-size: .78rem; color: #C4D0DD; }
.wy-bar i { display: flex; height: 16px; border-radius: 8px; overflow: hidden; background: rgba(238,241,246,.06); }
.wy-bar b { display: block; height: 100%; background: linear-gradient(90deg, #19728A, #34A3BC); transition: width .4s; }
.wy-bar em { display: block; height: 100%; background: repeating-linear-gradient(45deg, #E4717A 0 6px, #C2414B 6px 12px); transition: width .4s; }
.wy-bar--d b { background: linear-gradient(90deg, #19728A, #3CC9A8); }
.wy-out { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 10px; margin: 0; }
.wy-out div { padding: 12px 14px; border-radius: 14px; background: rgba(238,241,246,.04); border: 1px solid rgba(238,241,246,.08); }
.wy-out dt { font-size: .7rem; line-height: 1.35; color: #9AA8BC; }
.wy-out dd { margin: 6px 0 0; font-family: var(--font-heading); font-size: 1.3rem; font-weight: 800; color: #fff; }
.wy-out .wy-out-hi { background: linear-gradient(135deg, rgba(25,114,138,.35), rgba(60,201,168,.18)); border-color: rgba(60,201,168,.35); }
.wy-out .wy-out-hi dd { color: #3CC9A8; }
.wy-cc-note { margin: 0; font-size: .72rem; line-height: 1.5; color: #9AA8BC; }

/* where guests decide */
.wy-where { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.wy-where li { position: relative; padding: 24px 20px 22px; border-radius: 20px; background: var(--gx-card); border: 1px solid var(--gx-line); box-shadow: var(--gx-shadow); overflow: hidden; }
.wy-where li::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #19728A, #3CC9A8); transform: scaleX(0); transform-origin: left; }
.wy-where.in li::before { animation: wyLine .8s cubic-bezier(.16,1,.3,1) forwards; animation-delay: calc(var(--i) * 140ms); }
@keyframes wyLine { to { transform: scaleX(1); } }
.wy-w-k { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gx-accent); }
.wy-where h3 { margin: 12px 0 8px; font-family: var(--font-heading); font-size: 1.04rem; font-weight: 800; line-height: 1.25; color: var(--gx-ink); }
.wy-where p { margin: 0; font-size: .84rem; line-height: 1.55; color: var(--gx-body); }

@media (max-width: 1100px) {
    .wd-hero--tix .wd-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .wy { max-width: 620px; }
    .wy-dir { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .wy-where { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .wy { padding-top: 20px; }
    .wy-stack { height: 250px; }
    .wy-tk { inset: 0 16px 0 0; grid-template-columns: minmax(0, 1fr) 104px; }
    .wy-tk-main { padding: 20px 18px; }
    .wy-tk-t { font-size: 1.3rem; }
    .wy-tk-stub { padding: 20px 12px; }
    .wy-tk-no { font-size: .72rem; }
    .wy-cc { padding: 20px 16px; }
    .wy-out { grid-template-columns: 1fr 1fr; }
    .wy-out .wy-out-hi { grid-column: 1 / -1; }
    .wy-where { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .wy-tk { transition: none; } .wy-where.in li::before { animation: none; transform: none; } }
