/* Minimal direction: typography + one full-screen upward reveal. */
#pageLoader{--load-fill:0%;--curtain-duration:1000ms;display:block;background:#08090b;color:#fff;overflow:hidden;transform:translate3d(0,0,0);transition:transform var(--curtain-duration) cubic-bezier(.76,0,.24,1);will-change:transform}
#pageLoader.is-ready{opacity:1;visibility:visible;pointer-events:none;transform:translate3d(0,-101%,0)}
.minimal-loader-brand{position:absolute;left:var(--gutter);top:40px;color:#b2b5bc;font-size:11px;letter-spacing:.14em}
.minimal-loader-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px var(--gutter);transform:translateY(-8px)}
.minimal-loader-word{position:relative;font-family:Arial,Helvetica,sans-serif;font-size:clamp(44px,13.4vw,218px);font-weight:650;letter-spacing:-.07em;line-height:1;color:#26282d;padding-right:.07em}
.minimal-loader-word>span{position:absolute;inset:0;color:#f1f2f5;clip-path:inset(0 calc(100% - var(--load-fill)) 0 0);transition:clip-path .16s linear;padding-right:.07em}
#pageLoader .page-loader-caption{font-size:11px;letter-spacing:.12em;color:#7d848f;line-height:1.8;min-height:20px;margin:27px 0 0}
.minimal-loader-bottom{position:absolute;bottom:34px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#9ca3ad;font-size:10px}
.minimal-loader-value{display:flex;gap:7px;align-items:baseline;font-family:Arial,sans-serif;color:#c4c8d0}
#pageLoader #cloudProgressText{font-size:23px;font-weight:400;line-height:1;margin:0;color:inherit;font-variant-numeric:tabular-nums}
.minimal-loader-value>span:last-child{font-size:9px;color:#767e8c}.minimal-loader-actions{display:flex;align-items:center;gap:22px}
#pageLoader #cloudRetry,#loaderSkip{border:0;border-radius:0;background:none;color:#a1a9b6;font-size:11px;padding:10px 0;line-height:1.4}#loaderSkip:hover,#pageLoader #cloudRetry:hover{color:#fff}
#pageLoader .cloud-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;margin:0;background:#272b33;overflow:hidden}
#pageLoader #cloudProgressFill{height:100%;background:#e9edf5;border-radius:0;box-shadow:none;transition:width .16s linear}
/* Removing the hero illustration makes the typography the only focal point. */
.minimal-home .hero{display:flex;justify-content:center;align-items:center;min-height:760px;height:100svh;max-height:1200px;background:transparent;padding:150px var(--gutter) 130px}
.minimal-home .hero-copy{width:100%;max-width:1240px;padding:0;text-align:center;transform:none!important;opacity:1!important;pointer-events:auto}
.minimal-home .hero .eyebrow{font-size:9px;letter-spacing:.21em;color:#f5f7ff;margin:0 0 36px}
.minimal-home .hero .eyebrow .signal-dot{display:none}
.minimal-home .hero h1{text-shadow:0 2px 4px #0008,0 8px 30px #0007;font-size:clamp(78px,11.5vw,180px);font-weight:650;line-height:1.12;letter-spacing:-.06em;margin:0 0 34px}
.minimal-home .hero .accent-text{color:#f2f4f9}
.minimal-home .hero-description{font-size:13px;line-height:1.9;color:#f5f7ff;margin:0 0 31px}
.minimal-home .hero-actions{justify-content:center;gap:32px}
.minimal-home .hero-bottom{bottom:32px;padding-top:22px;border-color:#ffffff1a}
.minimal-home .hero-bottom>span:nth-child(2){display:none}
.minimal-home .scroll-line:after{animation:none;top:0;height:100%;background:#8690a1}
/* One direction and one easing. No glyph splitting, magnet, parallax or 3D tilt. */
.minimal-home.motion-ready .hero .title-line{animation:none}
.minimal-home.minimal-entered .hero .title-line{animation:minimal-headline-in 1.1s cubic-bezier(.16,1,.3,1) both}
.minimal-home.minimal-entered .hero .title-line:first-child{animation-delay:.18s}
.minimal-home.minimal-entered .hero .title-line:last-child{animation-delay:.29s}
.minimal-home.minimal-entered .hero-description{animation:minimal-copy-in .85s .44s cubic-bezier(.16,1,.3,1) both}
.minimal-home.minimal-entered .hero-actions{animation:minimal-copy-in .85s .52s cubic-bezier(.16,1,.3,1) both}
@keyframes minimal-headline-in{from{opacity:0;transform:translate3d(0,75px,0);clip-path:inset(100% -3% 0)}to{opacity:1;transform:translate3d(0,0,0);clip-path:inset(-8% -3% -8%)}}
@keyframes minimal-copy-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.minimal-home .reveal-pending{transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.minimal-home .reveal-pending.is-visible{transform:none;opacity:1}


/* Random background remains fully visible; readability is on text, not an opaque overlay. */
.minimal-home .hero .eyebrow,.minimal-home .hero-description,.minimal-home .hero .text-link,.minimal-home .hero-bottom{text-shadow:0 1px 3px #000c,0 3px 12px #0008;color:#fff}
.minimal-home .hero-bottom{border-color:#ffffff70}
.minimal-home .hero .button-primary{text-shadow:none}
.minimal-home .idc-header:not(.header-solid) .brand,.minimal-home .idc-header:not(.header-solid) .desktop-nav,.minimal-home .idc-header:not(.header-solid) .menu-toggle{text-shadow:0 1px 4px #000b,0 3px 15px #0007}

@media(max-width:760px){.minimal-loader-brand{top:28px;font-size:9px}.minimal-loader-bottom{bottom:25px;font-size:9px}.minimal-loader-word{font-size:13.4vw}.minimal-loader-center{padding-top:75px;padding-bottom:75px}#pageLoader .page-loader-caption{font-size:10px;margin-top:23px}#pageLoader #cloudProgressText{font-size:20px}#loaderSkip,#pageLoader #cloudRetry{font-size:10px}.minimal-home .hero{min-height:620px;height:100svh;max-height:950px;padding:135px var(--gutter) 125px}.minimal-home .hero .eyebrow{font-size:7px;letter-spacing:.15em;margin-bottom:30px}.minimal-home .hero h1{font-size:clamp(52px,15.5vw,84px);line-height:1.2;margin-bottom:27px}.minimal-home .hero-description{font-size:11px;margin-bottom:29px}.minimal-home .hero-actions{gap:24px}.minimal-home .hero-bottom{bottom:27px}.minimal-home .hero .button{font-size:11px;min-height:46px}.minimal-home .hero .text-link{font-size:11px}}
@media(max-width:360px){.minimal-home .hero{min-height:600px}.minimal-home .hero h1{font-size:51px}.minimal-home .hero .eyebrow{font-size:6px}.minimal-home .hero-description{font-size:10px}.minimal-home .hero-actions{gap:20px}}
@media(max-height:650px) and (min-width:761px){.minimal-home .hero{min-height:650px;height:auto}.minimal-home .hero h1{font-size:100px}}
@media(prefers-reduced-motion:reduce){#pageLoader{transition:none}.minimal-home.minimal-entered .hero .title-line,.minimal-home.minimal-entered .hero-description,.minimal-home.minimal-entered .hero-actions{animation:none;opacity:1;transform:none;clip-path:none}.minimal-home .reveal-pending{opacity:1;transform:none;transition:none}}

/* Centered brand loader; use the same mark as the site header. */
#pageLoader .minimal-loader-center { transform: none; }
.minimal-loader-logo { width: 96px; height: 96px; object-fit: contain; animation: xf-logo-pulse 1.8s ease-in-out infinite; }
.minimal-loader-caption { margin-top: 24px; font-size: clamp(16px, 3vw, 20px); letter-spacing: .12em; color: #f1f2f5; }
#pageLoader .page-loader-caption { margin-top: 12px; color: #b2bac7; }
@keyframes xf-logo-pulse { 50% { opacity: .55; transform: scale(.96); } }
@media(prefers-reduced-motion:reduce) { .minimal-loader-logo { animation: none; } }

/* A masked light sweep follows the logo shape, rather than a rectangle. */
.xf-loader-mark{position:relative;display:block;width:96px;height:96px;flex-shrink:0}
.xf-loader-mark img{display:block;width:96px;height:96px;object-fit:contain}
.xf-loader-mark::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#91c2ed 44%,#fff 50%,#91c2ed 56%,transparent 65%);background-size:300% 100%;mask:url('/static/img/brand-logo.png') center/contain no-repeat;-webkit-mask:url('/static/img/brand-logo.png') center/contain no-repeat;animation:xf-logo-sheen 2.4s ease-in-out infinite;pointer-events:none}
@keyframes xf-logo-sheen{0%,15%{background-position:150% 0}75%,100%{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.xf-loader-mark::after{animation:none;background:none}}

/* Five staggered gray dots beneath the brand mark. */
.xf-loader-dots{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0}
.xf-loader-dots>span{display:block;width:14px;height:14px;border-radius:50%;background:#dedede;animation:xf-loading-dots 1.5s ease-in-out infinite}
.xf-loader-dots>span:nth-child(2){animation-delay:-1.2s}
.xf-loader-dots>span:nth-child(3){animation-delay:-0.9s}
.xf-loader-dots>span:nth-child(4){animation-delay:-0.6s}
.xf-loader-dots>span:nth-child(5){animation-delay:-0.3s}
@keyframes xf-loading-dots{0%,60%,100%{background-color:#dedede}30%{background-color:#747474}}


#pageLoader .xf-loader-dots{margin-top:24px}
#pageLoader .minimal-loader-caption{margin-top:18px}

@media(prefers-reduced-motion:reduce){#pageLoader .xf-loader-dots>span{animation:xf-loading-dots 1.5s ease-in-out infinite!important}#pageLoader .xf-loader-dots>span:nth-child(2){animation-delay:-1.2s!important}#pageLoader .xf-loader-dots>span:nth-child(3){animation-delay:-.9s!important}#pageLoader .xf-loader-dots>span:nth-child(4){animation-delay:-.6s!important}#pageLoader .xf-loader-dots>span:nth-child(5){animation-delay:-.3s!important}}
