/*==============================*/
/* RESET */
/*==============================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:#050505;
color:#fff;
overflow-x:hidden;
}

/*==============================*/
/* BACKGROUND */
/*==============================*/

.background-grid{
position:fixed;
inset:0;
background-image:
linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
background-size:60px 60px;
z-index:-3;
}

.background-glow{
position:fixed;
width:700px;
height:700px;
background:#ffffff10;
filter:blur(180px);
border-radius:50%;
left:50%;
top:-250px;
transform:translateX(-50%);
z-index:-2;
}

.noise{
position:fixed;
inset:0;
background:url("noise.png");
opacity:.03;
pointer-events:none;
z-index:-1;
}

/*==============================*/
/* NAVBAR */
/*==============================*/

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
padding:28px 9%;
display:flex;
justify-content:space-between;
align-items:center;
backdrop-filter:blur(18px);
background:rgba(0,0,0,.35);
border-bottom:1px solid rgba(255,255,255,.08);
z-index:1000;
}

.logo{
font-size:1rem;
font-weight:800;
letter-spacing:8px;
text-transform:uppercase;
}

.navbar nav{
display:flex;
gap:45px;
}

.navbar nav a{
color:#d6d6d6;
text-decoration:none;
font-size:.9rem;
transition:.3s;
}

.navbar nav a:hover{
color:#fff;
}

/*==============================*/
/* HERO */
/*==============================*/

