/* TOPGENIUS Experience 1.0.6. All selectors belong to this component. */
:root{
 --tgx-lime:#b3e645;--tgx-red:#e5213d;--tgx-ink:var(--tg-bg,#000);
 --tgx-paper:var(--tg-text,#fffce1);--tgx-muted:#a7a89f;
 --tgx-ease:cubic-bezier(.22,1,.36,1);--tgx-drift:cubic-bezier(.32,.34,.66,.68);
}
.tgx-loader,.tgx-loader *,.tgx-pointer,.tgx-pointer *,.tgx-click{box-sizing:border-box}
.tgx-loader{
 display:none;position:fixed;inset:0;z-index:2147483000;overflow:hidden;
 color:var(--tgx-paper);font-family:inherit;pointer-events:none;
 isolation:isolate;animation:tgx-fail-open 1ms var(--tgx-ease) 4.2s forwards;
}
html[data-tgx-boot="1"] .tgx-loader{display:block}
html[data-tgx-preview="1"] .tgx-loader{animation-delay:5s}
.tgx-loader__door{position:absolute;top:0;bottom:0;width:50.1%;background:var(--tgx-ink);z-index:-2}
.tgx-loader__door--left{left:0;transform-origin:top}
.tgx-loader__door--right{right:0;transform-origin:bottom}
.tgx-loader__grid{position:absolute;inset:0 40px;display:flex;justify-content:space-between;z-index:-1;opacity:.15}
.tgx-loader__grid span{height:100%;width:1px;background:var(--tgx-paper);opacity:.25}
.tgx-loader__grid::before,.tgx-loader__grid::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--tgx-paper);opacity:.25}
.tgx-loader__grid::before{top:96px}
.tgx-loader__grid::after{bottom:96px}
.tgx-loader__top{position:absolute;top:40px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;line-height:16px;letter-spacing:.16em}
.tgx-loader__signature{display:flex;align-items:center;gap:12px}
.tgx-loader__signal{display:block;width:8px;height:8px;border-radius:50%;background:var(--tgx-lime);box-shadow:0 0 24px #b3e64555;animation:tgx-signal 1.8s var(--tgx-ease) infinite}
.tgx-loader__edition{color:var(--tgx-muted)}
.tgx-loader__stage{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px 128px}
.tgx-loader__ghost{position:absolute;left:0;right:0;top:50%;transform:translateY(-55%);font-size:128px;font-weight:700;line-height:1;letter-spacing:.08em;text-align:center;color:transparent;-webkit-text-stroke:1px #fffce10b;opacity:.6;white-space:nowrap}
.tgx-loader__engine{position:relative;width:min(56vw,48vh,480px);aspect-ratio:1;flex-shrink:0;transform:translate3d(var(--tgx-px,0px),var(--tgx-py,0px),0);will-change:transform}
.tgx-loader__orbit{position:absolute;inset:0;width:100%;height:100%;color:var(--tgx-lime);animation:tgx-orbit 12s var(--tgx-drift) infinite;opacity:0;animation-name:tgx-orbit,tgx-appear;animation-duration:12s,.8s;animation-timing-function:var(--tgx-drift),var(--tgx-ease);animation-fill-mode:none,forwards;animation-iteration-count:infinite,1}
.tgx-loader__orbit--two{color:var(--tgx-red);animation-direction:reverse,normal;animation-duration:16s,1s;animation-delay:0s,.08s}
.tgx-loader__reticle{position:absolute;inset:12%;opacity:.4;animation:tgx-reticle 1.2s var(--tgx-ease) both}
.tgx-loader__reticle i{position:absolute;width:12px;height:12px;border:1px solid var(--tgx-paper)}
.tgx-loader__reticle i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}
.tgx-loader__reticle i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
.tgx-loader__reticle i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}
.tgx-loader__reticle i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}
.tgx-loader__pulse{position:absolute;inset:18%;border:1px solid #b3e64540;border-radius:50%;animation:tgx-pulse 1.7s var(--tgx-ease) .2s both}
.tgx-loader__cross{position:absolute;color:var(--tgx-lime);font-size:20px;line-height:28px;opacity:.65}
.tgx-loader__cross--one{left:8%;top:25%;animation:tgx-appear .8s var(--tgx-ease) .2s both}
.tgx-loader__cross--two{right:7%;bottom:21%;color:var(--tgx-red);animation:tgx-appear .8s var(--tgx-ease) .4s both}
.tgx-loader__logo{position:absolute;left:50%;top:50%;width:72%;aspect-ratio:69/21;transform:translate(-50%,-50%)}
.tgx-loader__slice{position:absolute;inset:0;animation:tgx-assemble .9s var(--tgx-ease) both}
.tgx-loader__slice img{display:block;width:100%;height:100%;object-fit:contain}
.tgx-loader__slice--one{clip-path:inset(0 0 72%);--tgx-slice-x:-48px;--tgx-slice-y:-12px}
.tgx-loader__slice--two{clip-path:inset(28% 0 47%);--tgx-slice-x:40px;--tgx-slice-y:0px;animation-delay:.07s}
.tgx-loader__slice--three{clip-path:inset(53% 0 22%);--tgx-slice-x:-32px;--tgx-slice-y:0px;animation-delay:.14s}
.tgx-loader__slice--four{clip-path:inset(78% 0 0);--tgx-slice-x:24px;--tgx-slice-y:8px;animation-delay:.21s}
.tgx-loader__shine{position:absolute;top:-50%;bottom:-50%;width:12%;left:0;background:#fffce1;opacity:0;transform:translateX(-200%) rotate(20deg);mix-blend-mode:overlay;animation:tgx-shine 1.1s var(--tgx-ease) .6s both}
.tgx-loader__coordinate{position:absolute;font-size:12px;line-height:16px;letter-spacing:.12em;color:var(--tgx-muted);animation:tgx-up .8s var(--tgx-ease) .3s both}
.tgx-loader__coordinate--one{left:50%;top:9%;transform:translateX(-50%)}
.tgx-loader__coordinate--two{left:4%;bottom:26%;animation-delay:.4s}
.tgx-loader__coordinate--three{right:1%;bottom:26%;animation-delay:.5s}
.tgx-loader__tagline{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;margin:0;padding:0;font-size:36px;line-height:40px;font-weight:400;letter-spacing:-.04em;text-align:center;text-wrap:balance}
.tgx-loader__tagline>span{display:block;animation:tgx-up .8s var(--tgx-ease) .2s both}
.tgx-loader__tagline>span+span{animation-delay:.3s}
.tgx-loader__tagline b{color:var(--tgx-lime);font-weight:400}
.tgx-loader__tagline i{display:inline-block;margin-left:12px;color:var(--tgx-lime);font-style:normal;animation:tgx-arrow 1.3s var(--tgx-ease) .4s both}
.tgx-loader__tagline i svg{display:block;width:32px;height:32px}
.tgx-loader__bottom{position:absolute;left:40px;right:40px;bottom:40px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;font-size:12px;line-height:16px;letter-spacing:.08em}
.tgx-loader__disciplines i{font-style:normal;padding:0 8px;color:var(--tgx-lime)}
.tgx-loader__status{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--tgx-muted)}
.tgx-loader__status>i{display:block;width:4px;height:4px;border-radius:50%;background:var(--tgx-lime)}
.tgx-loader__step{margin-left:24px;color:var(--tgx-paper);font-variant-numeric:tabular-nums}
.tgx-loader__meter{grid-column:1/-1;position:relative;display:block;height:2px;background:#fffce11f;overflow:hidden}
.tgx-loader__meter>span{position:absolute;inset:0;transform:scaleX(.06);transform-origin:left;background:var(--tgx-lime);transition:transform .7s var(--tgx-ease)}
.tgx-loader__skip{position:absolute;right:40px;top:80px;min-width:96px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding:8px 12px;background:transparent;color:var(--tgx-muted);font:inherit;font-size:12px;line-height:16px;border:1px solid transparent;border-radius:8px;pointer-events:auto;cursor:pointer;transition:opacity .3s var(--tgx-ease),color .3s var(--tgx-ease),transform .3s var(--tgx-ease)}
.tgx-loader__skip:hover{color:var(--tgx-lime)}
.tgx-loader__skip>svg{display:block;width:16px;height:16px}
.tgx-loader__skip:active{transform:scale(.98)}
.tgx-loader__skip:focus-visible{outline:2px solid var(--tgx-lime);outline-offset:4px}
.tgx-loader.is-leaving .tgx-loader__door--left{animation:tgx-door-up .85s var(--tgx-ease) forwards}
.tgx-loader.is-leaving .tgx-loader__door--right{animation:tgx-door-down .85s var(--tgx-ease) .04s forwards}
.tgx-loader.is-leaving .tgx-loader__stage,.tgx-loader.is-leaving .tgx-loader__top,.tgx-loader.is-leaving .tgx-loader__bottom,.tgx-loader.is-leaving .tgx-loader__grid,.tgx-loader.is-leaving .tgx-loader__skip{animation:tgx-exit .3s var(--tgx-ease) forwards;pointer-events:none}
@keyframes tgx-appear{from{opacity:0}to{opacity:1}}
@keyframes tgx-up{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes tgx-signal{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}
@keyframes tgx-orbit{from{transform:rotate(-30deg)}to{transform:rotate(330deg)}}
@keyframes tgx-reticle{from{opacity:0;transform:scale(1.14) rotate(4deg)}to{opacity:.4;transform:scale(1) rotate(0)}}
@keyframes tgx-pulse{from{opacity:.5;transform:scale(.35)}to{opacity:0;transform:scale(1.8)}}
@keyframes tgx-assemble{from{opacity:0;transform:translate3d(var(--tgx-slice-x),var(--tgx-slice-y),0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes tgx-shine{0%{opacity:0;transform:translateX(-200%) rotate(20deg)}20%{opacity:.25}100%{opacity:0;transform:translateX(1100%) rotate(20deg)}}
@keyframes tgx-arrow{from{opacity:0;transform:translate(-8px,8px) rotate(-15deg)}to{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes tgx-door-up{to{transform:translate3d(0,-102%,0)}}
@keyframes tgx-door-down{to{transform:translate3d(0,102%,0)}}
@keyframes tgx-exit{to{opacity:0;transform:translate3d(0,-16px,0)}}
@keyframes tgx-fail-open{to{opacity:0;transform:scaleY(0)}}
/* The native cursor keeps the click position clear; only the decorative halo lags. */
.tgx-pointer{display:none;position:fixed;inset:0;z-index:2147482000;pointer-events:none;contain:strict;color:var(--tgx-lime)}
.tgx-pointer.is-visible{display:block}
.tgx-pointer__ring,.tgx-pointer__label,.tgx-pointer__tail{position:absolute;left:0;top:0;will-change:transform;pointer-events:none}
.tgx-pointer__ring{width:24px;height:24px;margin:-12px}
.tgx-pointer__face{position:absolute;inset:0;border:1px solid var(--tgx-lime);border-radius:50%;opacity:.7;transform:scale(.8);transition:transform .5s var(--tgx-ease),opacity .3s var(--tgx-ease),background-color .3s var(--tgx-ease),border-color .3s var(--tgx-ease)}
.tgx-pointer__label{width:auto;height:auto;margin:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:8px 12px;translate:20px 24px;border:1px solid #b3e64555;border-radius:9999px;background:var(--tgx-ink);font-size:12px;line-height:16px;letter-spacing:0;font-weight:600;text-align:center;white-space:nowrap;color:var(--tgx-paper);opacity:0;transition:opacity .3s var(--tgx-ease)}
.tgx-pointer__label b{display:block;font-weight:400;color:var(--tgx-lime)}
.tgx-pointer__label b svg{display:block;width:16px;height:16px}
.tgx-pointer__label>span{display:block}
.tgx-pointer__tail{width:4px;height:4px;margin:-2px;border-radius:50%;background:var(--tgx-lime);opacity:0}
.tgx-pointer[data-state="link"] .tgx-pointer__face{transform:scale(1.25);opacity:1;border-width:2px}
.tgx-pointer[data-state="project"] .tgx-pointer__face,.tgx-pointer[data-state="action"] .tgx-pointer__face{transform:scale(1.5);opacity:1;border-width:2px;background:transparent}
.tgx-pointer[data-state="project"] .tgx-pointer__label,.tgx-pointer[data-state="action"] .tgx-pointer__label,.tgx-pointer[data-state="drag"] .tgx-pointer__label,.tgx-pointer[data-state="scroll"] .tgx-pointer__label{opacity:1}
.tgx-pointer[data-state="drag"] .tgx-pointer__face{transform:scale(1.65);border-style:dashed;opacity:1;background:var(--tgx-ink)}
.tgx-pointer[data-state="drag"] .tgx-pointer__label{color:var(--tgx-lime)}
.tgx-pointer[data-state="scroll"] .tgx-pointer__face{transform:scale(1.5);border-style:dashed;opacity:.8}
.tgx-pointer.is-pressed .tgx-pointer__face{transform:scale(.6);border-color:var(--tgx-red)}
.tgx-pointer.is-pressed .tgx-pointer__label{opacity:0}
.tgx-click{position:fixed;left:0;top:0;width:48px;height:48px;margin:-24px;z-index:2147481900;border:1px solid var(--tgx-lime);border-radius:50%;pointer-events:none;animation:tgx-click .65s var(--tgx-ease) forwards}
@keyframes tgx-click{from{opacity:.7;scale:.2}to{opacity:0;scale:1.6}}
@media (hover:hover) and (pointer:fine){
 html.tgx-cursor-active .tg-site{cursor:url("../images/dot-cursor.svg") 8 8,default!important}
 .tg-site a[href]:not([aria-disabled="true"]),.tg-site button:enabled,.tg-site [role="button"]:not([aria-disabled="true"]),.tg-site input:enabled:is([type="checkbox"],[type="radio"],[type="submit"],[type="button"],[type="reset"],[type="color"],[type="file"]){cursor:pointer!important}
 .tg-site [data-tgx-scroll-area="grab"]{cursor:grab!important}
 .tg-site [data-tgx-scroll-area="grab"].is-dragging,.tg-site [data-tgx-scroll-area="grab"].is-dragging *{cursor:grabbing!important}
 .tg-site [data-tgx-scroll-area="wheel"]{cursor:url("../images/wheel-cursor.svg") 12 4,ns-resize}
 .tg-site :is(button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]){cursor:not-allowed!important}
 html.tgx-cursor-active .tg-site :is(input:not([type]),input:is([type="text"],[type="email"],[type="tel"],[type="url"],[type="search"],[type="password"],[type="number"]),textarea,[contenteditable]:not([contenteditable="false"])){cursor:text}
 .tg-site [data-tg-priority][data-tgx-wheel-active] [data-tgx-scroll-area="wheel"],
 .tg-site [data-tg-priority][data-tgx-wheel-active] [data-tgx-scroll-area="wheel"] *{cursor:url("../images/wheel-cursor.svg") 12 4,ns-resize!important}
}
.tgx-scroll-cue{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 1 auto;max-width:100%;min-height:32px;padding:8px 12px;border:1px solid #b3e64544;border-radius:9999px;color:var(--tgx-paper);font:inherit;font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none}
.tgx-scroll-cue[hidden]{display:none!important}
.tgx-scroll-cue svg{display:block;flex:none;color:var(--tgx-lime)}
.tgx-scroll-cue__mouse{width:16px;height:24px}
.tgx-scroll-cue__arrows{width:32px;height:20px}
.tgx-scroll-cue.is-presented .tgx-scroll-cue__wheel{animation:tgx-wheel-hint 1.6s var(--tgx-ease) 2}
.tgx-scroll-cue.is-presented .tgx-scroll-cue__arrows{animation:tgx-rail-hint 1.6s var(--tgx-ease) 2}
.tg-priority__footer.tgx-has-scroll-cue{flex-wrap:wrap}
@keyframes tgx-wheel-hint{0%,100%{transform:translateY(0);opacity:1}60%{transform:translateY(4px);opacity:.3}}
@keyframes tgx-rail-hint{0%,100%{transform:translateX(0)}60%{transform:translateX(4px)}}
@media(max-width:767px){
 .tg-priority__footer.tgx-has-scroll-cue>.tgx-scroll-cue{flex-basis:100%;order:-1;justify-content:flex-start;border:0;padding:0}
 .tgx-scroll-cue[data-mode="swipe"] .tgx-scroll-cue__mouse{display:none}
}
@media(max-width:767px){
 .tgx-loader__top{top:24px;left:24px;right:24px;font-size:12px;letter-spacing:.08em}
 .tgx-loader__edition{display:none}
 .tgx-loader__grid{inset-inline:24px}
 .tgx-loader__grid span:nth-child(even){display:none}
 .tgx-loader__grid::before{top:80px}
 .tgx-loader__grid::after{bottom:128px}
 .tgx-loader__stage{padding:96px 24px 128px}
 .tgx-loader__engine{width:min(84vw,45svh,360px)}
 .tgx-loader__ghost{font-size:72px;letter-spacing:0}
 .tgx-loader__tagline{font-size:30px;line-height:36px}
 .tgx-loader__bottom{bottom:24px;left:24px;right:24px;grid-template-columns:1fr;gap:16px}
 .tgx-loader__disciplines{text-align:center;font-size:12px;letter-spacing:.04em}
 .tgx-loader__disciplines i{padding:0 4px}
 .tgx-loader__status{justify-content:space-between;gap:8px}
 .tgx-loader__status>i{display:none}
 .tgx-loader__step{margin-left:8px}
 .tgx-loader__skip{top:8px;right:12px}
}
@media(max-height:600px) and (min-width:768px){
 .tgx-loader__engine{width:40vh}
 .tgx-loader__stage{padding:64px 24px 96px}
 .tgx-loader__tagline{font-size:24px;line-height:32px}
 .tgx-loader__bottom{bottom:24px}
 .tgx-loader__grid::before{top:64px}
 .tgx-loader__top{top:24px}
}
@media(prefers-reduced-motion:reduce),(forced-colors:active){
 .tgx-loader,.tgx-pointer,.tgx-click{display:none!important}
 .tgx-scroll-cue svg,.tgx-scroll-cue__wheel{animation:none!important}
 html.tgx-cursor-active .tg-site{cursor:auto!important}
}
@media(hover:none),(pointer:coarse){.tgx-pointer,.tgx-click{display:none!important}}
@media print{.tgx-loader,.tgx-pointer,.tgx-click{display:none!important}}
