.spotlights,.curtains{pointer-events:none;position:absolute;inset:0;overflow:hidden}.spotlights i{pointer-events:none;background:conic-gradient(at 50% 0%, transparent 0 168deg, #ffd6e433 175deg 185deg, transparent 192deg);filter:blur(8px);transform-origin:50% 0;width:70vmax;height:130%;rotate:var(--from);animation:7s ease-in-out infinite alternate sway;position:absolute;top:-8%}.spotlights i:first-child{--from:-24deg;--to:-4deg;left:-22vmax}.spotlights i:last-child{--from:24deg;--to:4deg;animation-delay:-3.5s;right:-22vmax}@keyframes sway{to{rotate:var(--to)}}.sparkles i{top:var(--y);left:var(--x);width:var(--s,14px);aspect-ratio:1;pointer-events:none;background:var(--c,var(--color-champagne));clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:twinkle var(--t,3s) ease-in-out infinite;animation-delay:var(--d,0s);position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(90deg)}}.curtain{z-index:4;pointer-events:none;background:linear-gradient(#ffc8dc1f,#0000 25% 70%,#00000073),repeating-linear-gradient(90deg,#3d0420 0,#8a0f3f 16px,#c81e5e 27px,#8a0f3f 38px,#3d0420 56px);width:51%;transition:transform 2s cubic-bezier(.7,0,.2,1);position:absolute;top:0;bottom:0}.curtain.left{left:0;transform:translate(-80%);box-shadow:inset -40px 0 60px -20px #0009}.curtain.right{right:0;transform:translate(80%);box-shadow:inset 40px 0 60px -20px #0009}.curtains.closed .curtain{transform:translate(0)}.valance{z-index:5;pointer-events:none;filter:drop-shadow(0 8px 12px #00000073);background:radial-gradient(50% 100% at 50% 0,#a3144f 0 69%,#0000 70%) 0 0/clamp(56px,6vw,110px) 100% repeat-x;height:clamp(34px,6.5vh,70px);position:absolute;inset:0 0 auto}.valance:before{content:"";background:var(--foil);height:9px;position:absolute;inset:0 0 auto}
.pass{--pass-notch:.42em;width:min(100%,25em);font-size:var(--pass-size,clamp(.85rem, calc(var(--u) * 1.4), 2.1rem));color:#1d1026;filter:drop-shadow(0 1.2em 1.6em #28052859);grid-template-columns:1fr auto;line-height:1.25;display:grid}.pass-main,.pass-stub{background:#fff;padding:.9em 1.1em}.pass-main{-webkit-mask:radial-gradient(circle var(--pass-notch) at 100% 0, transparent 98%, #000) top right / 100% 51% no-repeat, radial-gradient(circle var(--pass-notch) at 100% 100%, transparent 98%, #000) bottom right / 100% 51% no-repeat;mask:radial-gradient(circle var(--pass-notch) at 100% 0, transparent 98%, #000) top right / 100% 51% no-repeat, radial-gradient(circle var(--pass-notch) at 100% 100%, transparent 98%, #000) bottom right / 100% 51% no-repeat;border-right:2px dashed #1d102633;border-radius:.7em 0 0 .7em;gap:.55em;display:grid}.pass-stub{-webkit-mask:radial-gradient(circle var(--pass-notch) at 0 0, transparent 98%, #000) top left / 100% 51% no-repeat, radial-gradient(circle var(--pass-notch) at 0 100%, transparent 98%, #000) bottom left / 100% 51% no-repeat;mask:radial-gradient(circle var(--pass-notch) at 0 0, transparent 98%, #000) top left / 100% 51% no-repeat, radial-gradient(circle var(--pass-notch) at 0 100%, transparent 98%, #000) bottom left / 100% 51% no-repeat;border-radius:0 .7em .7em 0;place-items:center;padding-inline:.9em;display:grid}.pass-top{color:#1d10269e;justify-content:space-between;align-items:baseline;gap:1em;font-size:.72em;display:flex}.pass-air{font-family:var(--font-display);color:var(--color-magenta);font-size:1.12em;font-weight:800;font-stretch:120%}.pass-route{grid-template-columns:auto 1fr auto;align-items:center;gap:.8em;display:grid}.pass-route b{font-family:var(--font-display);font-size:2.2em;font-weight:900;font-stretch:125%;line-height:1;display:block}.pass-route small{color:#1d10269e;font-size:.72em}.flightpath{border-bottom:2px dotted #1d102640;height:1.4em;position:relative;translate:0 -.7em}.flightpath svg{width:1.4em;height:1.4em;color:var(--color-magenta);animation:3.2s ease-in-out infinite fly;position:absolute;bottom:-.72em;left:0;rotate:90deg}@keyframes fly{0%{opacity:0;left:0}15%,85%{opacity:1}to{opacity:0;left:calc(100% - 1.4em)}}.pass-meta{border-top:1px solid #1d10261a;grid-template-columns:repeat(2,auto);justify-content:start;gap:.45em 1.2em;padding-top:.55em;display:grid}.pass-meta dt{color:#1d102694;font-size:.7em}.pass-meta dd{margin:0;font-size:.95em;font-weight:600}.barcode{background:repeating-linear-gradient(0deg,#1d1026 0 2px,#0000 2px 4px,#1d1026 4px 5px,#0000 5px 8px,#1d1026 8px 11px,#0000 11px 12px);width:2.2em;height:100%;min-height:6em}
