.landing-page { overflow-x: hidden; background: #10071f; }
.landing-page main { overflow: clip; }

.landing-nav {
  position: fixed; z-index: 50; top: 0; left: 50%; translate: -50% 0;
  display: grid; grid-template-columns: 205px 1fr auto; align-items: center;
  width: min(100% - 32px, 1320px); height: 68px; padding: 0 18px;
  border: 1px solid rgba(255,255,255,.1); border-top: 0; border-radius: 0 0 18px 18px;
  background: rgba(17,7,37,.68); backdrop-filter: blur(20px) saturate(1.35);
  box-shadow: 0 14px 40px rgba(3,0,13,.2);
}
.landing-brand { display: flex; align-items: center; }
.landing-brand img { width: auto; height: 28px; }
.landing-nav nav { display: flex; justify-content: center; gap: 6px; }
.landing-nav nav a { padding: 8px 12px; border-radius: 10px; color: #ab9dcf; font-size: 13px; transition: color .2s, background .2s; }
.landing-nav nav a:hover { color: white; background: rgba(255,255,255,.07); }
.landing-nav-actions { justify-self:end; display:flex; align-items:center; gap:8px; }
.landing-nav .header-actions { margin-left:0; }
.landing-nav .member-tab { min-width:70px; height:38px; border-color:rgba(255,255,255,.16); background:linear-gradient(120deg,#7441ff,#a544f1); color:white; font-weight:750; box-shadow:0 8px 24px rgba(101,43,225,.3),inset 0 1px rgba(255,255,255,.2); }
.landing-nav .member-tab:hover { border-color:rgba(210,184,255,.5); background:linear-gradient(120deg,#8151ff,#b34df3); color:white; transform:translateY(-1px); box-shadow:0 11px 28px rgba(101,43,225,.42),inset 0 1px rgba(255,255,255,.24); }
.landing-nav-cta { justify-self: end; padding: 9px 13px; border: 1px solid rgba(255,255,255,.13); border-radius: 11px; background: rgba(255,255,255,.07); font-size: 12px; font-weight: 700; transition: transform .2s, background .2s; }
.landing-nav-cta:hover { transform: translateY(-2px); background: rgba(255,255,255,.12); }

.landing-v2-hero { position: relative; isolation: isolate; min-height: max(740px,100svh); display: flex; align-items: center; }
.hero-world { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; scale: 1.035; transform: translate(var(--parallax-x,0),var(--parallax-y,0)); animation: world-breathe 12s ease-in-out infinite alternate; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.hero-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(11,4,28,.98) 0%,rgba(14,5,34,.88) 30%,rgba(13,5,31,.38) 61%,rgba(12,5,28,.12) 100%), linear-gradient(0deg,#10071f 0%,transparent 20%,rgba(4,1,14,.14) 100%); }
.hero-v2-copy { width: min(100% - 48px,1260px); margin: 0 auto; padding-top: 50px; animation: copy-in .9s cubic-bezier(.2,.8,.2,1) both; }
.v2-kicker,.section-index { margin: 0 0 22px; color: #7ce5cd; font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.v2-kicker { display: flex; align-items: center; gap: 9px; }
.v2-kicker span { width: 7px; height: 7px; border-radius: 50%; background: #42cdae; box-shadow: 0 0 0 0 rgba(66,205,174,.55); animation: live-pulse 2s infinite; }
.hero-v2-copy h1 { max-width: 760px; margin: 0; font-size: clamp(68px,8.2vw,126px); font-weight: 780; letter-spacing: -.075em; line-height: .82; }
.hero-v2-copy h1 em { color: transparent; background: linear-gradient(105deg,#ad90ff,#ff7764 55%,#ffd760); background-clip: text; -webkit-background-clip: text; font-style: normal; }
.hero-v2-copy h1 .hero-period { display:inline-block; margin-left:.015em; padding-right:.035em; letter-spacing:0; }
.hero-v2-lede { max-width: 570px; margin: 34px 0 0; color: #c4b8e0; font-size: 18px; line-height: 1.65; }
.hero-v2-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.v2-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 15px; padding: 0 20px; border-radius: 14px; font-size: 14px; font-weight: 750; transition: transform .2s, box-shadow .2s, background .2s; }
.v2-button-primary { color: white; background: linear-gradient(110deg,#7040fb,#c445e8 58%,#f3638d); box-shadow: 0 18px 46px rgba(104,35,225,.38),inset 0 1px rgba(255,255,255,.25); }
.v2-button-primary:hover { transform: translateY(-3px); box-shadow: 0 24px 58px rgba(104,35,225,.52),inset 0 1px rgba(255,255,255,.3); }
.v2-button-primary span { transition: transform .2s; }.v2-button-primary:hover span { transform: translateX(4px); }
.v2-button-ghost { border: 1px solid rgba(255,255,255,.15); background: rgba(13,5,33,.25); backdrop-filter: blur(12px); color: #e0d8f2; }
.v2-button-ghost:hover { transform: translateY(-3px); background: rgba(255,255,255,.08); }
.hero-scroll-cue { position: absolute; bottom: 25px; left: 50%; translate: -50% 0; display: flex; align-items: center; gap: 9px; color: #8375a7; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll-cue span { position: relative; width: 20px; height: 31px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; }
.hero-scroll-cue span::after { content:""; position:absolute; left:8px; top:6px; width:2px; height:6px; border-radius:2px; background:#fff; animation: scroll-drop 1.8s ease infinite; }

.signal-ticker { overflow: hidden; padding: 18px 0; border-block: 1px solid rgba(255,255,255,.08); background: linear-gradient(90deg,#4f22ca,#9f35df,#ed5a8d); rotate: -1.2deg; scale: 1.02; }
.signal-ticker-track { display: flex; width: max-content; animation: ticker 24s linear infinite; will-change: transform; }
.signal-ticker-group { display: flex; flex: 0 0 100vw; align-items: center; justify-content: space-around; gap: 38px; padding-inline: 24px; }
.signal-ticker span { color: white; font-size: 13px; font-weight: 850; letter-spacing: .16em; white-space: nowrap; }.signal-ticker i { color: #ffe46c; font-style: normal; }

.landing-section { width: min(100% - 48px,1260px); margin: 0 auto; padding: 150px 0; }
.landing-section-head { display: grid; grid-template-columns: 1fr minmax(300px,480px); column-gap: 70px; align-items: end; margin-bottom: 62px; }
.landing-section-head .section-index { grid-column: 1/-1; }
.landing-section h2 { margin: 0; font-size: clamp(48px,6vw,82px); font-weight: 750; letter-spacing: -.065em; line-height: .98; }
.landing-section h2 span { color: #a78bea; }.landing-section-head > p:last-child { margin: 0 0 7px; color: #a99dc8; font-size: 17px; line-height: 1.65; }

.live-radar { padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 30px; background: linear-gradient(140deg,rgba(62,25,122,.55),rgba(27,11,61,.7)); box-shadow: 0 45px 100px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.07); }
.radar-topline { display: flex; justify-content: space-between; align-items: center; padding: 2px 5px 17px; color: #9283b7; font-size: 12px; }
.radar-topline span { display: flex; align-items: center; gap: 7px; }.radar-topline i { width: 6px; height: 6px; border-radius: 50%; background: #42cdae; box-shadow: 0 0 13px #42cdae; }.radar-topline a { color: #d9cff0; }
.landing-game-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; min-height: 260px; }
.landing-game-card { position: relative; overflow: hidden; min-width: 0; min-height: 260px; border-radius: 20px; background: #211047; transition: transform .3s,box-shadow .3s; }
.landing-game-card:hover { transform: translateY(-7px); box-shadow: 0 22px 50px rgba(0,0,0,.35); }
.landing-game-card > img { width: 100%; height: 100%; object-fit: cover; }
.landing-game-card::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(10,3,26,.94)); }
.landing-game-info { position:absolute; z-index:2; left:15px; right:15px; bottom:14px; display:flex; align-items:center; gap:10px; }
.landing-game-info img { width:38px; height:38px; border-radius:10px; object-fit:cover; box-shadow:0 4px 14px rgba(0,0,0,.35); }.landing-game-info div { min-width:0; }.landing-game-info b,.landing-game-info span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.landing-game-info b { font-size:13px; }.landing-game-info span { color:#aa9cc9; font-size:10px; }
.landing-game-skeleton { border-radius:20px; background:linear-gradient(100deg,#24114e 20%,#35186d 38%,#24114e 58%); background-size:300% 100%; animation:shimmer 1.4s infinite; }
.landing-strip-error { grid-column:1/-1; align-self:center; max-width:520px; margin:auto; color:#a99dc8; text-align:center; }

.factory-feature { position:relative; display:grid; grid-template-columns:minmax(330px,.78fr) minmax(480px,1.22fr); gap:clamp(38px,6vw,86px); align-items:center; padding-top:90px; }
.factory-feature::before { content:""; position:absolute; z-index:-1; left:-28%; top:12%; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(113,55,236,.2),transparent 66%); pointer-events:none; }
.factory-feature-copy h2 { font-size:clamp(48px,5.5vw,76px); }
.factory-feature-copy > p:not(.section-index) { max-width:510px; margin:27px 0 24px; color:#afa3cd; font-size:17px; line-height:1.68; }
.factory-feature-points { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 30px; }
.factory-feature-points span { padding:8px 11px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(255,255,255,.045); color:#cfc4e7; font-size:11px; font-weight:700; }
.factory-feature-visual { position:relative; overflow:hidden; display:block; padding:9px; border:1px solid rgba(255,255,255,.13); border-radius:30px; background:linear-gradient(145deg,rgba(107,58,221,.42),rgba(255,110,117,.13)); box-shadow:0 40px 90px rgba(2,0,12,.4),inset 0 1px rgba(255,255,255,.11); transform:rotate(1.3deg); transition:transform .35s,border-color .35s; }
.factory-feature-visual:hover { transform:rotate(0) translateY(-6px); border-color:rgba(179,146,255,.42); }
.factory-feature-visual img { display:block; width:100%; height:auto; border-radius:22px; }
.factory-feature-badge { position:absolute; z-index:2; top:24px; left:24px; display:flex; align-items:center; gap:8px; padding:8px 11px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(21,8,47,.8); backdrop-filter:blur(12px); color:white; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 8px 25px rgba(0,0,0,.22); }
.factory-feature-badge i { width:7px; height:7px; border-radius:50%; background:#72efd0; box-shadow:0 0 12px #72efd0; }
.factory-concept-chip { position:absolute; z-index:2; left:24px; bottom:24px; min-width:230px; padding:13px 15px; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(18,7,41,.84); backdrop-filter:blur(14px); box-shadow:0 12px 35px rgba(0,0,0,.3); }
.factory-concept-chip small,.factory-concept-chip strong,.factory-concept-chip span { display:block; }
.factory-concept-chip small { margin-bottom:3px; color:#8be9d2; font-size:8px; font-weight:850; letter-spacing:.12em; }
.factory-concept-chip strong { font-size:17px; letter-spacing:-.02em; }
.factory-concept-chip span { margin-top:3px; color:#b6a9d2; font-size:10px; }

.method-section { padding-top: 105px; }.method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.method-card { position:relative; overflow:hidden; min-height:550px; display:flex; flex-direction:column; align-items:stretch; border:1px solid rgba(255,255,255,.09); border-radius:26px; background:linear-gradient(160deg,rgba(50,21,101,.72),rgba(25,10,57,.9)); transition:transform .3s,border-color .3s; }
.method-card:hover { transform:translateY(-8px); border-color:rgba(180,146,255,.38); }.method-num { position:absolute; z-index:4; top:16px; left:16px; padding:7px 9px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(17,7,38,.68); backdrop-filter:blur(9px); color:#c9bde4; font-size:9px; font-weight:800; letter-spacing:.12em; }
.method-game-visual { position:relative; overflow:hidden; height:315px; margin:8px; border-radius:19px; background:linear-gradient(135deg,#35156d,#1d0c42); }
.method-game-visual::after { content:""; position:absolute; inset:28% 0 0; background:linear-gradient(transparent,rgba(15,5,35,.94)); pointer-events:none; }
.method-game-visual > img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.method-card:hover .method-game-visual > img { transform:scale(1.055); }
.method-game-visual > span { position:absolute; z-index:3; top:14px; right:14px; padding:6px 8px; border-radius:8px; background:rgba(17,7,38,.72); backdrop-filter:blur(8px); color:#e5dcf7; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.09em; }
.method-game-id { position:absolute; z-index:3; left:14px; right:14px; bottom:13px; display:flex; align-items:center; gap:10px; min-width:0; }
.method-game-id > img { width:42px; height:42px; flex:none; border:2px solid rgba(255,255,255,.17); border-radius:11px; object-fit:cover; box-shadow:0 6px 18px rgba(0,0,0,.35); }
.method-game-id > div { min-width:0; }.method-game-id b,.method-game-id small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.method-game-id b { font-size:13px; }.method-game-id small { color:#aa9dc7; font-size:10px; }
.method-copy { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:20px 24px 24px; }
.method-card h3 { margin:0 0 9px; font-size:24px; letter-spacing:-.035em; }.method-card p { margin:0; color:#9e91bf; font-size:15px; line-height:1.6; }.method-card a { margin-top:auto; padding-top:22px; color:#d9cdf2; font-size:13px; font-weight:700; }

.editorial-section { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(45px,7vw,100px); align-items:center; }
.editorial-image { position:relative; overflow:hidden; display:block; border-radius:30px; transform:rotate(-2deg); box-shadow:0 35px 80px rgba(0,0,0,.35); transition:transform .35s; }.editorial-image:hover { transform:rotate(0) scale(1.015); }.editorial-image img { display:block; width:100%; aspect-ratio:1.35; object-fit:cover; }.editorial-image span { position:absolute; left:17px; bottom:17px; padding:8px 11px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(15,6,35,.72); backdrop-filter:blur(10px); font-size:11px; }
.editorial-copy h2 { font-size:clamp(44px,5vw,72px); }.editorial-copy h2 em { color:#ff856c; font-style:normal; }.editorial-copy > p:not(.section-index) { max-width:490px; margin:27px 0; color:#a99dc8; font-size:17px; line-height:1.65; }.text-arrow { display:inline-flex; gap:16px; color:white; font-size:14px; font-weight:750; }.text-arrow span { color:#ff856c; transition:transform .2s; }.text-arrow:hover span { transform:translateX(5px); }

.final-cta { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; text-align:center; width:min(100% - 48px,1260px); margin-bottom:110px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:36px; background:radial-gradient(circle at 50% 120%,rgba(255,105,96,.4),transparent 36%),radial-gradient(circle at 50% 25%,rgba(114,61,242,.6),transparent 52%),#1e0c47; }
.final-cta > :not(.cta-orbit,.cta-mascot) { position:relative; z-index:2; }
.final-cta h2 { margin-bottom:38px; font-size:clamp(65px,8vw,110px); text-shadow:0 5px 28px rgba(19,5,48,.92),0 2px 8px rgba(19,5,48,.8); }.final-cta .v2-button { z-index:2; box-shadow:0 14px 38px rgba(31,7,70,.42); }.cta-orbit { position:absolute; z-index:-1; width:740px; height:740px; top:40%; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012); }
.cta-mascot { position:absolute; z-index:1; left:clamp(-54px,-2vw,-18px); bottom:-42px; width:clamp(360px,34vw,520px); height:auto; pointer-events:none; user-select:none; filter:drop-shadow(0 28px 38px rgba(5,1,24,.46)); animation:mascot-float 4.2s ease-in-out infinite; }
.landing-footer { width:min(100% - 48px,1260px); min-height:110px; margin:0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-top:1px solid rgba(255,255,255,.1); color:#7f719f; font-size:12px; }.landing-footer > a { color:white; font-weight:800; }.landing-footer p { margin:0; }.landing-footer div { justify-self:end; display:flex; gap:20px; }.landing-footer a:hover { color:white; }

.reveal-on-scroll { opacity:0; transform:translateY(35px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.72,.2,1); }.reveal-on-scroll.is-visible { opacity:1; transform:none; }
@keyframes world-breathe { to { scale:1.075; translate:-.6% -.3%; } } @keyframes copy-in { from { opacity:0; transform:translateY(24px); } } @keyframes scroll-drop { 0% { opacity:0; transform:translateY(0); } 45% { opacity:1; } 100% { opacity:0; transform:translateY(10px); } } @keyframes ticker { to { transform:translateX(-50%); } } @keyframes orb-morph { to { border-radius:62% 38% 43% 57%; transform:rotate(12deg) scale(1.05); } } @keyframes mascot-float { 50% { transform:translateY(-9px) rotate(-1.5deg); } }

@media(max-width:1050px){.landing-nav nav a{padding-inline:8px}.factory-feature{grid-template-columns:1fr 1.15fr;gap:34px}}
@media(max-width:900px){.landing-nav{grid-template-columns:1fr auto;width:calc(100% - 20px);}.landing-nav nav{display:none}.landing-nav-cta{font-size:11px}.landing-section-head{grid-template-columns:1fr;gap:22px}.landing-game-strip{grid-template-columns:repeat(3,minmax(190px,1fr));overflow-x:auto;scroll-snap-type:x mandatory}.landing-game-card,.landing-game-skeleton{scroll-snap-align:start}.factory-feature{grid-template-columns:1fr}.factory-feature-copy{max-width:670px}.factory-feature-visual{max-width:760px}.method-grid{grid-template-columns:1fr}.method-card{min-height:380px}.method-orb{margin-block:28px}.editorial-section{grid-template-columns:1fr}.editorial-image{max-width:680px}.landing-footer{grid-template-columns:1fr auto}.landing-footer p{display:none}}
@media(max-width:600px){.landing-nav{height:60px;padding-inline:12px}.landing-brand img{height:25px}.landing-nav-cta{display:none}.landing-nav .member-tab{height:36px}.landing-v2-hero{min-height:760px;align-items:flex-end;padding-bottom:115px}.hero-world{object-position:64% center;opacity:.86}.hero-shade{background:linear-gradient(0deg,#10071f 0%,rgba(12,4,29,.78) 45%,rgba(12,4,29,.12) 78%),linear-gradient(90deg,rgba(11,4,28,.55),transparent)}.hero-v2-copy{width:calc(100% - 32px);padding:0}.hero-v2-copy h1{font-size:clamp(58px,18vw,82px)}.hero-v2-lede{font-size:16px;line-height:1.55}.hero-v2-actions{align-items:stretch}.v2-button{width:100%}.hero-scroll-cue{display:none}.landing-section{width:calc(100% - 32px);padding:105px 0}.landing-section h2{font-size:46px}.landing-section-head{margin-bottom:38px}.landing-section-head>p:last-child{font-size:16px}.live-radar{margin-inline:-16px;border-radius:22px}.landing-game-strip{grid-template-columns:repeat(5,190px);min-height:245px}.landing-game-card{min-height:245px}.factory-feature{padding-top:70px}.factory-feature-visual{margin-inline:-8px;padding:6px;border-radius:22px}.factory-feature-visual img{border-radius:16px}.factory-feature-badge{top:15px;left:15px}.factory-concept-chip{left:15px;bottom:15px;min-width:0;max-width:calc(100% - 30px);padding:10px 12px}.method-section{padding-top:70px}.method-card{min-height:470px;padding:0}.editorial-image{border-radius:22px}.final-cta{width:calc(100% - 24px);padding:90px 20px 145px;margin-bottom:70px}.final-cta h2{font-size:58px}.cta-mascot{right:-25px;bottom:-20px;width:155px}.landing-footer{width:calc(100% - 32px);grid-template-columns:1fr auto;min-height:145px}.landing-footer div{max-width:220px;justify-content:flex-end;gap:8px 12px;flex-wrap:wrap}}
@media(max-width:600px){.final-cta{padding-bottom:165px}.cta-mascot{left:-72px;right:auto;bottom:-34px;width:290px}}
@media(prefers-reduced-motion:reduce){.hero-world,.v2-kicker span,.signal-ticker-track,.method-orb,.cta-mascot{animation:none}.reveal-on-scroll{opacity:1;transform:none}.landing-page *{scroll-behavior:auto!important}}
