/* QLDC CoP opening animation — Tonnex palette, three directions. */
.qldc-intro{--qldc-red:#D22630;--qldc-ink:#151515;--qldc-stone:#BDB7AE;position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--qldc-ink);color:#fff;font-family:Arial,Helvetica,sans-serif;isolation:isolate;animation:qldc-overlay 3s both}
.qldc-intro,.qldc-intro *{box-sizing:border-box}
.qldc-intro__skip{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));z-index:4;background:transparent;color:#d7d2c9;border:1px solid #ffffff38;border-radius:30px;padding:9px 15px;font:11px Arial,Helvetica,sans-serif;cursor:pointer;letter-spacing:.2px}
.qldc-intro__skip:hover{color:#fff;border-color:#ffffff80}
.qldc-intro__skip:focus-visible{outline:2px solid #fff;outline-offset:4px}
.qldc-intro__athena,.qldc-intro__cop{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.qldc-intro__athena{animation:qldc-athena 3s both}
.qldc-intro__athena-logo{display:block;width:86px;height:86px;object-fit:contain;margin-bottom:18px}
.qldc-intro__athena-name{font-size:24px;font-weight:600;letter-spacing:8px;margin-left:8px;line-height:1.1}
.qldc-intro__credit{font-size:9px;letter-spacing:2.4px;text-transform:uppercase;color:var(--qldc-stone);margin-top:14px}
.qldc-intro__line{width:68px;height:2px;background:var(--qldc-red);margin-top:24px;animation:qldc-line 3s both;transform-origin:center}
.qldc-intro__cop{opacity:0;animation:qldc-cop 3s both}
.qldc-intro__mark{display:block;width:126px;height:126px;object-fit:contain;position:relative;z-index:1}
.qldc-intro__brand{font-size:40px;font-weight:800;letter-spacing:-1.5px;margin-top:24px;line-height:1;position:relative;z-index:1}
.qldc-intro__caption{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;color:var(--qldc-stone);margin-top:14px;position:relative;z-index:1}
.qldc-intro__ring{position:absolute;width:166px;height:166px;top:calc(50% - 139px);border:1px solid #D2263070;border-radius:50%;opacity:0}
.qldc-intro--alpine .qldc-intro__mark{animation:qldc-alpine-mark 3s both}
.qldc-intro--alpine .qldc-intro__ring{animation:qldc-alpine-ring 3s both}
.qldc-intro--guide .qldc-intro__mark{animation:qldc-guide-mark 3s both}
.qldc-intro--guide .qldc-intro__brand{animation:qldc-guide-brand 3s both}
.qldc-intro--grid .qldc-intro__mark{animation:qldc-grid-mark 3s both}
.qldc-intro--grid .qldc-intro__brand{animation:qldc-grid-brand 3s both}
.qldc-intro--grid .qldc-intro__caption{animation:qldc-grid-caption 3s both}
@keyframes qldc-overlay{0%,82%{opacity:1}100%{opacity:0}}
@keyframes qldc-athena{0%{opacity:0;transform:translateY(5px)}10%,28%{opacity:1;transform:translateY(0)}40%,100%{opacity:0;transform:translateY(-5px)}}
@keyframes qldc-line{0%,6%{opacity:0;transform:scaleX(0)}15%,29%{opacity:1;transform:scaleX(1)}42%,100%{opacity:0;transform:scaleX(2)}}
@keyframes qldc-cop{0%,37%{opacity:0}48%,100%{opacity:1}}
@keyframes qldc-alpine-mark{0%,37%{transform:scale(.8) rotate(-12deg)}59%,100%{transform:scale(1) rotate(0)}}
@keyframes qldc-alpine-ring{0%,38%{opacity:0;transform:scale(.65)}49%{opacity:1}68%,100%{opacity:0;transform:scale(1.35)}}
@keyframes qldc-guide-mark{0%,37%{clip-path:inset(0 100% 0 0);transform:translateX(-12px)}59%,100%{clip-path:inset(0 0 0 0);transform:translateX(0)}}
@keyframes qldc-guide-brand{0%,40%{opacity:0;transform:translateX(-12px)}63%,100%{opacity:1;transform:translateX(0)}}
@keyframes qldc-grid-mark{0%,38%{transform:scale(.65);opacity:0}53%{transform:scale(1.04);opacity:1}60%,100%{transform:scale(1);opacity:1}}
@keyframes qldc-grid-brand{0%,46%{opacity:0;transform:translateY(10px)}62%,100%{opacity:1;transform:translateY(0)}}
@keyframes qldc-grid-caption{0%,51%{opacity:0;transform:translateY(7px)}67%,100%{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.qldc-intro__skip{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));font-size:10px;padding:8px 13px}.qldc-intro__athena-logo{width:72px;height:72px}.qldc-intro__athena-name{font-size:21px;letter-spacing:7px;margin-left:7px}.qldc-intro__credit{font-size:8px;letter-spacing:2px}.qldc-intro__mark{width:112px;height:112px}.qldc-intro__brand{font-size:35px;margin-top:21px}.qldc-intro__caption{font-size:9px;letter-spacing:2.4px;margin-top:12px}.qldc-intro__ring{width:150px;height:150px;top:calc(50% - 125px)}}
@media(prefers-reduced-motion:reduce){.qldc-intro{display:none!important}.qldc-intro *{animation:none!important}}

/* QLDC is always the hero. Athena remains visible as a small supporting credit. */
.qldc-intro__athena{inset:auto 0 auto;top:calc(50% + 147px);height:38px;flex-direction:row;gap:9px;z-index:2}
.qldc-intro__athena-logo{width:38px;height:38px;margin:0}
.qldc-intro__athena-name{font-size:11px;font-weight:500;letter-spacing:2px;margin:0;color:var(--qldc-stone);line-height:1}
@keyframes qldc-overlay{0%,87%{opacity:1}100%{opacity:0}}
@keyframes qldc-athena{0%,13%{opacity:0}20%,100%{opacity:1}}
@keyframes qldc-cop{0%{opacity:0}20%,100%{opacity:1}}
@keyframes qldc-alpine-mark{0%{transform:scale(.8) rotate(-12deg)}25%,100%{transform:scale(1) rotate(0)}}
@keyframes qldc-alpine-ring{0%{opacity:0;transform:scale(.65)}15%{opacity:1}42%,100%{opacity:0;transform:scale(1.35)}}
@keyframes qldc-guide-mark{0%{clip-path:inset(0 100% 0 0);transform:translateX(-12px)}25%,100%{clip-path:inset(0 0 0 0);transform:translateX(0)}}
@keyframes qldc-guide-brand{0%,5%{opacity:0;transform:translateX(-12px)}30%,100%{opacity:1;transform:translateX(0)}}
@keyframes qldc-grid-mark{0%{transform:scale(.65);opacity:0}18%{transform:scale(1.04);opacity:1}25%,100%{transform:scale(1);opacity:1}}
@keyframes qldc-grid-brand{0%,8%{opacity:0;transform:translateY(10px)}29%,100%{opacity:1;transform:translateY(0)}}
@keyframes qldc-grid-caption{0%,15%{opacity:0;transform:translateY(7px)}34%,100%{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.qldc-intro__athena{top:calc(50% + 132px)}.qldc-intro__athena-logo{width:38px;height:38px}.qldc-intro__athena-name{font-size:11px;letter-spacing:2px;margin:0}}
