/* Shared atmosphere and interactions. Decorative layers never receive input. */
body.pure-motion-enabled { isolation: isolate; --pure-fx-rgb: var(--ev-rgb, 226, 226, 226); }
.pure-atmosphere-host { position: relative; isolation: isolate; }
.pure-motion-layer, .pure-section-atmosphere {
  pointer-events: none;
  user-select: none;
  overflow: hidden;
  z-index: -1;
}
.pure-motion-layer { position: fixed; inset: 0; contain: strict; }
.pure-section-atmosphere {
  position: absolute; inset: 0; border-radius: inherit;
  background-image: linear-gradient(rgba(var(--pure-fx-rgb), .024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--pure-fx-rgb), .024) 1px, transparent 1px);
  background-size: 96px 96px;
  /* Fade both axes so decoration never ends at a rectangular section edge. */
  mask-image: radial-gradient(ellipse closest-side at center, #000 45%, transparent 100%);
}
.pure-fx-aura { position: absolute; width: min(1000px, 95vw); height: min(1000px, 100vh); border-radius: 50%; }
.pure-fx-aura.one {
  top: -35%; right: -20%;
  background: radial-gradient(ellipse, rgba(var(--pure-fx-rgb), .09), transparent 66%);
  animation: pure-aura-drift 24s ease-in-out infinite alternate;
}
.pure-fx-aura.two {
  bottom: -45%; left: -30%;
  background: radial-gradient(ellipse, rgba(var(--pure-fx-rgb), .055), transparent 65%);
  animation: pure-aura-drift 31s ease-in-out -12s infinite alternate-reverse;
}
.pure-fx-grid {
  position: absolute; inset: -80px;
  background-image: linear-gradient(rgba(var(--pure-fx-rgb), .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--pure-fx-rgb), .045) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at 65% 35%, #000, transparent 72%);
  animation: pure-grid-drift 35s linear infinite;
}
.pure-fx-beam {
  position: absolute; left: 58%; top: -30%; width: 1px; height: 160%;
  background: linear-gradient(transparent, rgba(var(--pure-fx-rgb), .14), transparent);
  box-shadow: 0 0 24px 3px rgba(var(--pure-fx-rgb), .025);
  transform: rotate(28deg);
  animation: pure-beam-drift 22s ease-in-out infinite alternate;
}
.pure-fx-mote {
  position: absolute; left: var(--mote-x); top: var(--mote-y);
  width: var(--mote-size); height: var(--mote-size); border-radius: 50%;
  background: rgb(var(--pure-fx-rgb));
  box-shadow: 0 0 10px rgba(var(--pure-fx-rgb), .22);
  opacity: 0;
  animation: pure-mote-rise var(--mote-duration) linear var(--mote-delay) infinite;
}
.pure-section-atmosphere::before {
  content: ''; position: absolute; inset: -25% -10%;
  background: radial-gradient(ellipse at 85% 25%, rgba(var(--pure-fx-rgb), .085), transparent 48%),
    radial-gradient(ellipse at 10% 85%, rgba(var(--pure-fx-rgb), .04), transparent 42%);
  animation: pure-section-drift 18s ease-in-out infinite alternate;
}
.pure-section-atmosphere::after {
  content: ''; position: absolute; left: 12%; right: 12%; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--pure-fx-rgb), .25), transparent);
  animation: pure-line-breathe 8s ease-in-out infinite;
}
.pure-atmosphere-host:not(.pure-in-view) .pure-section-atmosphere::before,
.pure-atmosphere-host:not(.pure-in-view) .pure-section-atmosphere::after,
.pure-atmosphere-host:not(.pure-in-view) .pure-section-atmosphere *,
.pure-atmosphere-host:not(.pure-in-view) .pure-brand-art { animation-play-state: paused; }
.pure-interactive-surface { position: relative; }
.pure-card-light {
  position: absolute; inset: 0; border-radius: inherit; overflow: hidden;
  pointer-events: none; opacity: 0; transition: opacity .35s ease;
  background: radial-gradient(300px circle at var(--pure-pointer-x, 50%) var(--pure-pointer-y, 0%),
    rgba(var(--pure-fx-rgb), .09), transparent 72%);
}
.pure-card-light::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(var(--pure-fx-rgb), .045) 49%, transparent 63%);
  transform: translateX(-130%);
}
@media (hover: hover) and (pointer: fine) {
  .pure-interactive-surface:hover > .pure-card-light { opacity: 1; }
  .pure-interactive-surface:hover > .pure-card-light::after { animation: pure-card-sweep .9s ease-out; }
  .pure-motion-enabled :is(.btn, .p-btn, .aff-button, .ft-button, .primary-button, .outline-button, .auth-button) {
    transition: translate .25s ease, box-shadow .25s ease, border-color .25s ease !important;
  }
  .pure-motion-enabled :is(.btn, .p-btn, .aff-button, .ft-button, .primary-button, .outline-button, .auth-button):hover:not(:disabled) {
    translate: 0 -1px;
  }
  .pure-interactive-surface:hover :is(.feature-icon-wrapper, .aff-benefit-icon, .contact-ticket-icon, .p-empty-icon) {
    translate: 0 -3px; transition: translate .3s ease;
  }
}
.pure-ripple-host { position: relative; }
.pure-click-ripple {
  position: absolute; inset: 0; border-radius: inherit; overflow: hidden; pointer-events: none;
}
.pure-click-ripple::after {
  content: ''; position: absolute; left: var(--ripple-x); top: var(--ripple-y);
  width: var(--ripple-size); height: var(--ripple-size); border-radius: 50%;
  background: currentColor; opacity: 0;
  animation: pure-click-wave .65s ease-out;
}
@media (prefers-reduced-motion: no-preference) {
  .pure-motion-enabled .p-reveal,
  .pure-motion-enabled .p-motion-ready.p-reveal { animation-duration: 560ms; animation-timing-function: cubic-bezier(.22,1,.36,1); }
  .pure-motion-enabled .fade-in-scroll { transition: opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1); }
  .pure-motion-enabled :is(.p-modal[open], .pure-auth-modal[open], .warning-dialog[open]) { animation: pure-dialog-enter .3s ease-out; }
  .pure-motion-enabled :is(.feature-icon-wrapper, .aff-benefit-icon, .contact-ticket-icon) { transition: translate .3s ease; }
  .pure-motion-enabled .performance-art > .pure-brand-art { animation: pure-brand-float 9s ease-in-out infinite; }
}
.pure-effects-paused :is(.pure-motion-layer *, .pure-section-atmosphere, .pure-section-atmosphere *, .pure-brand-art),
.pure-effects-paused .pure-section-atmosphere::before,
.pure-effects-paused .pure-section-atmosphere::after { animation-play-state: paused !important; }
@keyframes pure-aura-drift { to { transform: translate3d(-8%, 12%, 0) scale(1.12); } }
@keyframes pure-grid-drift { to { transform: translate3d(80px, 80px, 0); } }
@keyframes pure-beam-drift { to { transform: translate3d(-150px, 0, 0) rotate(28deg); opacity: .3; } }
@keyframes pure-mote-rise { 0%,100% { opacity: 0; } 20%,75% { opacity: .32; } 100% { transform: translate3d(32px, -180px, 0); } }
@keyframes pure-section-drift { to { transform: translate3d(-4%, 4%, 0) scale(1.06); } }
@keyframes pure-line-breathe { 50% { opacity: .25; transform: scaleX(.65); } }
@keyframes pure-card-sweep { to { transform: translateX(130%); } }
@keyframes pure-click-wave { from { transform: translate(-50%, -50%) scale(0); opacity: .2; } to { transform: translate(-50%, -50%) scale(1); opacity: 0; } }
@keyframes pure-dialog-enter { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
@keyframes pure-brand-float { 50% { translate: 0 -8px; } }
@media (max-width: 700px) {
  .pure-fx-grid { background-size: 100px 100px; animation-duration: 50s; opacity: .6; }
  .pure-fx-beam, .pure-fx-mote:nth-of-type(n+10) { display: none; }
  .pure-section-atmosphere::before { opacity: .65; }
}
@media (prefers-reduced-motion: reduce) {
  .pure-motion-enabled *, .pure-motion-enabled *::before, .pure-motion-enabled *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .pure-motion-layer *, .pure-section-atmosphere::before, .pure-section-atmosphere::after,
  .pure-card-light::after, .pure-click-ripple::after, .pure-motion-enabled .pure-brand-art { animation: none !important; }
  .pure-fx-mote, .pure-fx-beam, .pure-click-ripple { display: none; }
  .pure-motion-enabled :is(.pure-card-light, .btn, .p-btn, .aff-button, .ft-button, .primary-button, .outline-button, .auth-button) { transition: none !important; translate: none !important; }
  .pure-interactive-surface :is(.feature-icon-wrapper, .aff-benefit-icon, .contact-ticket-icon, .p-empty-icon) { translate: none !important; transition: none !important; }
}
/* A visitor can disable site motion without hiding content or controls. */
.pure-motion-control{position:fixed;z-index:9999;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 13px;border:1px solid rgba(255,255,255,.18);border-radius:100px;background:linear-gradient(180deg,rgba(20,22,25,.92),rgba(11,12,14,.94));color:#f1f3f5;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 32px rgba(0,0,0,.45);font:600 11px/1.1 'Space Grotesk',system-ui,sans-serif;letter-spacing:.03em;cursor:pointer;backdrop-filter:blur(14px)}
@media(min-width:801px){body.pure-workspace .pure-motion-control{left:252px}}
.pure-motion-control:hover,.pure-motion-control:focus-visible{border-color:rgba(255,255,255,.55);background:linear-gradient(180deg,rgba(28,31,35,.95),rgba(14,16,19,.96));outline-offset:3px}.pure-motion-control>span:first-child{color:var(--ev-accent,#e4e6ea);font-size:13px}.pure-page-transition{position:fixed;inset:0;z-index:9998;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(210,158,70,.13) 50%,rgba(10,10,10,.45));opacity:0;transform:translateX(-100%);transition:transform .18s ease-out,opacity .18s ease-out}.pure-page-ready .pure-page-transition{opacity:0}.pure-page-leaving .pure-page-transition{opacity:1;transform:translateX(0)}
.pure-motion-off .pure-page-transition{display:none}.pure-motion-off .pure-motion-layer,.pure-motion-off .pure-section-atmosphere{display:none!important}.pure-motion-off *:not(.pure-motion-control),.pure-motion-off *:not(.pure-motion-control)::before,.pure-motion-off *:not(.pure-motion-control)::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pure-motion-off .pure-card-light,.pure-motion-off .pure-click-ripple{display:none!important}.pure-motion-off .pure-interactive-surface:hover{transform:none!important;translate:none!important}
html:has(body.pure-motion-off){scroll-behavior:auto!important}
.pure-motion-off .p-motion-ready{opacity:1!important;transform:none!important}
/* Scroll progress owns the horizontal translation separately from card depth.
   No time-based transition: reversing the scroll reverses the same movement. */
html:has(body.pure-scroll-enabled) { overflow-x: clip; }
body.pure-scroll-enabled { overflow-x: clip; }
body.pure-scroll-enabled .pure-scroll-reveal {
  opacity: var(--pure-reveal-opacity, 1) !important;
  translate: var(--pure-reveal-x, 0px) 0 !important;
  animation: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
body.pure-scroll-enabled .pure-scroll-reveal:not(.pure-depth-surface),
body.pure-scroll-enabled .pure-scroll-reveal :is(.fade-in-scroll,.p-reveal,.aff-reveal):not(.pure-depth-surface) { transform: none !important; }
body.pure-scroll-enabled .pure-scroll-reveal :is(.fade-in-scroll,.p-reveal,.aff-reveal) {
  opacity: 1 !important; animation: none !important;
}
body.pure-scroll-enabled[data-depth-motion="on"] .pure-scroll-reveal.pure-depth-surface {
  transition: transform .14s ease-out, border-color .2s ease !important;
}
body.pure-scroll-enabled .pure-scroll-reveal:focus-within,
body.pure-scroll-enabled.pure-motion-off .pure-scroll-reveal {
  opacity: 1 !important; translate: none !important;
}
@media (prefers-reduced-motion: reduce) {
  body.pure-scroll-enabled .pure-scroll-reveal { opacity: 1 !important; translate: none !important; }
}
@media print {
  body.pure-scroll-enabled .pure-scroll-reveal { opacity: 1 !important; translate: none !important; }
}
@media(max-width:600px){.pure-motion-control{left:10px;bottom:10px;padding:7px 10px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.pure-page-transition{display:none}.pure-motion-control{backdrop-filter:none}}
