.brand-loader{position:fixed;inset:0;z-index:10000;background:#10110f;color:#f6f3e9;display:grid;place-items:center;isolation:isolate;overflow:hidden;pointer-events:none;animation:loaderExit .75s 3.25s cubic-bezier(.76,0,.24,1) both}
.loader-ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#d9b64a14,transparent 40%);animation:loaderWarm 1.5s ease-out both}
.loader-signature{position:relative;text-align:center;display:flex;align-items:center;flex-direction:column;width:min(85vw,650px)}
.loader-bulb{width:92px;height:120px;margin-bottom:22px;animation:loaderRise 1s cubic-bezier(.22,1,.36,1) both}
.loader-filament{animation:loaderIgnite 1.1s .2s ease-out both}
.loader-word{display:flex;align-items:flex-start;font:500 clamp(64px,9vw,130px)/.92 CareerDisplay,Arial,sans-serif;letter-spacing:-.075em;overflow:hidden;padding:5px 12px 12px}
.loader-word>span{animation:loaderWord 1s .45s cubic-bezier(.22,1,.36,1) both}.loader-word sup{font:400 12px/1 Arial,sans-serif;letter-spacing:0;margin:8px 0 0 12px;animation:loaderWarm .6s .95s both}
.loader-slogan{font:400 15px/1.6 Arial,sans-serif;color:#d4c591;margin:12px 0 24px;animation:loaderRise .8s .85s both}
.loader-rule{width:110px;height:1px;background:#ffffff14;overflow:hidden}.loader-rule i{display:block;height:100%;background:#dcca83;transform-origin:left;animation:loaderLine 1.8s .3s cubic-bezier(.22,1,.36,1) both}
.loader-caption{font:9px/1.5 Arial,sans-serif;letter-spacing:.17em;color:#9e9d91;margin-top:19px;animation:loaderWarm .8s 1s both}
.loader-corner,.loader-skip{position:absolute;bottom:30px;font:9px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#a9a798}.loader-corner{left:35px}.loader-skip{right:30px;min-height:44px;padding:10px;background:none;border:0;pointer-events:auto;cursor:pointer}.loader-skip:hover{color:#f2cf36}
@keyframes loaderIgnite{0%{opacity:.06}50%{opacity:.3}100%{opacity:1}}
@keyframes loaderWarm{from{opacity:0}to{opacity:1}}
@keyframes loaderRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes loaderWord{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes loaderLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes loaderExit{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@media(max-width:600px){.loader-bulb{width:74px;height:96px}.loader-word{font-size:76px}.loader-caption{font-size:7px}.loader-corner{left:20px;bottom:26px;width:150px;font-size:7px}.loader-skip{right:15px;bottom:18px}.loader-slogan{font-size:13px}}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .brand-loader{display:none;animation:none}html:not(.force-motion) .brand-loader *{animation:none}}

.replay-brand-intro{position:relative;pointer-events:auto;font-size:10px;letter-spacing:.08em;color:#bdb8a5;margin-top:12px;padding:10px 0;min-height:44px}
.replay-brand-intro:hover{color:#f2cf36}
@media(max-width:700px){.replay-brand-intro{position:absolute;top:71%;left:6%;margin:0;font-size:9px}}
/* Obsidian and brushed light: a single material-led brand introduction. */
.brand-loader{background:#0b0b0b}
.loader-ambient{background:radial-gradient(ellipse at 50% 38%,#dfb95728 0%,#9c731910 32%,transparent 65%)}
.loader-grain{position:absolute;inset:0;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:2}
.loader-ribbons{position:absolute;inset:-40%;transform:rotate(-27deg);opacity:.7;pointer-events:none;mask-image:radial-gradient(ellipse,#000,transparent 72%)}
.loader-ribbons i{position:absolute;left:15%;top:-20%;height:140%;width:15%;background:linear-gradient(90deg,#0000,#171613 55%,#4f48342b 94%,#dac47b35 99%,#0000);transform:skewX(-12deg);animation:loaderRibbon 3.5s cubic-bezier(.22,1,.36,1) both}
.loader-ribbons i:nth-child(2){left:30%;animation-delay:.08s}.loader-ribbons i:nth-child(3){left:45%;animation-delay:.16s}.loader-ribbons i:nth-child(4){left:60%;animation-delay:.24s}.loader-ribbons i:nth-child(5){left:75%;animation-delay:.32s}.loader-ribbons i:nth-child(6){left:90%;animation-delay:.4s}
.loader-signature{width:min(88vw,980px);z-index:3}
.loader-bulb{width:105px;height:136px;margin-bottom:24px;filter:drop-shadow(0 0 16px #e7bd5230)}
.loader-word{font-size:clamp(82px,12vw,180px);letter-spacing:-.065em;padding-bottom:18px}
.loader-word>span{color:transparent;background:linear-gradient(110deg,#95805a 0%,#eee1b9 22%,#fff7df 38%,#b4a074 49%,#fff4ce 59%,#c3aa72 74%,#f3e9cb 100%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;animation:loaderWord 1.15s .35s cubic-bezier(.22,1,.36,1) both,loaderSheen 3s .3s ease-in-out both}
.loader-word sup{color:#d9c69d}.loader-slogan{color:#dfc88e;letter-spacing:.02em;margin-top:7px}
.loader-caption{color:#b5ab95;letter-spacing:.21em}.loader-rule{width:170px;background:#dcca831a}.loader-rule i{background:linear-gradient(90deg,transparent,#f4d28d,transparent)}
.loader-edition{position:absolute;top:32px;left:35px;font:9px/1.8 Arial,sans-serif;letter-spacing:.14em;color:#b6ad99;z-index:3}
.loader-horizon{position:absolute;left:18%;right:18%;top:73%;height:1px;background:linear-gradient(90deg,transparent,#e7c57740,transparent);box-shadow:0 0 40px 4px #e0b95a0d;animation:loaderWarm 1.3s .7s both}
@keyframes loaderRibbon{from{transform:translateX(-80px) skewX(-12deg);opacity:0}to{transform:translateX(0) skewX(-12deg);opacity:1}}
@keyframes loaderSheen{from{background-position:100% 50%}to{background-position:0% 50%}}
@media(max-width:600px){.loader-word{font-size:clamp(62px,17vw,95px)}.loader-bulb{width:88px;height:114px}.loader-edition{top:24px;left:22px;font-size:8px}.loader-caption{letter-spacing:.13em}.loader-horizon{left:8%;right:8%;top:72%}}
.loader-horizon{top:80%}
@media(max-width:600px){.loader-horizon{top:78%}}
/* Write the name from left to right, then release the feather-textured edge. */
.brand-loader{animation:none}
.loader-word>span{animation:loaderWriting 1.8s .55s steps(9,end) both,loaderSheen 3s .3s ease-in-out both;transform:none}
@keyframes loaderWriting{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.loader-word sup{animation-delay:2.3s}
.loader-slogan{animation-delay:2.1s}
.loader-departing .loader-signature{opacity:0;transform:translateY(-14px);transition:opacity .45s,transform .65s}
.loader-departing .loader-ribbons{opacity:.3;transition:opacity .7s}
.loader-word>span{animation:none;opacity:0;clip-path:none}
.loader-particles{position:absolute;inset:0;z-index:4;pointer-events:none}
.loader-word sup{animation-delay:2.8s}
.loader-slogan{animation-delay:2.7s}
.loader-caption{animation-delay:2.9s}
.loader-departing .loader-particles{opacity:0;transition:opacity .45s}
/* Compositor-only intro: no per-frame canvas drawing or animated text paint. */
.brand-loader{contain:layout paint;transition:opacity .6s ease;will-change:opacity}
.loader-word>span{opacity:1;clip-path:none;animation:loaderSmoothReveal 1.3s .2s cubic-bezier(.22,1,.36,1) both;background-size:100% 100%;will-change:transform,opacity}
@keyframes loaderSmoothReveal{from{opacity:0;transform:translate3d(0,35%,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.loader-word sup{animation-delay:1s}.loader-slogan{animation-delay:.85s}.loader-caption{animation-delay:1.1s}
.loader-ribbons{inset:-10%;mask-image:none;opacity:.45}
.brand-loader.loader-departing{opacity:0}
.loader-departing .loader-signature{transform:none;opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .loader-word>span{animation:none;will-change:auto}}
/* The brand name forms from grains; render the dots in one canvas batch. */
.loader-word>span{animation:none;opacity:0;transform:none;will-change:auto}
.loader-word sup{animation-delay:2.3s}.loader-slogan{animation-delay:2.2s}.loader-caption{animation-delay:2.4s}
.loader-particles{contain:strict}

/* Start the overlay only after its dismiss handlers are installed. */
#brand-loader:not([data-intro-ready="true"]){display:none}
#brand-loader[data-intro-ready="true"]{animation:intro-safety-exit .1s 8s forwards}
@keyframes intro-safety-exit{to{visibility:hidden;opacity:0;pointer-events:none}}
