/* Catharions opening sequence. Monochrome. Presentation only. */
.cx-intro{z-index:2147483600;background:#000;color:#f2f2f2;transition:opacity .9s cubic-bezier(.4,0,.2,1),visibility .9s;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.cx-intro::before,.cx-intro::after{content:none}
.cx-intro::selection{background:transparent}
.cx-ld-vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,rgba(255,255,255,.06) 0,rgba(0,0,0,0) 46%,rgba(0,0,0,.85) 100%);pointer-events:none;animation:cx-ld-fade 1.6s ease both}
.cx-ld-grain{position:absolute;inset:-60px;opacity:.09;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:cx-ld-grain .6s steps(6) infinite}
.cx-ld-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:min(92vw,640px);text-align:center;transition:transform 1s cubic-bezier(.4,0,.2,1),opacity .8s ease,filter .8s ease}
.cx-ld-mark{width:clamp(150px,30vw,230px);aspect-ratio:1;position:relative;animation:cx-ld-mark 1.9s cubic-bezier(.2,.7,.2,1) .1s both}
.cx-ld-mark::after{content:"";position:absolute;inset:-14%;border-radius:50%;border:1px solid rgba(255,255,255,.14);animation:cx-ld-halo 2.4s cubic-bezier(.2,.7,.2,1) .5s both}
.cx-ld-img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12) brightness(.95);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 52%,transparent 71%);mask-image:radial-gradient(circle at 50% 50%,#000 52%,transparent 71%)}
.cx-ld-name{display:flex;justify-content:center;margin:clamp(22px,4.5vw,34px) 0 0;padding-left:.45em;font-size:clamp(22px,5.6vw,40px);font-weight:300;letter-spacing:.45em;line-height:1;color:#f4f4f4;animation:cx-ld-flash .7s linear 2.25s both}
.cx-ld-name span{display:inline-block;animation:cx-ld-letter .8s cubic-bezier(.2,.7,.2,1) both}
.cx-ld-name span:nth-child(1){animation-delay:.95s}.cx-ld-name span:nth-child(2){animation-delay:1.02s}.cx-ld-name span:nth-child(3){animation-delay:1.09s}.cx-ld-name span:nth-child(4){animation-delay:1.16s}.cx-ld-name span:nth-child(5){animation-delay:1.23s}.cx-ld-name span:nth-child(6){animation-delay:1.3s}.cx-ld-name span:nth-child(7){animation-delay:1.37s}.cx-ld-name span:nth-child(8){animation-delay:1.44s}.cx-ld-name span:nth-child(9){animation-delay:1.51s}.cx-ld-name span:nth-child(10){animation-delay:1.58s}
.cx-ld-rule{height:1px;width:clamp(90px,22vw,140px);margin:clamp(18px,3.5vw,26px) 0 14px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.7;transform-origin:center;animation:cx-ld-rule 1s cubic-bezier(.2,.7,.2,1) 1.5s both}
.cx-ld-tag{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:#8a8a8a;padding-left:.34em;animation:cx-ld-rise .9s ease 1.8s both}
.cx-ld-foot{position:absolute;left:0;right:0;bottom:max(34px,env(safe-area-inset-bottom));z-index:1;display:flex;align-items:center;justify-content:center;gap:14px;animation:cx-ld-fade .8s ease .5s both}
.cx-ld-ring{width:20px;height:20px;display:block;animation:cx-ld-spin 1.1s linear infinite}
.cx-ld-ring circle{fill:none;stroke-width:1.5}.cx-ld-ring .t{stroke:rgba(255,255,255,.16)}.cx-ld-ring .a{stroke:#fff;stroke-linecap:round;stroke-dasharray:18 63}
.cx-ld-pct{font:400 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.2em;color:#9a9a9a;font-variant-numeric:tabular-nums;min-width:3ch}
.cx-ld-corner{position:absolute;width:18px;height:18px;border:0 solid rgba(255,255,255,.28);animation:cx-ld-fade 1.2s ease .3s both}
.cx-ld-corner.tl{top:22px;left:22px;border-top-width:1px;border-left-width:1px}.cx-ld-corner.tr{top:22px;right:22px;border-top-width:1px;border-right-width:1px}.cx-ld-corner.bl{bottom:22px;left:22px;border-bottom-width:1px;border-left-width:1px}.cx-ld-corner.br{bottom:22px;right:22px;border-bottom-width:1px;border-right-width:1px}
.cx-intro.cx-leaving .cx-ld-stage{opacity:0;transform:scale(1.045);filter:blur(3px)}
.cx-intro.cx-leaving .cx-ld-foot{opacity:0;transition:opacity .4s ease}
@keyframes cx-ld-fade{from{opacity:0}}
@keyframes cx-ld-rise{from{opacity:0;transform:translateY(8px)}}
@keyframes cx-ld-mark{from{opacity:0;transform:scale(1.12);filter:blur(16px)}60%{filter:blur(0)}}
@keyframes cx-ld-halo{from{opacity:0;transform:scale(.8)}50%{opacity:1}to{opacity:.35;transform:scale(1)}}
@keyframes cx-ld-letter{from{opacity:0;transform:translateY(16px);filter:blur(9px)}}
@keyframes cx-ld-rule{from{opacity:0;transform:scaleX(0)}}
@keyframes cx-ld-flash{0%{opacity:1;text-shadow:none}8%{opacity:.1}16%{opacity:1;text-shadow:0 0 28px rgba(255,255,255,.9),0 0 3px #fff}28%{opacity:.25;text-shadow:none}40%{opacity:1;text-shadow:0 0 22px rgba(255,255,255,.75)}100%{opacity:1;text-shadow:0 0 0 rgba(255,255,255,0)}}
@keyframes cx-ld-spin{to{transform:rotate(360deg)}}
@keyframes cx-ld-grain{0%{transform:translate(0,0)}20%{transform:translate(-22px,14px)}40%{transform:translate(18px,-26px)}60%{transform:translate(-30px,-10px)}80%{transform:translate(24px,22px)}100%{transform:translate(0,0)}}
@media(max-width:420px){.cx-ld-corner{width:12px;height:12px}.cx-ld-corner.tl,.cx-ld-corner.tr{top:14px}.cx-ld-corner.bl,.cx-ld-corner.br{bottom:14px}.cx-ld-corner.tl,.cx-ld-corner.bl{left:14px}.cx-ld-corner.tr,.cx-ld-corner.br{right:14px}.cx-ld-name{letter-spacing:.36em;padding-left:.36em}}
@media(prefers-reduced-motion:reduce){.cx-ld-grain,.cx-ld-ring{animation:none!important}}
