/* ---------- Page loader ---------- */
.seg-loader{position:fixed;inset:0;z-index:100000;background:#F4F1EC;transition:opacity 1s cubic-bezier(.65,0,.35,1),visibility 0s linear 1s}
.seg-loader__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform 1s cubic-bezier(.65,0,.35,1)}
html.seg-loaded .seg-loader{opacity:0;visibility:hidden;pointer-events:none}
html.seg-loaded .seg-loader__canvas{transform:scale(1.05)}
/* page fades in underneath the loader */
html.seg-loading:not(.seg-loaded) body>*:not(.seg-loader):not(.seg-cursor){opacity:0}
html.seg-loading body>*:not(.seg-loader):not(.seg-cursor){transition:opacity 1s ease .15s}
html:not(.seg-loaded) .seg-cursor{opacity:0!important}

/* ---------- Background parallax ---------- */
.seg-bg-parallax{background-attachment:scroll!important}
.seg-bg-parallax.seg-bg-ready{background-image:none!important}
.seg-bg-layer{position:absolute;left:0;right:0;top:-18%;bottom:-18%;z-index:0;background-size:cover;background-position:center center;background-repeat:no-repeat;will-change:transform;pointer-events:none}

/* ---------- Marquee ---------- */
.seg-marquee{gap:0!important;width:max-content!important;flex-shrink:0;animation:seg-marquee 36s linear infinite;will-change:transform}
.seg-marquee>*{flex-shrink:0;padding-right:0!important;margin:0!important}
.seg-marquee span{display:inline-block;font-size:0;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.6);vertical-align:middle;margin:0 30px;position:relative;top:-.08em}
@keyframes seg-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (max-width:767px){.seg-marquee span{width:8px;height:8px;margin:0 16px}}

/* ---------- Partner logo marquee ---------- */
.seg-logos-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.seg-logos{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;width:max-content!important;gap:0!important;animation:seg-marquee 55s linear infinite;will-change:transform}
.seg-logos-viewport:hover .seg-logos{animation-play-state:paused}
.seg-logos>*{flex-shrink:0;margin:0 2.6rem!important;display:flex;align-items:center}
.seg-logos img{width:auto!important;max-width:none!important;display:block;opacity:.8;filter:grayscale(.15);transition:opacity .35s ease,filter .35s ease,transform .35s ease}
.seg-logos a:hover img,.seg-logos>*:hover img{opacity:1;filter:none;transform:translateY(-2px)}
@media (max-width:767px){.seg-logos>*{margin:0 1.6rem!important}.seg-logos img{transform:scale(.8)}}

/* ---------- Header: fade in from above after the loader ---------- */
html:not(.seg-loaded) [data-id="228dc6b0"]{opacity:0!important}
html.seg-loaded [data-id="228dc6b0"]{animation:seg-drop .95s cubic-bezier(.22,1,.36,1) .8s both}
@keyframes seg-drop{from{opacity:0;transform:translate3d(0,-28px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

/* ---------- Floating country shapes ---------- */
.seg-flag-wrap{filter:drop-shadow(0 14px 22px rgba(36,35,40,.18))}
.seg-flag-wrap>*{animation:seg-float 6s ease-in-out infinite}
.seg-flag-wrap img.seg-flag{border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.seg-flag-wrap:nth-of-type(2)>*{animation-duration:7.2s;animation-delay:-1.2s}
.seg-flag-wrap:nth-of-type(3)>*{animation-duration:5.4s;animation-delay:-2.1s}
.seg-flag-wrap:nth-of-type(4)>*{animation-duration:6.8s;animation-delay:-.6s}
.seg-flag-wrap:nth-of-type(5)>*{animation-duration:5.8s;animation-delay:-3s}
.seg-flag-wrap:nth-of-type(6)>*{animation-duration:7.6s;animation-delay:-1.8s}
.seg-flag-wrap:nth-of-type(7)>*{animation-duration:6.2s;animation-delay:-2.6s}
.seg-flag-wrap:nth-of-type(8)>*{animation-duration:5.2s;animation-delay:-.9s}
.seg-flag-wrap:nth-of-type(9)>*{animation-duration:6.6s;animation-delay:-3.4s}
@keyframes seg-float{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-16px,0) rotate(2deg)}}

/* ---------- Custom cursor ---------- */
.seg-cursor{position:fixed;top:0;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:100001;opacity:0;transition:width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),margin .3s cubic-bezier(.22,1,.36,1),opacity .3s ease;will-change:transform}
.seg-cursor.is-visible{opacity:1}
.seg-cursor.is-hover{width:64px;height:64px;margin:-32px 0 0 -32px}
.seg-cursor.is-down{width:12px;height:12px;margin:-6px 0 0 -6px}
html.seg-cursor-on,html.seg-cursor-on body,html.seg-cursor-on a,html.seg-cursor-on button,html.seg-cursor-on [role="button"],html.seg-cursor-on label{cursor:none}
html.seg-cursor-on input,html.seg-cursor-on textarea,html.seg-cursor-on select{cursor:auto}

/* ---------- Lenis ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

@media (prefers-reduced-motion:reduce){
	.seg-marquee,.seg-logos,.seg-flag-wrap>*{animation:none}
	.seg-loader{display:none}
	html body>*{opacity:1!important}
}
