/* Landing64 — page styles (landing-owned). Sims live in sim.css. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--l64-bg);color:var(--l64-text);font:400 16px/1.6 var(--l64-body);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--l64-teal);outline-offset:3px}
.gold{color:var(--l64-gold)}
.l64-skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--l64-teal);color:#000;padding:8px 14px}
.l64-skip:focus{left:8px}
.l64-wrap{width:100%;max-width:calc(var(--l64-max) + 2*var(--l64-gutter));margin:0 auto;padding:0 var(--l64-gutter)}
.l64-logo{display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:url(../assets/TF_LOGO_v0.svg) center/contain no-repeat;mask:url(../assets/TF_LOGO_v0.svg) center/contain no-repeat}
.l64-kicker{font:700 12px/1.4 var(--l64-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--l64-teal);margin:0 0 14px}

/* buttons */
.l64-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 22px;border:1px solid var(--l64-line-strong);border-radius:var(--l64-radius);font:700 15px/1.1 var(--l64-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--l64-text);background:transparent;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s var(--l64-ease),box-shadow .2s,background .2s,border-color .2s}
.l64-btn:hover{transform:translateY(-2px)}
.l64-btn--teal{border-color:var(--l64-teal);color:var(--l64-teal)}
.l64-btn--teal:hover{background:var(--l64-teal-dim);box-shadow:0 0 24px rgba(0,245,195,.25)}
.l64-btn--hot{background:linear-gradient(180deg,#f0453a,#b8201a);border-color:#ff6a5c;color:#fff;box-shadow:0 6px 28px rgba(232,50,42,.35)}
.l64-btn--hot::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);animation:l64-sheen 4s 1.5s infinite}
.l64-btn--ghost{background:rgba(6,8,12,.55);border-color:var(--l64-gold);color:var(--l64-gold);backdrop-filter:blur(4px)}
.l64-btn--ghost:hover{background:rgba(255,194,58,.14)}
.l64-btn--lg{min-height:58px;padding:14px 32px;font-size:19px}
@keyframes l64-sheen{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* top bar */
.l64-bar{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.l64-bar::before{content:"";position:absolute;inset:0 0 -24px;background:linear-gradient(rgba(6,8,12,.85),transparent);z-index:-1;pointer-events:none}
.l64-bar.solid,.l64-bar.open{background:rgba(6,8,12,.92);border-color:var(--l64-line);backdrop-filter:blur(10px)}
.l64-bar__in{max-width:calc(var(--l64-max) + 2*var(--l64-gutter));margin:0 auto;padding:0 var(--l64-gutter);height:64px;display:flex;align-items:center;gap:24px}
.l64-brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.l64-brand .l64-logo{font-size:30px;color:#fff}
.l64-brand__word{font:700 24px/1 var(--l64-display);letter-spacing:.14em}
.l64-nav{display:flex;align-items:center;gap:28px}
.l64-nav a:not(.l64-btn){font:700 12px/1 var(--l64-mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--l64-soft);padding:8px 0;position:relative}
.l64-nav a:not(.l64-btn)::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--l64-teal);transition:right .25s var(--l64-ease)}
.l64-nav a:not(.l64-btn):hover{color:#fff}.l64-nav a:not(.l64-btn):hover::after{right:0}
.l64-nav__cta{min-height:40px;padding:8px 16px;font-size:13px}
.l64-menu{display:none;width:44px;height:44px;border:1px solid var(--l64-line-strong);background:transparent;border-radius:var(--l64-radius);cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.l64-menu span{width:20px;height:2px;background:#fff;transition:transform .25s,opacity .25s}
.l64-bar.open .l64-menu span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.l64-bar.open .l64-menu span:nth-child(2){opacity:0}
.l64-bar.open .l64-menu span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.l64-hero{position:relative;min-height:max(100svh,640px);display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;padding:96px 0 84px}
.l64-hero__art{position:absolute;inset:-4%;z-index:-3;will-change:transform}
.l64-hero__art img{width:100%;height:100%;object-fit:cover;object-position:center}
.l64-hero__shade{position:absolute;inset:0;z-index:-2;background:
	linear-gradient(180deg,rgba(6,8,12,.92) 0,rgba(6,8,12,.6) 16%,rgba(6,8,12,.4) 38%,rgba(6,8,12,.5) 60%,rgba(6,8,12,.85) 85%,var(--l64-bg) 100%),
	radial-gradient(ellipse at 50% 48%,rgba(6,8,12,.55) 0,rgba(6,8,12,.25) 38%,transparent 62%),
	radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.7) 100%)}
.l64-hero__in{width:100%;max-width:1160px;padding:0 var(--l64-gutter);text-align:center;display:flex;flex-direction:column;align-items:center}
.l64-hero .l64-kicker{color:var(--l64-soft);text-shadow:0 1px 8px #000;animation:l64-in .8s both}
.l64-h1{margin:0;font:700 clamp(34px,6vw,80px)/.98 var(--l64-display);letter-spacing:.01em;text-transform:uppercase;text-shadow:0 3px 24px rgba(0,0,0,.8);animation:l64-in .8s .1s both}
.l64-h1 .gold{background:linear-gradient(180deg,#ffd76a,var(--l64-gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 3px 14px rgba(0,0,0,.6))}
.l64-lockup{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 .22em;margin:18px 0 10px;font:700 clamp(72px,15vw,190px)/.9 var(--l64-display);text-shadow:0 4px 30px rgba(0,0,0,.7);animation:l64-in .8s .25s both}
.l64-lockup b{font-weight:700;font-variant-numeric:tabular-nums;display:inline-block;min-width:1.05em;text-align:center}
.l64-lockup__t{color:var(--l64-t)}.l64-lockup__ct{color:var(--l64-ct)}
.l64-lockup__t b{text-shadow:0 0 40px rgba(255,90,60,.55)}.l64-lockup__ct b{text-shadow:0 0 40px rgba(111,141,255,.55)}
.l64-lockup__vs{font-size:.36em;color:var(--l64-soft);letter-spacing:.1em}
.l64-lockup__eq{flex-basis:100%;font-size:.26em;letter-spacing:.2em;color:var(--l64-gold);line-height:1.2;margin-top:.12em;opacity:0;transform:translateX(-40px);transition:opacity .8s var(--l64-ease),transform .8s var(--l64-ease)}
.l64-lockup.done .l64-lockup__eq{opacity:1;transform:none}
.l64-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;margin:6px 0 18px;padding:10px 22px;border:1px solid var(--l64-gold);background:rgba(6,8,12,.6);backdrop-filter:blur(4px);font:700 clamp(13px,1.6vw,18px)/1.2 var(--l64-display);letter-spacing:.14em;color:var(--l64-gold);position:relative;animation:l64-in .8s .4s both}
.l64-strip i{width:5px;height:5px;background:var(--l64-gold);transform:rotate(45deg)}
.l64-slots{display:grid;grid-template-columns:repeat(32,1fr);gap:2px;width:min(100%,640px);margin:0 0 24px}
.l64-slots span{height:6px;background:rgba(255,255,255,.12);transition:background .25s,box-shadow .25s}
.l64-slots span.t.on{background:var(--l64-t);box-shadow:0 0 8px var(--l64-t)}
.l64-slots span.ct.on{background:var(--l64-ct);box-shadow:0 0 8px var(--l64-ct)}
.l64-slots{grid-template-rows:repeat(2,auto)}
.l64-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;animation:l64-in .8s .55s both}
.l64-meta{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;align-items:center;margin-top:24px;animation:l64-in .8s .7s both}
.l64-debut{margin:0;font:700 13px/1.3 var(--l64-mono);letter-spacing:.14em;color:var(--l64-soft);text-shadow:0 1px 8px #000}
.l64-debut strong{color:var(--l64-gold);font-weight:800}
.l64-chip{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border:1px solid var(--l64-line-strong);background:rgba(6,8,12,.6);backdrop-filter:blur(4px);font:700 11px/1 var(--l64-mono);letter-spacing:.16em;color:var(--l64-soft);border-radius:var(--l64-radius)}
.l64-chip .l64-logo{font-size:20px;color:var(--l64-teal)}.l64-chip b{color:#fff;font:700 16px/1 var(--l64-display);letter-spacing:.14em}
.l64-cue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;font:700 10px/1 var(--l64-mono);letter-spacing:.3em;color:var(--l64-soft)}
.l64-cue i{width:1px;height:34px;background:linear-gradient(var(--l64-teal),transparent);animation:l64-cue 1.8s infinite}
@keyframes l64-cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes l64-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* shared section */
.l64-sec{position:relative;padding:clamp(64px,9vw,120px) 0;background:
	linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/48px 48px,
	linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/48px 48px,var(--l64-bg);animation:l64-grid 30s linear infinite}
.l64-sec:nth-of-type(even){background-color:var(--l64-bg2)}
@keyframes l64-grid{to{background-position:0 48px,48px 0}}
.l64-sec::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--l64-teal),transparent);opacity:.5}
.l64-head{max-width:1040px;margin-bottom:36px}
.l64-head h2,.l64-srv__side h2{margin:0 0 14px;font:700 clamp(34px,5.4vw,68px)/1 var(--l64-display);text-transform:uppercase;letter-spacing:.01em}
.l64-lead{margin:0;font-size:clamp(16px,1.6vw,19px);color:var(--l64-soft);max-width:60ch}
.l64-lead strong{color:var(--l64-gold)}
.l64-head--c{margin-left:auto;margin-right:auto;text-align:center}.l64-head--c .l64-lead{margin:0 auto}
.l64-steps{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.l64-steps li{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--l64-line);background:var(--l64-panel);border-left:2px solid var(--l64-teal)}
.l64-steps b{font:800 26px/1 var(--l64-mono);color:var(--l64-teal)}
.l64-steps span{font:700 18px/1.2 var(--l64-display);text-transform:uppercase;letter-spacing:.05em}
.l64-netsim{min-height:560px;width:100%;position:relative}
.l64-map{min-height:600px;width:100%;position:relative}

/* features */
.l64-features{background:var(--l64-bg);padding:0 0 8px;position:relative;margin-top:-1px}
.l64-tiles{list-style:none;margin:0 auto;padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(28px,4vw,48px);display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.l64-tile{position:relative;padding:24px 22px;border:1px solid var(--l64-line);background:var(--l64-panel);transition:transform .3s var(--l64-ease),border-color .3s}
.l64-tile img{width:56px;height:56px;margin-bottom:10px}
.l64-tile__n{display:block;font:700 clamp(40px,4.4vw,58px)/1 var(--l64-display);color:var(--l64-gold)}
.l64-tile h3{margin:4px 0 4px;font:700 20px/1.1 var(--l64-display);text-transform:uppercase;letter-spacing:.06em}
.l64-tile p{margin:0;color:var(--l64-soft);font-size:14px}
.l64-tile::before,.l64-tile::after{content:"";position:absolute;width:0;height:0;border:0 solid var(--l64-teal);transition:width .3s var(--l64-ease),height .3s var(--l64-ease);pointer-events:none}
.l64-tile::before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.l64-tile::after{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px;border-color:var(--l64-gold)}
.l64-tile:hover{transform:translateY(-6px);border-color:var(--l64-line-strong)}
.l64-tile:hover::before,.l64-tile:hover::after{width:22px;height:22px}

/* servers: VGUI window */
.l64-srv{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.vgui{font:14px/1.4 Tahoma,Verdana,sans-serif;color:#d8ded0;background:#4c5844;border:1px solid;border-color:#889180 #2a3025 #2a3025 #889180;padding:3px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.vgui__title{display:flex;justify-content:space-between;padding:3px 6px;background:#3e4937;color:#fff;font-weight:700;font-size:12px;border:1px solid;border-color:#2a3025 #889180 #889180 #2a3025}
.vgui__tabs{display:flex;gap:2px;padding:8px 4px 0}
.vgui__tabs button{font:inherit;color:#d8ded0;background:#3e4937;border:1px solid;border-color:#889180 #2a3025 transparent #889180;padding:4px 14px;cursor:pointer}
.vgui__tabs button.on{background:#4c5844;color:#fff;position:relative;top:1px}
.vgui__scroll{margin:0 4px;min-height:230px;background:#2c3328;border:1px solid;border-color:#2a3025 #889180 #889180 #2a3025;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.vgui__tbl{width:100%;min-width:520px;border-collapse:collapse;white-space:nowrap}
.vgui__tbl th{text-align:left;font-weight:400;padding:5px 10px;background:#4c5844;color:#d8ded0;border:1px solid;border-color:#889180 #2a3025 #2a3025 #889180}
.vgui__tbl td{padding:6px 10px;color:#ffc23a;cursor:default}
.vgui__tbl tbody{min-height:90px}
.vgui__tbl tbody tr.sel td{background:#0b3a9c;color:#fff}
.vgui__tbl tbody tr:not(.sel):hover td{background:#363f31}
.vgui__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 4px 4px}
.vgui__btns{display:flex;gap:6px}
.vbtn{font:inherit;color:#fff;background:#4c5844;border:1px solid;border-color:#889180 #2a3025 #2a3025 #889180;padding:4px 14px;text-decoration:none;cursor:pointer;text-align:center}
.vbtn:active{border-color:#2a3025 #889180 #889180 #2a3025}
.vbtn[disabled]{color:#8e9886;cursor:not-allowed}
.l64-ips{display:grid;gap:12px;margin-top:26px}
.l64-ip{display:grid;grid-template-columns:auto 1fr auto;gap:6px 16px;align-items:center;padding:14px 16px;border:1px solid var(--l64-line);border-left:3px solid var(--c);background:var(--l64-panel)}
.l64-ip__id{font:800 28px/1 var(--l64-display);color:var(--c)}
.l64-ip__name{font:700 11px/1.2 var(--l64-mono);letter-spacing:.14em;color:var(--l64-soft);text-transform:uppercase}
.l64-ip__val{display:block;font:800 15px/1.4 var(--l64-mono);letter-spacing:.1em;color:#fff;text-transform:uppercase}
.l64-ip button{font:700 11px/1 var(--l64-mono);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--l64-teal);background:transparent;color:var(--l64-teal);border-radius:var(--l64-radius);cursor:pointer}
.l64-ip button[disabled]{border-color:var(--l64-line);color:var(--l64-muted);cursor:not-allowed}

/* join */
.l64-join{background:linear-gradient(180deg,var(--l64-bg) 0,rgba(6,8,12,.55) 18%,rgba(6,8,12,.55) 80%,#04060a 100%),url(../assets/join-bg.webp) center/cover no-repeat,var(--l64-bg);animation:none}
.l64-join h2{font-size:clamp(32px,5.4vw,72px)}
.l64-grid64{display:grid;grid-template-columns:repeat(16,1fr);gap:clamp(3px,.6vw,8px);max-width:760px;margin:0 auto 12px}
.l64-grid64 span{aspect-ratio:1;border:1px solid var(--l64-line);background:rgba(255,255,255,.03);transition:background .3s,box-shadow .3s,border-color .3s,transform .3s}
.l64-grid64 span.on{transform:scale(1)}
.l64-grid64 span.t.on{background:rgba(255,90,60,.55);border-color:var(--l64-t);box-shadow:0 0 12px rgba(255,90,60,.5)}
.l64-grid64 span.ct.on{background:rgba(111,141,255,.55);border-color:var(--l64-ct);box-shadow:0 0 12px rgba(111,141,255,.5)}
.l64-grid64__cap{display:flex;justify-content:space-between;max-width:760px;margin:0 auto 40px;font:700 11px/1 var(--l64-mono);letter-spacing:.18em}
.l64-grid64__cap .t{color:var(--l64-t)}.l64-grid64__cap .ct{color:var(--l64-ct)}
.l64-steps--join{max-width:980px;margin:0 auto 32px}
.l64-cta--big{margin-bottom:32px}
.l64-steam{display:flex;align-items:center;gap:18px;max-width:560px;margin:0 auto;padding:18px 22px;text-decoration:none;color:var(--l64-teal);border:1px solid var(--l64-teal);background:rgba(0,245,195,.06);box-shadow:inset 0 0 30px rgba(0,245,195,.08);transition:transform .25s var(--l64-ease),box-shadow .25s}
.l64-steam:hover{transform:translateY(-3px);box-shadow:0 0 30px rgba(0,245,195,.25)}
.l64-steam small{display:block;font:700 11px/1.4 var(--l64-mono);letter-spacing:.16em;color:var(--l64-soft)}
.l64-steam b{display:block;font:800 clamp(13px,3.4vw,17px)/1.4 var(--l64-mono);color:#fff;word-break:break-all}

/* footer */
.l64-foot{border-top:1px solid var(--l64-line);background:#04060a;padding:36px 0}
.l64-foot__in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.l64-foot__links{display:flex;gap:22px;margin-right:auto}
.l64-foot__links a{font:700 12px/1 var(--l64-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--l64-soft);text-decoration:none}
.l64-foot__links a:hover{color:var(--l64-teal)}
.l64-foot__c{margin:0;color:var(--l64-soft);font-size:14px}
.l64-foot__legal{flex-basis:100%;margin:0;font:500 10px/1.6 var(--l64-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--l64-muted)}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--l64-ease),transform .7s var(--l64-ease);transition-delay:var(--d,0s)}
[data-reveal].in{opacity:1;transform:none}
.l64-tile.in:hover{transform:translateY(-6px)}

/* tablet / phone */
@media (max-width:960px){
	.l64-nav{position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(6,8,12,.97);border-bottom:1px solid var(--l64-line);padding:8px var(--l64-gutter) 20px;display:none}
	.l64-bar.open .l64-nav{display:flex}
	.l64-nav a:not(.l64-btn){padding:16px 0;border-bottom:1px solid var(--l64-line);font-size:14px}
	.l64-nav__cta{margin-top:16px}
	.l64-menu{display:flex}
	.l64-tiles{grid-template-columns:repeat(2,1fr)}
	.l64-srv{grid-template-columns:minmax(0,1fr)}
	.l64-steps{grid-template-columns:1fr}
}
@media (max-width:600px){
	.l64-hero{padding:84px 0 76px}
	.l64-hero__art img{object-position:22% 50%}
	.l64-kicker{font-size:10px;letter-spacing:.16em}
	.l64-lockup{font-size:clamp(64px,22vw,110px)}
	.l64-strip{flex-direction:column;gap:6px;padding:10px 14px}.l64-strip i{display:none}
	.l64-slots{grid-template-columns:repeat(16,1fr)}.l64-slots span{height:5px}
	.l64-cta .l64-btn{width:100%}
	.l64-tiles{gap:10px}.l64-tile{padding:16px 14px}.l64-tile h3{font-size:16px}.l64-tile img{width:44px;height:44px}
	.l64-netsim{min-height:520px}.l64-map{min-height:460px}
	.l64-ip{grid-template-columns:auto 1fr}.l64-ip button{grid-column:1/-1}
	.l64-grid64{grid-template-columns:repeat(8,1fr)}
	.l64-foot__links{margin-right:0;flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important}
	html{scroll-behavior:auto}
	[data-reveal]{opacity:1;transform:none}
	.l64-lockup__eq{opacity:1;transform:none}
}

/* specs + phases */
.l64-debut__n{display:block;font:500 11px/1.4 var(--l64-mono);letter-spacing:.06em;color:var(--l64-soft);margin-top:4px;text-transform:none}
.l64-stats{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.l64-stat{position:relative;padding:22px 20px;border:1px solid var(--l64-line);background:var(--l64-panel);overflow:hidden}
.l64-stat::before{content:"";position:absolute;left:0;top:0;width:28px;height:2px;background:var(--l64-teal)}
.l64-stat b{display:block;font:700 clamp(40px,4.6vw,62px)/1 var(--l64-display);color:var(--l64-gold);font-variant-numeric:tabular-nums}
.l64-stat b small{font-size:.5em;color:var(--l64-soft);margin-left:4px}
.l64-stat span{display:block;margin-top:8px;font:700 11px/1.5 var(--l64-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--l64-soft)}
.l64-shared{border:1px solid var(--l64-line);background:var(--l64-panel);padding:24px;margin-bottom:18px}
.l64-shared h3,.l64-phase h3{margin:0 0 14px;font:700 28px/1.1 var(--l64-display);text-transform:uppercase;letter-spacing:.04em}
.l64-shared ul,.l64-phase ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px}
.l64-shared li,.l64-phase li{position:relative;padding-left:26px;color:var(--l64-text)}
.l64-shared li::before,.l64-phase li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:6px;border-left:2px solid var(--l64-teal);border-bottom:2px solid var(--l64-teal);transform:rotate(-45deg)}
.l64-tabnote{margin:0 0 18px;padding:14px 18px;border:1px dashed var(--l64-line-strong);color:var(--l64-soft)}
.l64-tabnote b{display:inline-block;margin-right:10px;padding:2px 8px;border:1px solid var(--l64-gold);color:var(--l64-gold);font:800 12px/1.4 var(--l64-mono)}
.l64-fine{margin:0;font:500 11px/1.6 var(--l64-mono);letter-spacing:.08em;color:var(--l64-muted);text-transform:uppercase}
.l64-phases{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:980px;margin:0 auto 32px}
.l64-phase{padding:22px;border:1px solid var(--l64-line);background:var(--l64-panel);border-top:2px solid var(--l64-gold)}
.l64-phase:nth-child(2){border-top-color:var(--l64-teal)}
.l64-phase small{display:block;font:800 12px/1 var(--l64-mono);letter-spacing:.2em;color:var(--l64-gold);margin-bottom:8px}
.l64-phase p{margin:0 0 14px;color:var(--l64-soft);font-size:15px}
.l64-phase ul{grid-template-columns:1fr}
@media (max-width:960px){.l64-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.l64-shared ul,.l64-phases{grid-template-columns:1fr}.l64-stat{padding:16px 14px}}

/* ---------- Join: the disclaimer, with Soul dancing (3D, js/soul3d.js) ---------- */
.l64-soul{position:relative;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;gap:8px 36px;max-width:980px;margin:56px auto 0;padding:0 clamp(18px,3vw,36px) 0 0;border:1px solid rgba(255,194,58,.45);border-radius:var(--l64-radius);background:linear-gradient(110deg,rgba(0,245,195,.07),rgba(12,16,23,.82) 40%,rgba(255,157,28,.08));overflow:hidden}
.l64-soul::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(-45deg,var(--l64-gold) 0 14px,#14100a 14px 28px)}
.l64-soul__stage{position:relative;height:380px;display:flex;justify-content:center}
.l64-soul__stage canvas{position:relative;z-index:2;display:block;width:100%;height:100%;opacity:0;transition:opacity .8s ease}
.l64-soul__stage canvas.ready{opacity:1}
.l64-soul__cone{position:absolute;z-index:0;left:50%;top:0;bottom:12%;width:100%;transform:translateX(-50%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(210,255,246,.24),rgba(0,245,195,.05) 70%,transparent);filter:blur(6px);pointer-events:none}
.l64-soul__disc{position:absolute;z-index:1;left:50%;bottom:6%;width:82%;aspect-ratio:3.2/1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,245,195,.3),rgba(0,245,195,.06) 65%,transparent);border:1px solid rgba(0,245,195,.35)}
.l64-soul__body{min-width:0;padding:28px 0}
.l64-soul__tag{display:flex;align-items:center;gap:8px;margin:0 0 12px;font:700 11px/1 var(--l64-mono);letter-spacing:.2em;color:var(--l64-gold)}
.l64-soul__tag i{width:8px;height:8px;background:var(--l64-gold)}
.l64-soul__line{margin:0;font:700 clamp(24px,3.4vw,40px)/1.1 var(--l64-display);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.l64-soul__line em{font-style:normal;color:var(--l64-gold)}
.l64-soul__fine{margin:12px 0 0;font:500 12px/1.4 var(--l64-mono);letter-spacing:.12em;color:var(--l64-soft);text-transform:uppercase}
@media (max-width:720px){
	.l64-soul{grid-template-columns:1fr;padding:0 18px 22px;text-align:center}
	.l64-soul__stage{height:320px}
	.l64-soul__body{padding:0}
	.l64-soul__tag{justify-content:center}
}
