.ea-banner{z-index:15;width:340px;position:fixed;top:96px;right:48px}.ea-banner[hidden]{display:none}.ea-slot{background:var(--ink);border-radius:0 0 8px 8px;width:120px;height:10px;margin-left:-60px;position:absolute;top:-8px;left:50%}.ea-ticket{transform-origin:50% 0;background:var(--amber);color:var(--ink);border:var(--border-heavy);box-shadow:8px 8px 0 var(--ink);border-radius:14px;display:flex;position:relative;overflow:hidden;transform:rotate(3deg)}.ea-ticket-shine{pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:40%;position:absolute;top:0;bottom:0;left:-60%}.ea-ticket-main{border-right:3px dashed var(--ink);flex-direction:column;flex:auto;align-items:flex-start;gap:8px;min-width:0;padding:16px 18px;display:flex}.ea-banner-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;line-height:1.4}.ea-banner-text{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:800;line-height:1.3}.ea-banner-action{background:var(--ink);color:#fff;border-radius:8px;align-items:center;gap:8px;min-height:40px;margin-top:4px;padding:0 14px;font-size:.875rem;font-weight:800;transition:transform .12s;display:inline-flex}.ea-banner-action:hover{transform:translate(3px)}.ea-ticket-stub{flex-direction:column;flex:0 0 46px;justify-content:space-between;align-items:center;padding:12px 0;display:flex;position:relative}.ea-ticket-stub:before,.ea-ticket-stub:after{content:"";border:3px solid var(--ink);background:var(--paper);border-radius:50%;width:16px;height:16px;position:absolute;left:-10px}.ea-ticket-stub:before{top:-10px}.ea-ticket-stub:after{bottom:-10px}.ea-banner-dismiss{border:2px solid var(--ink);background:var(--white);border-radius:6px;width:30px;height:30px;font-size:1.1rem;font-weight:900;line-height:1}.ea-banner-dismiss:hover{background:var(--ink);color:#fff}.ea-ticket-admit{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem}.ea-chip{border:var(--border-heavy);background:var(--amber);min-height:36px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:.7rem;display:none}.ea-banner[data-collapsed] .ea-ticket,.ea-banner[data-collapsed] .ea-slot{display:none}.ea-banner[data-collapsed] .ea-chip{display:inline-flex}.ea-banner[data-collapsed]{width:auto;left:auto}.ea-banner a:focus-visible,.ea-banner button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.ea-slot{animation:.3s both ticket-slot}.ea-ticket{animation:.9s cubic-bezier(.2,.9,.3,1.2) both ticket-in,6s ease-in-out 3.2s infinite ticket-wiggle}.ea-ticket-shine{animation:6s ease-in-out 3.2s infinite ticket-shine}}@keyframes ticket-slot{0%{opacity:0}to{opacity:1}}@keyframes ticket-in{0%{opacity:0;transform:translateY(-260px)rotate(-8deg)scaleY(1)}8%{opacity:1}55%{transform:translateY(14px)rotate(5deg)scaleY(.86)scaleX(1.06)}72%{transform:translateY(-6px)rotate(2deg)scaleY(1.05)scaleX(.97)}86%{transform:translateY(2px)rotate(3.5deg)scaleY(.98)}to{opacity:1;transform:translateY(0)rotate(3deg)scaleY(1)}}@keyframes ticket-wiggle{0%,92%,to{transform:rotate(3deg)}94%{transform:rotate(6deg)}96%{transform:rotate(0)}98%{transform:rotate(4.5deg)}}@keyframes ticket-shine{0%,70%{left:-60%}to{left:130%}}@media (width>=901px){body:has(.ea-banner:not([hidden]):not([data-collapsed])) .home-hero .hub-diagram{transform:translateY(110px)}.home-hero .hub-diagram{transition:transform .5s}}@media (width<=900px){.ea-banner{z-index:35;width:auto;position:fixed;inset:auto 16px 54px}.ea-slot{display:none}.ea-ticket{box-shadow:5px 5px 0 var(--ink);transform:rotate(0)}.ea-ticket-main{gap:6px;padding:12px 14px}.ea-banner-text{font-size:.85rem}.ea-banner-action{min-height:38px}.ea-ticket-stub:before,.ea-ticket-stub:after{background:var(--amber);border-color:var(--ink)}body:has(.ea-banner:not([hidden]):not([data-collapsed])){padding-bottom:190px}body:has(.ea-banner[data-collapsed]:not([hidden])){padding-bottom:100px}body:has(.analytics-consent:not([hidden])) .ea-banner{display:none}}@media (width<=900px) and (prefers-reduced-motion:no-preference){.ea-ticket{animation:.6s cubic-bezier(.2,.9,.3,1.15) both ticket-up}}@keyframes ticket-up{0%{opacity:0;transform:translateY(140%)}to{opacity:1;transform:translateY(0)}}
