body{
margin:0;
background:black;
color:white;
font-family:'Caudex', serif;
overflow-x:hidden;
}

section{
padding:140px 10%;
}


/* HERO */

.hero{
position:relative;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
}

.hero-video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}

.hero::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
z-index:-1;
}

.hero-inner{
max-width:750px;
transform:translateY(-80px);
}

.hero h1{
font-size:70px;
margin-bottom:20px;
}

.hero p{
font-size:20px;
opacity:.85;
margin-bottom:40px;
}

.hero-btn{
border:1px solid rgba(255,255,255,.4);
padding:14px 36px;
text-decoration:none;
color:white;
}

.hero-btn:hover{
background:white;
color:black;
}


/* STATEMENT */

.statement{
position:relative;
padding:220px 10%;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
}

.statement-video{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}

.statement::after{
content:"";
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,.6);
z-index:-1;
}

.statement-inner{
max-width:900px;
}

.statement p{
font-size:32px;
line-height:1.6;
}


/* MISSION */

.mission{
position:relative;
padding:220px 10%;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
}

.mission-video{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}

.mission::after{
content:"";
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
z-index:-1;
}

.mission-banner{
background:rgba(0,0,0,.65);
padding:50px 60px;
border-radius:10px;
max-width:850px;
backdrop-filter:blur(6px);
}

.mission-banner h2{
font-size:42px;
margin-bottom:20px;
}

.mission-banner p{
font-size:18px;
line-height:1.7;
opacity:.9;
}


/* CAROUSEL */

.tech-carousel{

position:relative;

padding:180px 0;

text-align:center;

overflow:hidden;

min-height:700px;

}

.carousel-video{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

object-fit:cover;

z-index:-2;

}

.tech-carousel::after{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.65);

z-index:-1;

}

.carousel-title{
font-size:42px;
margin-bottom:70px;
position:relative;
z-index:2;
}

.carousel-wrapper{
overflow:hidden;
position:relative;
z-index:2;
}

.carousel-track{
display:flex;
gap:60px;
padding:0 12%;
overflow-x:auto;
scroll-snap-type:x mandatory;
}

.carousel-track::-webkit-scrollbar{
display:none;
}

.carousel-card{
min-width:420px;
background:#151515;
border-radius:16px;
overflow:hidden;
transform:scale(.9);
opacity:.9;
transition:transform .35s ease;
box-shadow:0 20px 60px rgba(0,0,0,.5);
}

.carousel-card:hover{
transform:scale(1);
z-index:5;
}

.carousel-card img{
width:100%;
height:260px;
object-fit:contain;
display:block;
background:#0a0a0a;
filter:brightness(1.15) contrast(1.1);
}

.card-text{
padding:28px;
}

.card-text h3{
font-size:24px;
margin-bottom:10px;
}

.card-text p{
font-size:16px;
line-height:1.6;
opacity:.9;
}


/* CTA */

.cta{
background:black;
text-align:center;
padding:180px 10%;
}

.cta h2{
font-size:42px;
margin-bottom:40px;
}

.cta-buttons{
display:flex;
justify-content:center;
gap:20px;
}

.cta-buttons a{
border:1px solid rgba(255,255,255,.4);
padding:14px 40px;
text-decoration:none;
color:white;
}

.cta-buttons a:hover{
background:white;
color:black;
}