html.ttra-welcome-pending, html.ttra-welcome-pending body { overflow: hidden !important; overscroll-behavior: none; }
html.ttra-welcome-pending #rc-body-landing > header { display: none !important; }
.ttra-intro { position: fixed; inset: 0; z-index: 10005; overflow: hidden; background: #000; color: #f5f3ef; font-family: Arial, Helvetica, sans-serif; isolation: isolate; touch-action: none; }
.ttra-intro[hidden], html.ttra-welcome-dismissed .ttra-intro { display: none; }
.ttra-intro-scene, .ttra-intro-shade { position: absolute; inset: 0; pointer-events: none; }
.ttra-intro-scene { opacity: var(--scene-opacity, 1); }
.ttra-intro-scene canvas { display: block; width: 100%; height: 100%; }
.ttra-intro-shade { background: radial-gradient(ellipse at center, transparent 25%, #0008 100%); }
.ttra-intro-title { position: absolute; margin: 0; left: 50%; top: 50%; width: 100%; text-align: center; transform: translate(-50%, -50%) scale(var(--title-scale, .75)); opacity: var(--title-opacity, 0); filter: blur(var(--title-blur, 12px)); pointer-events: none; }
.ttra-intro-title > span { display: block; font: normal 800 clamp(20px, 3vw, 44px)/.88 Arial, sans-serif; letter-spacing: -.065em; margin-bottom: 22px; }
.ttra-intro-title strong { display: block; font: normal 800 clamp(88px, 19vw, 290px)/.88 Arial, sans-serif; letter-spacing: -.065em; text-shadow: 0 8px 60px #0008; }
.ttra-intro-title strong span { color: #f45240; }
.ttra-intro[data-fallback="true"] .ttra-intro-title { top: 40%; --title-opacity: 1; --title-scale: 1; --title-blur: 0px; }
/* Tras quedar en negro (scene/title ya en opacity 0), un fade-in automático
   revela la home debajo, sin CTA: ver dismiss()/fadeInHome() en welcome-intro.js. */
.ttra-intro[data-phase="leaving"] { transition: opacity .9s ease; opacity: 0; pointer-events: none; }
@media(prefers-reduced-motion: reduce) { .ttra-intro *, .ttra-intro *::before { transition: none !important; } }

.ttra-intro:focus { outline: none; }
#ttra-hero-title:focus { outline: none; }
