/* TLBB Neon homepage — isolated under .tl-home to avoid changing shared layout */
:root { --tl-bg:#f4f2fb; --tl-panel:rgba(255,255,255,.68); --tl-line:rgba(114,91,166,.18); --tl-purple:#8a68c9; --tl-violet:#7652b5; --tl-cyan:#6c9fc5; --tl-text:#29253b; --tl-muted:#77738d; }
html:has(.tl-home) { scroll-behavior:auto; }
body:has(.tl-home) { margin:0; background:var(--tl-bg); color:var(--tl-text); overflow:hidden; }
.tl-home { position:relative; isolation:isolate; width:100%; max-width:none; margin:0; height:calc(100vh - var(--tl-layout-header-height, 0px)); min-height:600px; overflow:hidden; background:radial-gradient(ellipse at 78% 12%,rgba(184,157,236,.28),transparent 42%),radial-gradient(ellipse at 8% 82%,rgba(151,199,226,.25),transparent 40%),linear-gradient(135deg,#fbfaff 0%,#f0effa 48%,#edf6fb 100%); color:var(--tl-text); font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
.tl-home * { box-sizing:border-box; }
.tl-atmosphere { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.tl-fog { position:absolute; width:75vw; height:38vh; border-radius:50%; filter:blur(65px); opacity:.19; background:linear-gradient(90deg,transparent,#b5a1e8,#a8d8e8,transparent); }
.tl-fog--one { left:-20%; top:25%; animation:tlFogDrift 32s ease-in-out infinite alternate; }
.tl-fog--two { right:-30%; bottom:8%; opacity:.09; animation:tlFogDrift 38s ease-in-out infinite alternate-reverse; }
.tl-glow { position:absolute; width:35vw; height:35vw; border-radius:50%; filter:blur(90px); opacity:.2; }
.tl-glow--one { right:5%; top:-20%; background:#c9b6f4; animation:tlGlow 12s ease-in-out infinite alternate; }
.tl-glow--two { left:-15%; bottom:-20%; background:#a9d8e8; animation:tlGlow 15s ease-in-out infinite alternate-reverse; }
.tl-snow { position:absolute; inset:0; overflow:hidden; }
.tl-snowflake { position:absolute; top:-18px; width:3px; height:3px; border-radius:50%; background:#ffffff; box-shadow:0 0 7px 1px rgba(126,139,190,.32); opacity:var(--opacity,.6); animation:tlSnowFall var(--duration,12s) linear var(--delay,0s) infinite; }
.tl-snap-container { position:relative; z-index:1; height:100%; overflow-y:auto; overflow-x:hidden; scroll-snap-type:y mandatory; overscroll-behavior-y:contain; scrollbar-width:none; }
.tl-snap-container::-webkit-scrollbar { display:none; }
.tl-screen { position:relative; min-height:100%; height:100%; scroll-snap-align:start; scroll-snap-stop:always; display:flex; align-items:center; padding:clamp(28px,5vh,64px) clamp(24px,7vw,120px); overflow:hidden; }
.tl-screen::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg,rgba(255,255,255,.2),transparent 58%,rgba(214,204,242,.12)); }
.tl-screen-inner { position:relative; z-index:1; width:min(1280px,100%); margin:auto; }
.tl-hero-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); align-items:center; gap:clamp(25px,5vw,80px); min-height:100%; }
.tl-eyebrow { display:flex; align-items:center; gap:10px; color:#8066b7; font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.tl-status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#9df6ff; box-shadow:0 0 12px #9df6ff; flex:0 0 auto; }
.tl-hero-copy h1,.tl-section-heading h2,.tl-community-copy h2 { margin:22px 0 16px; font-size:clamp(42px,6.1vw,86px); line-height:.98; letter-spacing:-.055em; font-weight:850; }
.tl-hero-copy h1 span,.tl-section-heading h2 span,.tl-community-copy h2 span { color:transparent; background:linear-gradient(100deg,#e5ddff 5%,#a78bfa 47%,#81e8ff 95%); -webkit-background-clip:text; background-clip:text; }
.tl-hero-lead { font-size:clamp(18px,2vw,24px); margin:0 0 10px; color:#373149; }
.tl-muted { color:var(--tl-muted); font-size:14px; line-height:1.8; max-width:550px; }
.tl-hero-actions,.tl-community-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.tl-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; padding:0 21px; border-radius:12px; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.08em; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.tl-button:hover { transform:translateY(-3px); }
.tl-button--primary { color:#fff; border:1px solid rgba(218,204,255,.4); background:linear-gradient(110deg,#7541dd,#5931b8 60%,#3864bd); box-shadow:0 8px 32px rgba(113,65,221,.25),inset 0 1px rgba(255,255,255,.2); }
.tl-button--primary:hover { box-shadow:0 10px 35px rgba(143,98,255,.42),0 0 22px rgba(116,87,255,.22); }
.tl-button--ghost { color:#51466d; border:1px solid rgba(114,91,166,.25); background:rgba(255,255,255,.58); backdrop-filter:blur(14px); }
.tl-button--ghost:hover { border-color:rgba(177,164,255,.7); }
.tl-button--small { min-height:38px; padding:0 14px; font-size:10px; }
.tl-feature-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.tl-feature-chip { display:flex; align-items:center; gap:10px; padding:12px 13px; border:1px solid rgba(114,91,166,.13); background:rgba(255,255,255,.58); border-radius:13px; backdrop-filter:blur(12px); }
.tl-feature-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#c9bdff; background:rgba(154,123,255,.12); font-size:19px; }
.tl-feature-chip b,.tl-feature-chip small { display:block; }
.tl-feature-chip b { font-size:11px; }
.tl-feature-chip small { color:#817b99; font-size:10px; margin-top:4px; }
.tl-hero-visual { position:relative; display:grid; place-items:center; min-height:440px; }
.tl-orbit { position:absolute; border:1px solid rgba(117,95,173,.24); border-radius:50%; transform:rotate(-24deg); }
.tl-orbit--outer { width:min(34vw,430px); aspect-ratio:1; box-shadow:0 0 55px rgba(110,79,224,.1),inset 0 0 45px rgba(110,79,224,.06); animation:tlOrbit 35s linear infinite; }
.tl-orbit--inner { width:min(25vw,310px); aspect-ratio:1; border-style:dashed; border-color:rgba(93,157,184,.28); animation:tlOrbit 48s linear infinite reverse; }
.tl-core { position:relative; display:grid; place-items:center; width:clamp(150px,17vw,230px); aspect-ratio:1; border-radius:50%; border:1px solid rgba(198,182,255,.5); background:radial-gradient(circle at 35% 25%,rgba(219,205,255,.9),transparent 34%),radial-gradient(circle,#ffffff,rgba(233,231,248,.88) 70%); box-shadow:0 0 80px rgba(132,87,255,.16),inset 0 0 35px rgba(147,125,255,.13); animation:tlCoreFloat 6s ease-in-out infinite; }
.tl-core::before,.tl-core::after { content:""; position:absolute; inset:12px; border:1px solid rgba(138,226,255,.26); border-radius:50%; }
.tl-core::after { inset:-12px; border-color:rgba(176,151,255,.15); }
.tl-core-ring { position:absolute; inset:26px; border-radius:50%; border:1px dashed rgba(191,179,255,.4); animation:tlOrbit 24s linear infinite; }
.tl-core-symbol { font-size:clamp(44px,5vw,68px); font-weight:900; letter-spacing:-.1em; padding-right:.1em; color:#7960b3; text-shadow:0 0 22px rgba(167,139,250,.28); }
.tl-core-caption { position:absolute; bottom:34px; font-size:9px; letter-spacing:.28em; color:#6e7297; }
.tl-float-card { position:absolute; padding:10px 13px; border:1px solid rgba(180,176,255,.2); border-radius:10px; background:rgba(255,255,255,.8); backdrop-filter:blur(14px); color:#6c6882; font-size:9px; letter-spacing:.12em; box-shadow:0 10px 30px rgba(0,0,0,.16); }
.tl-float-card--top { top:18%; right:1%; }
.tl-float-card--top i { display:inline-block; width:6px; height:6px; background:#88f6d3; border-radius:50%; margin-right:8px; box-shadow:0 0 9px #88f6d3; }
.tl-float-card--bottom { bottom:18%; left:0; }
.tl-float-card--bottom b { color:#a78bfa; margin-left:8px; }
.tl-orbit-node { position:absolute; width:9px; height:9px; border-radius:50%; background:#a78bfa; box-shadow:0 0 16px 4px rgba(167,139,250,.6); }
.tl-orbit-node--a { top:24%; left:24%; }.tl-orbit-node--b { right:16%; top:44%; background:#8be9ff; box-shadow:0 0 16px 4px rgba(139,233,255,.5); }.tl-orbit-node--c { bottom:22%; left:27%; width:5px; height:5px; }
.tl-scroll-hint { position:absolute; left:0; bottom:14px; display:flex; align-items:center; gap:11px; color:#8e8aa4; font-size:9px; letter-spacing:.2em; }
.tl-scroll-hint span { height:28px; width:18px; border:1px solid rgba(190,184,255,.4); border-radius:10px; position:relative; }
.tl-scroll-hint span::after { content:""; position:absolute; top:5px; left:7px; width:2px; height:5px; border-radius:2px; background:#b8a8ff; animation:tlScrollDot 1.4s ease-in-out infinite; }
.tl-section-nav { position:absolute; z-index:5; right:clamp(16px,3vw,42px); top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px; }
.tl-section-dot { display:flex; justify-content:center; align-items:center; width:38px; height:38px; border:1px solid rgba(172,164,255,.18); border-radius:12px; color:#8b86a2; background:rgba(255,255,255,.75); cursor:pointer; backdrop-filter:blur(12px); transition:all .2s ease; font-size:10px; }
.tl-section-dot:hover,.tl-section-dot.is-active { color:#55417e; border-color:rgba(139,104,201,.65); background:rgba(222,211,248,.72); box-shadow:0 0 20px rgba(126,82,222,.12); }
.tl-screen--news { background:radial-gradient(ellipse at 15% 25%,rgba(67,47,126,.15),transparent 50%),transparent; }
.tl-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.tl-section-heading h2,.tl-community-copy h2 { font-size:clamp(36px,4.5vw,62px); margin:14px 0 10px; }
.tl-section-heading .tl-muted { margin:0; }
.tl-text-link { color:#7d61b8; font-size:10px; font-weight:800; letter-spacing:.1em; text-decoration:none; white-space:nowrap; padding-bottom:8px; }
.tl-text-link span { margin-left:8px; }
.tl-news-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:18px; }
.tl-glass-card { position:relative; overflow:hidden; border:1px solid var(--tl-line); border-radius:20px; background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(246,244,253,.66)); box-shadow:0 20px 70px rgba(70,53,111,.09),inset 0 1px rgba(255,255,255,.85); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.tl-news-feature { min-height:330px; padding:clamp(22px,3vw,38px); display:flex; align-items:flex-end; }
.tl-card-orb { position:absolute; width:260px; height:260px; border-radius:50%; right:-25px; top:-45px; filter:blur(1px); opacity:.65; background:radial-gradient(circle at 30% 30%,rgba(191,154,255,.3),rgba(99,72,193,.08) 45%,transparent 70%); }
.tl-card-orb::after { content:""; position:absolute; inset:24px; border:1px solid rgba(188,174,255,.2); border-radius:50%; box-shadow:0 0 50px rgba(167,139,250,.1); }
.tl-card-content { position:relative; z-index:1; max-width:470px; }
.tl-tag { display:inline-flex; align-items:center; border:1px solid rgba(171,146,255,.25); border-radius:6px; padding:5px 8px; color:#7b5eb5; background:rgba(141,105,239,.08); font-size:9px; letter-spacing:.14em; font-weight:800; }
.tl-card-symbol { color:#896fc4; font-size:26px; margin-top:18px; }
.tl-news-feature h3 { font-size:clamp(26px,3vw,40px); letter-spacing:-.04em; line-height:1.08; margin:7px 0 12px; }
.tl-news-feature p,.tl-news-item p,.tl-community-card p { color:#77738d; font-size:12px; line-height:1.7; }
.tl-card-index { position:absolute; right:20px; bottom:20px; color:#918ca5; font-size:9px; letter-spacing:.16em; }
.tl-news-stack { display:flex; flex-direction:column; gap:12px; }
.tl-news-item { display:grid; grid-template-columns:48px minmax(0,1fr) 20px; align-items:center; gap:15px; padding:17px 19px; flex:1; min-height:96px; transition:transform .22s ease,border-color .22s ease; }
.tl-news-item:hover,.tl-community-card:hover { transform:translateY(-3px); border-color:rgba(172,147,255,.55); }
.tl-news-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; border:1px solid rgba(114,91,166,.16); background:linear-gradient(145deg,rgba(177,148,241,.15),rgba(121,188,213,.12)); color:#8267bd; font-size:21px; }
.tl-news-item h3 { font-size:13px; margin:8px 0 4px; letter-spacing:.025em; }
.tl-news-item p { margin:0; font-size:11px; }
.tl-news-arrow { color:#8a6bc5; font-size:18px; }
.tl-section-bottomline { display:flex; align-items:center; gap:12px; margin-top:26px; color:#918ca5; font-size:9px; letter-spacing:.16em; }
.tl-section-bottomline>span:first-child { color:#b8a6ff; font-size:13px; }
.tl-bottomline-rule { height:1px; width:70px; background:linear-gradient(90deg,#8f70ec,transparent); }
.tl-screen--community { background:radial-gradient(ellipse at 80% 55%,rgba(50,70,145,.17),transparent 45%),transparent; }
.tl-community-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(30px,5vw,75px); }
.tl-community-copy .tl-muted { max-width:430px; }
.tl-community-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tl-community-card { min-height:225px; padding:21px 17px; color:inherit; text-decoration:none; transition:transform .22s ease,border-color .22s ease; }
.tl-community-card-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#c8b8ff; background:rgba(141,105,239,.09); font-size:22px; }
.tl-community-card-number { position:absolute; right:16px; top:17px; color:#938ba9; font-size:10px; letter-spacing:.1em; }
.tl-community-card h3 { margin:24px 0 8px; font-size:14px; letter-spacing:.06em; }
.tl-community-card p { min-height:48px; margin:0 0 18px; }
.tl-card-link { color:#7d61b8; font-size:9px; font-weight:800; letter-spacing:.1em; }
.tl-final-note { grid-column:1/-1; display:flex; align-items:center; gap:10px; margin-top:38px; color:#88839b; font-size:9px; letter-spacing:.15em; }
.tl-final-divider { color:#a78bfa; }
@keyframes tlSnowFall { 0% { transform:translate3d(0,-20px,0); } 100% { transform:translate3d(var(--drift,45px),110vh,0); } }
@keyframes tlFogDrift { from { transform:translate3d(-7%,0,0) scale(.9) rotate(-5deg); } to { transform:translate3d(15%,8%,0) scale(1.15) rotate(8deg); } }
@keyframes tlGlow { from { transform:scale(.85); opacity:.09; } to { transform:scale(1.12); opacity:.17; } }
@keyframes tlOrbit { to { transform:rotate(336deg); } }
@keyframes tlCoreFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes tlScrollDot { 0%,100% { transform:translateY(0); opacity:1; } 70% { transform:translateY(10px); opacity:.2; } }
@media (max-width:1000px) {
 .tl-screen { padding:35px 55px 35px 28px; }
 .tl-hero-layout { grid-template-columns:minmax(0,1fr) minmax(240px,.7fr); gap:18px; }
 .tl-hero-visual { min-height:350px; }
 .tl-feature-row { gap:7px; }
 .tl-feature-chip { padding:9px; }
 .tl-feature-chip small { font-size:9px; }
 .tl-community-layout { grid-template-columns:1fr; gap:24px; }
 .tl-community-copy h2 { margin-top:10px; }
 .tl-community-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .tl-community-card { min-height:180px; }
}
@media (max-width:700px) {
 body:has(.tl-home) { overflow:hidden; }
 .tl-home { height:calc(100dvh - var(--tl-layout-header-height, 0px)); min-height:540px; }
 .tl-screen { min-height:100%; height:100%; padding:28px 22px 30px; }
 .tl-hero-layout { grid-template-columns:1fr; align-content:center; gap:0; }
 .tl-hero-copy h1 { font-size:clamp(40px,12vw,64px); margin-top:18px; }
 .tl-hero-copy .tl-muted { max-width:95%; }
 .tl-hero-visual { position:absolute; right:-80px; top:5%; min-height:0; width:260px; height:260px; opacity:.45; transform:scale(.72); transform-origin:top right; }
 .tl-orbit--outer { width:280px; }.tl-orbit--inner { width:220px; }
 .tl-core { width:155px; }
 .tl-float-card { display:none; }
 .tl-feature-row { margin-top:24px; }
 .tl-feature-chip { flex:1 1 30%; min-width:0; padding:8px; gap:6px; }
 .tl-feature-icon { width:28px; height:28px; font-size:16px; }
 .tl-feature-chip b { font-size:9px; }.tl-feature-chip small { font-size:8px; }
 .tl-scroll-hint { bottom:5px; }
 .tl-section-nav { right:8px; gap:6px; }
 .tl-section-dot { width:30px; height:30px; border-radius:9px; font-size:9px; }
 .tl-section-heading { display:block; margin-bottom:20px; }
 .tl-section-heading h2,.tl-community-copy h2 { font-size:clamp(34px,9vw,48px); }
 .tl-section-heading .tl-muted { font-size:12px; }
 .tl-text-link { display:inline-block; margin-top:12px; }
 .tl-news-grid { grid-template-columns:1fr; gap:10px; }
 .tl-news-feature { min-height:190px; padding:18px; }
 .tl-card-symbol { margin-top:8px; font-size:19px; }
 .tl-news-feature h3 { font-size:25px; margin:5px 0; }
 .tl-news-feature p { font-size:11px; margin:6px 0 12px; }
 .tl-news-feature .tl-card-index { display:none; }
 .tl-news-stack { gap:8px; }
 .tl-news-item { min-height:70px; padding:10px 12px; grid-template-columns:35px minmax(0,1fr) 15px; gap:10px; }
 .tl-news-icon { width:34px; height:34px; border-radius:10px; font-size:16px; }
 .tl-news-item h3 { font-size:11px; margin:5px 0 2px; }
 .tl-news-item p { font-size:10px; line-height:1.45; }
 .tl-news-item .tl-tag { padding:3px 5px; font-size:8px; }
 .tl-section-bottomline { margin-top:13px; font-size:8px; }
 .tl-community-layout { align-content:center; gap:18px; }
 .tl-community-copy h2 { margin:12px 0; }
 .tl-community-copy .tl-muted { font-size:12px; }
 .tl-community-actions { margin-top:18px; }
 .tl-button { min-height:42px; padding:0 14px; font-size:10px; }
 .tl-community-cards { gap:7px; }
 .tl-community-card { padding:12px 10px; min-height:145px; border-radius:14px; }
 .tl-community-card-icon { width:31px; height:31px; border-radius:9px; font-size:17px; }
 .tl-community-card-number { top:10px; right:9px; font-size:8px; }
 .tl-community-card h3 { font-size:10px; margin:16px 0 5px; }
 .tl-community-card p { font-size:9px; line-height:1.5; min-height:40px; margin-bottom:10px; }
 .tl-card-link { font-size:8px; }
 .tl-final-note { margin-top:14px; font-size:7px; letter-spacing:.08em; flex-wrap:wrap; }
}
@media (max-height:700px) and (min-width:701px) {
 .tl-screen { padding-top:24px; padding-bottom:24px; }
 .tl-hero-visual { min-height:320px; }
 .tl-feature-row { margin-top:22px; }
 .tl-news-feature { min-height:270px; }
 .tl-community-card { min-height:185px; }
}
@media (prefers-reduced-motion:reduce) {
 .tl-home *, .tl-home *::before, .tl-home *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}


/* Full-bleed breakout: the shared layout may wrap @RenderBody() in .container. */
body:has(.tl-home) main[role="main"],
body:has(.tl-home) .container:has(.tl-home),
body:has(.tl-home) .container-fluid:has(.tl-home) {
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
body:has(.tl-home) main[role="main"] { padding-bottom:0 !important; }
body:has(.tl-home) .tl-home { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.tl-hero-copy h1, .tl-section-heading h2, .tl-community-copy h2 { color:#302942; }
.tl-news-feature h3, .tl-news-item h3, .tl-community-card h3 { color:#302942; }
.tl-news-item p, .tl-news-feature p, .tl-community-card p { color:#77738d; }
.tl-float-card { border-color:rgba(114,91,166,.18); color:#706987; box-shadow:0 10px 30px rgba(70,53,111,.08); }
.tl-feature-chip b { color:#3b3550; }
.tl-card-index { color:#938ca8; }
.tl-final-note { color:#827c96; }
.tl-core-caption { color:#77739a; }
.tl-news-arrow { color:#8566bd; }
.tl-section-bottomline { color:#8d87a2; }
.tl-community-card-number { color:#9a93ad; }

/* Three panoramic section backgrounds — images live in wwwroot/images/home/. */
.tl-screen--hero,
.tl-screen--news,
.tl-screen--community {
    isolation: isolate;
    background-color: #edf0ff;
}
.tl-screen--hero::after,
.tl-screen--news::after,
.tl-screen--community::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transform: scale(1.015);
    animation: tlSectionBgDrift 32s ease-in-out infinite alternate;
}
.tl-screen--hero::after {
    background-image:
      linear-gradient(90deg, rgba(250,249,255,.80) 0%, rgba(248,248,255,.54) 38%, rgba(239,242,255,.16) 72%, rgba(237,240,255,.22) 100%),
      url('/images/home/section-01-sky-realm.png');
}
.tl-screen--news::after {
    background-image:
      linear-gradient(90deg, rgba(248,248,255,.76) 0%, rgba(247,247,255,.54) 42%, rgba(238,242,255,.22) 100%),
      url('/images/home/section-02-floating-city.png');
}
.tl-screen--community::after {
    background-image:
      linear-gradient(90deg, rgba(248,248,255,.78) 0%, rgba(247,247,255,.57) 42%, rgba(238,242,255,.20) 100%),
      url('/images/home/section-03-celestial-palace.png');
}
/* Keep glass panels legible over the detailed artwork. */
.tl-screen::before {
    z-index: 0;
    background: linear-gradient(120deg, rgba(255,255,255,.16), rgba(255,255,255,.02) 58%, rgba(214,204,242,.10));
}
.tl-screen-inner { z-index: 2; }
.tl-atmosphere { z-index: 1; pointer-events: none; }
.tl-section-nav { z-index: 5; }
@keyframes tlSectionBgDrift {
    from { transform: scale(1.015) translate3d(0,0,0); }
    to { transform: scale(1.07) translate3d(-.5%, -.4%, 0); }
}
@media (max-width: 760px) {
    .tl-screen--hero::after,
    .tl-screen--news::after,
    .tl-screen--community::after {
        animation-duration: 42s;
        background-position: center;
    }
    .tl-screen--hero::after {
        background-image: linear-gradient(180deg, rgba(250,249,255,.78), rgba(248,248,255,.58) 62%, rgba(239,242,255,.28)), url('/images/home/section-01-sky-realm.png');
    }
    .tl-screen--news::after {
        background-image: linear-gradient(180deg, rgba(248,248,255,.82), rgba(247,247,255,.62)), url('/images/home/section-02-floating-city.png');
    }
    .tl-screen--community::after {
        background-image: linear-gradient(180deg, rgba(248,248,255,.82), rgba(247,247,255,.60)), url('/images/home/section-03-celestial-palace.png');
    }
}
@media (prefers-reduced-motion: reduce) {
    .tl-screen--hero::after, .tl-screen--news::after, .tl-screen--community::after { animation: none; }
}


/* Logo chính tại section Hero */
.tl-hero-logo {
    width: min(100%, 570px);
    margin: 0 0 22px;
    position: relative;
    z-index: 2;
}

    .tl-hero-logo img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
        filter: drop-shadow(0 8px 18px rgba(75, 35, 28, 0.16)) drop-shadow(0 0 24px rgba(255, 190, 120, 0.12));
        animation: tlLogoFloat 6s ease-in-out infinite;
        transform-origin: center;
    }

@keyframes tlLogoFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

/* Điện thoại */
@media (max-width: 768px) {
    .tl-hero-logo {
        width: min(100%, 440px);
        margin-bottom: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tl-hero-logo img {
        animation: none;
    }
}


/* Homepage sử dụng toàn bộ chiều cao viewport */
body:has(.tl-home) {
    overflow: hidden;
}

    body:has(.tl-home) .tl-home {
        height: 100vh;
        height: 100dvh;
        min-height: 0;
    }

/* Để nội dung Section 03 không chạy xuống dưới footer */
.tl-screen--community .tl-screen-inner {
    padding-bottom: 115px;
}

@media (max-width: 760px) {
    .tl-screen--community .tl-screen-inner {
        padding-bottom: 105px;
    }
}