.hero{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
padding:0 9%;
position:relative;
text-align:center;
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(to bottom,transparent,#050505);
}

.hero-content{
position:relative;
z-index:2;
max-width:900px;
}

.hero-mini{
display:inline-block;
padding:10px 20px;
border:1px solid rgba(255,255,255,.12);
border-radius:50px;
letter-spacing:3px;
font-size:.8rem;
margin-bottom:30px;
color:#cfcfcf;
}

.hero h1{
font-size:6rem;
font-weight:900;
line-height:1;
letter-spacing:-4px;
margin-bottom:30px;
}

.hero h1 span{
display:block;
color:#bdbdbd;
}

.hero p{
font-size:1.1rem;
line-height:1.8;
max-width:700px;
margin:auto;
color:#a7a7a7;
}

.hero-buttons{
margin-top:45px;
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.btn-primary{
background:#fff;
color:#000;
padding:16px 40px;
text-decoration:none;
font-weight:700;
border-radius:50px;
transition:.3s;
}

.btn-primary:hover{
transform:translateY(-4px);
}

.btn-secondary{
border:1px solid rgba(255,255,255,.15);
padding:16px 40px;
border-radius:50px;
color:#fff;
text-decoration:none;
transition:.3s;
}

.btn-secondary:hover{
background:#ffffff10;
}

.hero-scroll{
position:absolute;
bottom:40px;
left:50%;
transform:translateX(-50%);
font-size:.75rem;
letter-spacing:4px;
color:#888;
}

/*==============================*/
/* PROGRESS */
/*==============================*/

.progress-section{
padding:120px 9% 80px;
max-width:1200px;
margin:auto;
}

.progress-top{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
font-size:.9rem;
letter-spacing:3px;
text-transform:uppercase;
color:#bdbdbd;
}

.progress-bar{
width:100%;
height:8px;
background:#161616;
border-radius:50px;
overflow:hidden;
}

.progress-fill{
width:25%;
height:100%;
background:linear-gradient(90deg,#ffffff,#9b9b9b);
border-radius:50px;
}

/*==============================*/
/* ROADMAP */
/*==============================*/

.roadmap-section{
padding:120px 9%;
max-width:1400px;
margin:auto;
}

.section-mini{
display:inline-block;
padding:8px 18px;
border:1px solid rgba(255,255,255,.12);
border-radius:50px;
font-size:.75rem;
letter-spacing:3px;
margin-bottom:25px;
color:#bdbdbd;
}

.roadmap-section h2{
font-size:3rem;
margin-bottom:20px;
font-weight:800;
}

.roadmap-section p{
max-width:700px;
line-height:1.8;
color:#9c9c9c;
margin-bottom:70px;
}

.roadmap{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.roadmap-item{
background:#0d0d0d;
border:1px solid rgba(255,255,255,.08);
border-radius:24px;
padding:35px;
transition:.35s;
}

.roadmap-item:hover{
transform:translateY(-8px);
border-color:rgba(255,255,255,.2);
}

.roadmap-dot{
width:18px;
height:18px;
border-radius:50%;
background:#555;
margin-bottom:25px;
}

.roadmap-item.active .roadmap-dot{
background:#fff;
box-shadow:0 0 20px rgba(255,255,255,.7);
}

.roadmap-item h3{
font-size:1.3rem;
margin-bottom:10px;
}

.roadmap-item span{
color:#a7a7a7;
font-size:.9rem;
}

/*==============================*/
/* TRAILERS */
/*==============================*/

.trailers-section{
padding:120px 9%;
max-width:1500px;
margin:auto;
}

.trailers-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:40px;
}

.trailer-card{
background:#0d0d0d;
border:1px solid rgba(255,255,255,.08);
border-radius:30px;
overflow:hidden;
transition:.35s;
}

.trailer-card:hover{
transform:translateY(-10px);
border-color:rgba(255,255,255,.2);
}

.trailer-image{
height:340px;
background:#111;
display:flex;
justify-content:center;
align-items:center;
position:relative;
overflow:hidden;
}

.trailer-image video{
width:100%;
height:100%;
object-fit:cover;
}

.locked-image{
background:
linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.75)),
repeating-linear-gradient(
45deg,
#111,
#111 12px,
#191919 12px,
#191919 24px
);
}

.classified{
position:absolute;
top:25px;
left:25px;
padding:10px 18px;
border:1px solid rgba(255,255,255,.15);
border-radius:50px;
font-size:.8rem;
letter-spacing:3px;
background:#ffffff10;
backdrop-filter:blur(10px);
}

/*==============================*/
/* TRAILER CONTENT */
/*==============================*/

.trailer-content{
padding:35px;
}

.trailer-content span{
display:inline-block;
font-size:.75rem;
letter-spacing:3px;
text-transform:uppercase;
color:#8f8f8f;
margin-bottom:15px;
}

.trailer-content h3{
font-size:2rem;
font-weight:800;
margin-bottom:18px;
}

.trailer-content p{
color:#a9a9a9;
line-height:1.8;
margin-bottom:30px;
}

.trailer-status{
display:inline-flex;
align-items:center;
padding:10px 18px;
border-radius:50px;
border:1px solid rgba(255,255,255,.08);
background:#111;
color:#cfcfcf;
font-size:.8rem;
letter-spacing:2px;
text-transform:uppercase;
}

.released-status{
background:#fff;
color:#000;
font-weight:700;
}

.opening-status{
background:#ffffff10;
backdrop-filter:blur(10px);
}

.watch-btn{
display:inline-block;
margin-top:25px;
padding:15px 35px;
background:#fff;
color:#000;
text-decoration:none;
font-weight:700;
border-radius:50px;
transition:.3s;
}

.watch-btn:hover{
transform:translateY(-5px);
box-shadow:0 15px 35px rgba(255,255,255,.15);
}

/*==============================*/
/* COUNTDOWN */
/*==============================*/

.countdown{
position:absolute;
left:50%;
bottom:35px;
transform:translateX(-50%);
display:flex;
gap:18px;
}

.countdown div{
min-width:90px;
padding:20px;
background:rgba(0,0,0,.55);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
border-radius:18px;
text-align:center;
}

.countdown h2{
font-size:2rem;
font-weight:800;
margin-bottom:8px;
}

.countdown span{
font-size:.7rem;
letter-spacing:2px;
color:#a5a5a5;
}

.countdown.big{
position:static;
transform:none;
justify-content:center;
margin-top:40px;
}

.countdown.big div{
min-width:120px;
padding:30px;
}

.countdown.big h2{
font-size:3rem;
}

/*==============================*/
/* OPENING CARD */
/*==============================*/

.opening{
grid-column:span 2;
}

.opening-image{
height:520px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
background:
radial-gradient(circle at top,#2b2b2b 0%,#111 35%,#050505 100%);
position:relative;
overflow:hidden;
}

.opening-image::before{
content:"";
position:absolute;
width:700px;
height:700px;
border-radius:50%;
background:rgba(255,255,255,.05);
filter:blur(120px);
top:-250px;
left:50%;
transform:translateX(-50%);
}

.opening-image h2{
position:relative;
font-size:4rem;
font-weight:900;
letter-spacing:10px;
text-transform:uppercase;
margin-bottom:60px;
text-align:center;
line-height:1;
z-index:2;
}

.opening-image .countdown{
position:relative;
left:auto;
bottom:auto;
transform:none;
display:flex;
justify-content:center;
gap:25px;
z-index:2;
}

.opening-image .countdown div{
width:140px;
height:140px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
border-radius:25px;
backdrop-filter:blur(20px);
}

.opening-image .countdown h2{
font-size:3.4rem;
font-weight:900;
margin:0;
letter-spacing:0;
}

.opening-image .countdown span{
margin-top:10px;
font-size:.75rem;
letter-spacing:3px;
color:#9b9b9b;
}
/*==============================*/
/* STORY SECTION */
/*==============================*/

.story-section{
padding:120px 9%;
max-width:1300px;
margin:auto;
text-align:center;
}

.story-section h2{
font-size:3.2rem;
font-weight:900;
margin-bottom:30px;
}

.story-section p{
max-width:850px;
margin:auto;
font-size:1.05rem;
line-height:2;
color:#a5a5a5;
}

.story-grid{
margin-top:70px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.story-card{
background:#0d0d0d;
border:1px solid rgba(255,255,255,.08);
border-radius:28px;
padding:40px;
transition:.35s;
}

.story-card:hover{
transform:translateY(-8px);
border-color:rgba(255,255,255,.18);
box-shadow:0 20px 50px rgba(255,255,255,.04);
}

.story-card h3{
font-size:1.3rem;
letter-spacing:2px;
margin-bottom:18px;
}

.story-card p{
margin:0;
color:#a7a7a7;
line-height:1.9;
}

/*==============================*/
/* CHAPTERS */
/*==============================*/

.chapters-section{
padding:120px 9%;
max-width:1400px;
margin:auto;
}

.chapters-section h2{
font-size:3rem;
margin-bottom:60px;
font-weight:900;
}

.chapters{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.chapter-card{
background:#0d0d0d;
border:1px solid rgba(255,255,255,.08);
border-radius:24px;
padding:35px;
transition:.35s;
}

.chapter-card:hover{
transform:translateY(-8px);
border-color:rgba(255,255,255,.18);
}

.chapter-number{
width:60px;
height:60px;
display:flex;
justify-content:center;
align-items:center;
border-radius:50%;
background:#181818;
font-size:1.3rem;
font-weight:800;
margin-bottom:25px;
}

.completed .chapter-number{
background:#fff;
color:#000;
}

.chapter-card h3{
font-size:1.2rem;
margin-bottom:12px;
}

.chapter-card p{
color:#9f9f9f;
line-height:1.8;
}

/*==============================*/
/* QUOTE SECTION */
/*==============================*/

.quote-section{
padding:140px 9%;
text-align:center;
background:linear-gradient(180deg,#050505,#090909,#050505);
}

.quote-section h2{
font-size:4rem;
font-weight:900;
line-height:1.3;
max-width:900px;
margin:auto;
letter-spacing:-2px;
color:#fff;
}

.quote-section h2::before{
content:"“";
display:block;
font-size:6rem;
color:rgba(255,255,255,.08);
margin-bottom:10px;
}

.quote-section h2::after{
content:"”";
display:block;
font-size:6rem;
color:rgba(255,255,255,.08);
margin-top:10px;
}

/*==============================*/
/* SECRET SECTION */
/*==============================*/

.secret-section{
padding:150px 9%;
text-align:center;
max-width:1100px;
margin:auto;
}

.secret-section span{
display:inline-block;
padding:10px 20px;
border:1px solid rgba(255,255,255,.08);
border-radius:50px;
font-size:.75rem;
letter-spacing:4px;
color:#9b9b9b;
margin-bottom:30px;
}

.secret-section h2{
font-size:3.6rem;
font-weight:900;
line-height:1.2;
margin-bottom:30px;
}

.secret-section p{
max-width:700px;
margin:auto;
font-size:1.05rem;
line-height:2;
color:#a5a5a5;
}

/*==============================*/
/* FOOTER */
/*==============================*/

.footer{
padding:80px 9%;
border-top:1px solid rgba(255,255,255,.08);
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:30px;
}

.footer-logo{
font-size:1.3rem;
font-weight:900;
letter-spacing:8px;
}

.footer-links{
display:flex;
gap:35px;
}

.footer-links a{
color:#9f9f9f;
text-decoration:none;
transition:.3s;
}

.footer-links a:hover{
color:#fff;
}

.footer p{
width:100%;
margin-top:20px;
text-align:center;
color:#777;
font-size:.9rem;
letter-spacing:1px;
}

/*==============================*/
/* SCROLLBAR */
/*==============================*/

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#050505;
}

::-webkit-scrollbar-thumb{
background:#2d2d2d;
border-radius:50px;
}

::-webkit-scrollbar-thumb:hover{
background:#555;
}

/*==============================*/
/* FINAL POLISH */
/*==============================*/

.quote-section{
padding:180px 9%;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
}

.quote-section h2{
font-size:4.5rem;
font-weight:900;
line-height:1.2;
max-width:900px;
letter-spacing:-3px;
background:linear-gradient(180deg,#fff,#b8b8b8);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.secret-section{
padding:180px 9%;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

.secret-section span{
padding:12px 28px;
border:1px solid rgba(255,255,255,.12);
background:rgba(255,255,255,.04);
backdrop-filter:blur(20px);
border-radius:50px;
letter-spacing:5px;
font-size:.75rem;
margin-bottom:35px;
}

.secret-section h2{
font-size:4rem;
font-weight:900;
line-height:1.15;
margin-bottom:30px;
max-width:850px;
}

.secret-section p{
max-width:760px;
font-size:1.05rem;
line-height:2;
color:#9f9f9f;
}

.footer{
padding:90px 9% 60px;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
border-top:1px solid rgba(255,255,255,.08);
}

.footer-logo{
font-size:2rem;
font-weight:900;
letter-spacing:12px;
margin-bottom:35px;
}

.footer-links{
display:flex;
justify-content:center;
align-items:center;
gap:45px;
margin-bottom:35px;
}

.footer-links a{
position:relative;
font-size:.95rem;
letter-spacing:2px;
text-transform:uppercase;
color:#8f8f8f;
text-decoration:none;
transition:.35s;
}

.footer-links a:hover{
color:#fff;
}

.footer-links a::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:0;
height:1px;
background:#fff;
transition:.35s;
}

.footer-links a:hover::after{
width:100%;
}

.footer p{
color:#6f6f6f;
font-size:.9rem;
letter-spacing:1px;
}

/*==============================*/
/* RESPONSIVE */
/*==============================*/

@media(max-width:1200px){

.hero h1{
font-size:5rem;
}

.roadmap{
grid-template-columns:repeat(2,1fr);
}

.trailers-grid{
grid-template-columns:1fr;
}

.opening{
grid-column:span 1;
}

.story-grid{
grid-template-columns:repeat(2,1fr);
}

.chapters{
grid-template-columns:repeat(2,1fr);
}

.countdown.big div{
width:120px;
height:120px;
}

}

@media(max-width:900px){

.navbar{
padding:22px 7%;
flex-direction:column;
gap:20px;
}

.navbar nav{
gap:25px;
flex-wrap:wrap;
justify-content:center;
}

.hero{
padding:120px 7% 80px;
}

.hero h1{
font-size:4rem;
}

.hero p{
font-size:1rem;
}

.hero-buttons{
flex-direction:column;
align-items:center;
}

.btn-primary,
.btn-secondary{
width:100%;
max-width:320px;
text-align:center;
}

.progress-section,
.roadmap-section,
.trailers-section,
.story-section,
.chapters-section,
.quote-section,
.secret-section,
.footer{
padding-left:7%;
padding-right:7%;
}

.story-grid{
grid-template-columns:1fr;
}

.chapters{
grid-template-columns:1fr;
}

.countdown{
position:relative;
left:auto;
bottom:auto;
transform:none;
margin-top:25px;
justify-content:center;
flex-wrap:wrap;
}

.countdown div{
width:95px;
min-width:95px;
padding:18px;
}

.opening-image{
height:auto;
padding:70px 20px;
}

.opening-image h2{
font-size:2.8rem;
letter-spacing:4px;
}

.opening-image .countdown div{
width:110px;
height:110px;
}

.quote-section h2{
font-size:3rem;
}

.secret-section h2{
font-size:3rem;
}

.footer-links{
flex-wrap:wrap;
gap:25px;
}

}

@media(max-width:600px){

.logo{
font-size:.9rem;
letter-spacing:5px;
}

.navbar nav a{
font-size:.8rem;
}

.hero{
min-height:90vh;
}

.hero-mini{
font-size:.7rem;
padding:8px 16px;
}

.hero h1{
font-size:2.7rem;
letter-spacing:-2px;
}

.hero p{
font-size:.95rem;
line-height:1.8;
}

.section-mini{
font-size:.7rem;
letter-spacing:2px;
}

.roadmap-section h2,
.story-section h2,
.chapters-section h2{
font-size:2.2rem;
}

.roadmap{
grid-template-columns:1fr;
}

.trailer-content{
padding:25px;
}

.trailer-content h3{
font-size:1.5rem;
}

.trailer-content p{
font-size:.95rem;
}

.trailer-image{
height:240px;
}

.classified{
font-size:.7rem;
padding:8px 14px;
}

.countdown{
gap:10px;
}

.countdown div{
width:72px;
min-width:72px;
padding:12px;
border-radius:14px;
}

.countdown h2{
font-size:1.4rem;
}

.countdown span{
font-size:.6rem;
letter-spacing:1px;
}

.opening-image h2{
font-size:2rem;
letter-spacing:3px;
margin-bottom:30px;
}

.opening-image .countdown{
gap:10px;
}

.opening-image .countdown div{
width:80px;
height:80px;
}

.opening-image .countdown h2{
font-size:1.8rem;
}

.quote-section{
padding:100px 7%;
}

.quote-section h2{
font-size:2rem;
}

.secret-section{
padding:100px 7%;
}

.secret-section h2{
font-size:2.1rem;
}

.secret-section p{
font-size:.95rem;
}

.footer-logo{
font-size:1.3rem;
letter-spacing:6px;
}

.footer-links{
flex-direction:column;
gap:18px;
}

.footer-links a{
font-size:.85rem;
}

.footer p{
font-size:.8rem;
}

}

/*==============================*/
/* WEBSITE RELEASE MOBILE */
/*==============================*/

@media(max-width:600px){

.opening-image{
padding:50px 20px;
height:auto;
}

.opening-image h2{
font-size:1.7rem;
letter-spacing:2px;
margin-bottom:30px;
line-height:1.3;
text-align:center;
}

.opening-image .countdown{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:15px;
width:100%;
max-width:280px;
margin:auto;
}

.opening-image .countdown div{
width:100%;
height:90px;
padding:12px;
border-radius:16px;
}

.opening-image .countdown h2{
font-size:2rem;
margin:0;
}

.opening-image .countdown span{
font-size:.65rem;
letter-spacing:2px;
margin-top:6px;
}

}

/*==============================*/
/* WEBSITE PREVIEW */
/*==============================*/

.preview-section{
position:relative;
padding:140px 8%;
overflow:hidden;
background:linear-gradient(to bottom,#050505 0%,#0b0b0b 40%,#050505 100%);
}

.preview-section::before{
content:"";
position:absolute;
top:-250px;
left:50%;
transform:translateX(-50%);
width:900px;
height:900px;
background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);
pointer-events:none;
z-index:0;
}

.preview-section>*{
position:relative;
z-index:1;
}
.preview-section .section-title{
text-align:center;
max-width:750px;
margin:0 auto 70px;
}

.preview-section .section-title span{
display:block;
color:#888;
font-size:.85rem;
letter-spacing:4px;
margin-bottom:12px;
text-transform:uppercase;
}

.preview-section .section-title h2{
font-size:clamp(2.5rem,5vw,4rem);
font-weight:700;
margin-bottom:20px;
color:#fff;
}

.preview-section .section-title p{
color:#aaa;
font-size:1rem;
line-height:1.8;
}

.preview-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
}

.preview-card{
position:relative;
overflow:hidden;
border-radius:24px;
border:1px solid rgba(255,255,255,.08);
background:#111;
cursor:pointer;
transition:.45s;
}

.preview-card img{
width:100%;
height:420px;
object-fit:cover;
display:block;
transition:.7s;
}

.preview-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.05));
z-index:1;
}

.preview-overlay{
position:absolute;
left:35px;
right:35px;
bottom:30px;
z-index:2;
transition:.45s;
}

.preview-overlay span{
display:inline-block;
font-size:.8rem;
letter-spacing:3px;
color:#bbb;
margin-bottom:12px;
}

.preview-overlay h3{
font-size:2rem;
color:#fff;
margin-bottom:10px;
}

.preview-overlay p{
color:#d0d0d0;
font-size:.95rem;
line-height:1.7;
max-width:90%;
}

.preview-card:hover{
transform:translateY(-10px);
border-color:rgba(255,255,255,.2);
box-shadow:0 30px 80px rgba(0,0,0,.5);
}

.preview-card:hover img{
transform:scale(1.08);
}

.preview-card:hover .preview-overlay{
transform:translateY(-8px);
}

/*==============================*/
/* MOBILE */
/*==============================*/

@media(max-width:900px){

.preview-grid{
grid-template-columns:1fr;
}

.preview-card img{
height:300px;
}

.preview-overlay{
left:25px;
right:25px;
bottom:22px;
}

.preview-overlay h3{
font-size:1.5rem;
}

.preview-overlay p{
font-size:.9rem;
max-width:100%;
}

}

@media(max-width:600px){

.preview-section{
padding:90px 20px;
}

.preview-section .section-title{
margin-bottom:45px;
}

.preview-section .section-title h2{
font-size:2.2rem;
}

.preview-card{
border-radius:18px;
}

.preview-card img{
height:240px;
}

.preview-overlay{
left:20px;
right:20px;
bottom:18px;
}

.preview-overlay span{
font-size:.7rem;
}

.preview-overlay h3{
font-size:1.25rem;
}

.preview-overlay p{
font-size:.85rem;
line-height:1.6;
}

}