/* Homepage only. Keep all opening styles isolated from payment and learning UIs. */
.ti-photo-home .hero-visual>img{object-position:50% 50%}
.ti-photo-home .hero{align-items:start}
.ti-replay{border:0;background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.75;cursor:pointer;padding:12px 0;text-underline-offset:5px}
.ti-replay:hover{text-decoration:underline}
html.ti-pending::before{content:"";position:fixed;inset:0;background:#03141f;z-index:2147483000;pointer-events:none}
.ti-opening[hidden]{display:none!important}
.ti-opening{position:fixed;inset:0;z-index:2147483001;isolation:isolate;overflow:hidden;color:#63dbef;font-family:Arial,sans-serif;touch-action:manipulation}
.ti-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 43%,#103849 0%,#071f2d 38%,#03131e 75%)}
.ti-backdrop::after{content:"";position:absolute;inset:0;opacity:.12;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='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.16' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}
.ti-beam{position:absolute;top:48%;left:50%;width:min(78vw,900px);height:1px;background:linear-gradient(90deg,transparent,#56cfe5 40%,#e1ffff 53%,transparent);opacity:0;transform-origin:left center;box-shadow:0 0 12px 1px #40cbe433}
.ti-particle{position:absolute;left:50%;top:48%;width:2px;height:2px;border-radius:50%;background:#9aeafa;opacity:0;pointer-events:none}
.ti-horse{position:fixed;color:#52cee7;transform-origin:0 0;opacity:0}
.ti-horse svg{display:block;width:100%;height:100%;overflow:visible}
.ti-horse path{fill:currentColor;fill-opacity:0;stroke:currentColor;stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1}
.ti-halo{position:fixed;border:1px solid #60d4e730;border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 50px 4px #20acc00a}
.ti-identity{position:fixed;display:flex;align-items:center;justify-content:center;gap:.035em;font-weight:800;font-family:Arial,sans-serif;line-height:1;color:#e1fbff}
.ti-letter{display:block;opacity:0;transform-origin:0 0;position:relative}
.ti-letter::after{content:attr(data-letter);position:absolute;inset:0;color:transparent;background:linear-gradient(110deg,transparent 40%,#fff 50%,transparent 60%) 160% 0/300% 100%;background-clip:text;-webkit-background-clip:text;opacity:0}
.ti-opening:not([hidden]) .ti-letter::after{animation:ti-letter-light .6s 3s linear both}
.ti-opening:not([hidden]) .ti-letter:nth-child(2)::after{animation-delay:3.08s}
.ti-opening:not([hidden]) .ti-letter:nth-child(3)::after{animation-delay:3.16s}
@keyframes ti-letter-light{0%{opacity:0;background-position:160% 0}15%,80%{opacity:.85}100%{opacity:0;background-position:-60% 0}}
.ti-copy{position:fixed;left:0;right:0;text-align:center;opacity:0;color:#c3e8ec;pointer-events:none}
.ti-copy strong{display:block;font-size:11px;letter-spacing:.32em;font-weight:400}
.ti-copy span{display:block;margin-top:13px;font-size:10px;letter-spacing:.22em;color:#80a3b1}
#tec-opening .ti-skip{appearance:none;position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));border:0;border-radius:0;background:transparent;color:#8ca7b4;font:400 12px/1.2 Arial,sans-serif;letter-spacing:.04em;padding:14px 8px;min-height:44px;box-shadow:none;cursor:pointer;opacity:.82}
.ti-skip span{margin-left:10px;font-size:11px;opacity:.65}
#tec-opening .ti-skip:hover{color:#d6f1f5;background:transparent;opacity:1}
.ti-opening:focus{outline:none}
.ti-skip:focus-visible,.ti-replay:focus-visible{outline:1px solid #63bed3;outline-offset:3px;border-radius:4px}
.ti-opening::after{content:"";position:absolute;left:28px;bottom:34px;width:38px;height:1px;background:#598395;opacity:.5}
@media(max-width:700px){.ti-copy strong{font-size:10px;letter-spacing:.22em}#tec-opening .ti-skip{right:16px;bottom:max(12px,env(safe-area-inset-bottom))}.ti-skip span{display:none}}
@media(max-width:600px){.ti-photo-home .hero-visual{order:-1}}
@media(prefers-reduced-motion:reduce){html.ti-pending::before,.ti-opening{display:none!important}}
