:root{

--cambridge-blue:#8EE8D8;
--cambridge-light:#D1F9F1;
--cambridge-warm:#00BDB6;

--navy:#0E2239;
--dark:#081522;

--text:#F8FCFC;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Inter',sans-serif;

background:var(--dark);

color:var(--text);

overflow-x:hidden;

}

.navbar{

position:fixed;

top:0;

width:100%;

padding:20px 8%;

display:flex;

justify-content:space-between;

align-items:center;

z-index:1000;

background:rgba(8,21,34,.4);

backdrop-filter:blur(20px);

}

.navbar ul{

display:flex;

gap:32px;

list-style:none;

}

.navbar ul a{

color:rgba(142,232,216,.85);

text-decoration:none;

font-weight:500;

transition:.2s;

}

.navbar ul a:hover{

color:var(--cambridge-blue);

}

.logo{

display:flex;

align-items:center;

gap:12px;

font-size:1.3rem;

font-weight:800;

color:var(--cambridge-blue);

text-decoration:none;

transition:.2s;

}

.logo:hover{

opacity:.85;

}

.hero{

position:relative;

height:100vh;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

overflow:hidden;

}

.hero-video{

position:absolute;

width:100%;

height:100%;

object-fit:cover;

z-index:-2;

}

.hero-overlay{

position:absolute;

inset:0;

background:
linear-gradient(
180deg,
rgba(8,21,34,.35),
rgba(8,21,34,.8)
);

z-index:-1;

}

.hero-content{

max-width:1000px;

padding:0 30px;

}

.hero h1{

font-size:7rem;

font-weight:800;

color:var(--cambridge-blue);

}

.hero h2{

font-size:2rem;

font-weight:600;

margin-top:20px;

}

.subtitle{

margin-top:25px;

font-size:1.2rem;

}

.eccv{

color:var(--cambridge-warm);

font-weight:700;

letter-spacing:3px;

}

.hero-buttons{

margin-top:40px;

display:flex;

justify-content:center;

gap:20px;

}

.btn-primary{

display:inline-block;

width:auto;

padding:16px 32px;

border-radius:14px;

background:var(--cambridge-warm);

color:white;

text-decoration:none;

font-weight:600;

}

.btn-secondary{

border:1px solid var(--cambridge-blue);

padding:16px 32px;

border-radius:14px;

text-decoration:none;

color:white;

}

.container{

width:min(1200px,90%);

margin:auto;

}

section{

padding:120px 0;

}

h2{

font-size:3rem;

margin-bottom:50px;

color:var(--cambridge-blue);

}

.grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:24px;

}

.card,
.challenge-card{

background:rgba(255,255,255,.04);

backdrop-filter:blur(15px);

padding:30px;

border-radius:20px;

border:1px solid rgba(142,232,216,.15);

transition:.3s;

}

.card:hover,
.challenge-card:hover,
.speaker-card:hover{

transform:translateY(-8px);

}

.speaker-grid{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:30px;

}

.speaker-card{

width:260px;

background:rgba(255,255,255,.04);

border-radius:20px;

overflow:hidden;

border:1px solid rgba(142,232,216,.15);

transition:all .3s ease;

text-align:center;

}

.speaker-card:hover{

transform:translateY(-8px);

box-shadow:0 10px 40px rgba(142,232,216,.15);

}

.speaker-card img{

width:100%;

height:260px;

object-fit:cover;

display:block;

}

.speaker-card h3{

padding:18px 18px 8px;

font-size:1.15rem;

}

.speaker-card p{

padding:0 18px 20px;

opacity:.85;

font-size:.9rem;

}

.timeline{

display:flex;

flex-direction:column;

gap:20px;

}

.event{

display:grid;

grid-template-columns:120px 1fr;

gap:20px;

padding:20px;

border-radius:18px;

background:rgba(255,255,255,.04);

}

.time{

font-weight:700;

color:var(--cambridge-blue);

}

footer{

padding:60px;

text-align:center;

background:#06111d;

}

@media(max-width:768px){

.hero h1{

font-size:4rem;

}

.hero h2{

font-size:1.4rem;

}


}

#motivation p{

max-width:1000px;

margin-bottom:24px;

font-size:1.05rem;

line-height:1.8;

}

.motivation-grid{

margin-top:50px;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:24px;

}

.motivation-card{

background:rgba(255,255,255,.04);

border:1px solid rgba(142,232,216,.15);

border-radius:20px;

padding:24px;

backdrop-filter:blur(15px);

transition:.3s;

}

.motivation-card:hover{

transform:translateY(-6px);

}

.motivation-card h3{

color:var(--cambridge-blue);

margin-bottom:12px;

}

.tba-card{

display:flex;

flex-direction:column;

}

.tba-placeholder{

height:260px;

display:flex;

align-items:center;

justify-content:center;

font-size:6rem;

font-weight:700;

color:var(--cambridge-blue);

background:
linear-gradient(
135deg,
rgba(142,232,216,.08),
rgba(0,189,182,.08)
);

}


.visitor-counter{

margin-top:15px;

display:flex;

justify-content:center;

align-items:center;

gap:10px;

font-size:.95rem;

opacity:.8;

}

.badge{

display:inline-block;

margin-bottom:20px;

padding:8px 16px;

border-radius:999px;

background:rgba(0,189,182,.15);

color:var(--cambridge-blue);

font-size:.9rem;

font-weight:600;

border:1px solid rgba(142,232,216,.2);

}

.dates-placeholder{

margin:25px 0;

padding:20px;

border-radius:12px;

background:rgba(255,255,255,.03);

border:1px solid rgba(142,232,216,.1);

}

.dates-placeholder div{

padding:8px 0;

opacity:.9;

}

.hero-info{

margin-top:12px;

font-size:1rem;

opacity:.85;

letter-spacing:.5px;

}

#tldr p{

margin-bottom:20px;

line-height:1.8;

}

.sponsor-grid{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:30px;

margin-top:40px;

}

.sponsor-card{

width:320px;

background:rgba(255,255,255,.04);

border:1px solid rgba(142,232,216,.15);

border-radius:20px;

padding:30px;

text-align:center;

backdrop-filter:blur(15px);

transition:.3s;

}

.sponsor-card:hover{

transform:translateY(-6px);

box-shadow:0 10px 40px rgba(142,232,216,.15);

}

.sponsor-logo-placeholder{

height:120px;

display:flex;

align-items:center;

justify-content:center;

border-radius:12px;

margin-bottom:20px;

background:rgba(255,255,255,.03);

border:1px dashed rgba(142,232,216,.25);

font-weight:700;

color:var(--cambridge-blue);

letter-spacing:2px;

}

.sponsor-card h3{

margin-bottom:10px;

color:var(--cambridge-blue);

}

.sponsor-card p{

opacity:.85;

}

.logo-container{

height:140px;

display:flex;

align-items:center;

justify-content:center;

margin-bottom:20px;

}

.sponsor-logo{

max-width:100%;

max-height:120px;

width:auto;

height:auto;

object-fit:contain;

}

.sponsor-call{

max-width:800px;

margin:50px auto 0 auto;

padding:25px;

text-align:center;

background:rgba(255,255,255,.03);

border:1px solid rgba(142,232,216,.12);

border-radius:16px;

}

.sponsor-call p{

margin-bottom:12px;

}

.sponsor-call a{

color:var(--cambridge-blue);

font-weight:600;

text-decoration:none;

}

.sponsor-call a:hover{

text-decoration:underline;

}


.logo img{

height:42px;

width:auto;

}

.hero-logo{

width:120px;

height:auto;

margin-bottom:15px;

}

html{
    scroll-behavior:smooth;
}