
html{
scroll-behavior:smooth;
scroll-padding-top:84px;
}

body{
font-family:Inter,system-ui;
margin:0;
background:#0f172a;
color:white;
}

.topbar{
position:sticky;
top:0;
z-index:1000;
background:rgba(2,6,23,0.9);
border-bottom:1px solid #1e293b;
backdrop-filter:blur(8px);
}

.topbar-inner{
max-width:1100px;
margin:auto;
padding:12px 20px;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
}

.brand{
color:#ffffff;
text-decoration:none;
font-weight:800;
letter-spacing:0.3px;
white-space:nowrap;
}

.menu{
display:flex;
align-items:center;
justify-content:flex-end;
gap:8px;
flex-wrap:wrap;
}

.menu a{
color:#cbd5f5;
text-decoration:none;
font-size:14px;
font-weight:600;
padding:8px 10px;
border-radius:8px;
}

.menu a:hover{
background:#1e293b;
color:#ffffff;
}

.hero{
height:80vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
background:
linear-gradient(rgba(2,6,23,0.62),rgba(2,6,23,0.72)),
url("assets/hotel-josipdol.avif");
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
background-color:#020617;
}

.hero h1{
font-size:60px;
margin-bottom:10px;
}

.subtitle{
font-size:24px;
color:#cbd5f5;
}

.tagline{
opacity:0.8;
margin-bottom:20px;
}

.cta{
background:#6366f1;
padding:15px 30px;
border-radius:10px;
color:white;
text-decoration:none;
font-weight:600;
}

.section{
max-width:1100px;
margin:auto;
padding:80px 20px;
}

.section.dark{
background:#020617;
}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
margin-top:30px;
}

.sponsors{
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

.card{
background:#1e293b;
padding:25px;
border-radius:14px;
}

.challenge-card{
position:relative;
overflow:hidden;
}

.challenge-icon{
display:block;
width:72px;
height:72px;
margin-bottom:14px;
}

.prize{
text-align:center;
font-size:20px;
}

.sponsor{
background:#1e293b;
padding:40px;
border-radius:10px;
text-align:center;
}

.sponsor-butterfly{
display:flex;
align-items:center;
justify-content:center;
min-height:180px;
padding:28px;
grid-column:1 / -1;
}

.sponsor-logo{
display:block;
width:min(100%,560px);
height:auto;
}

.sponsor-placeholder{
color:#94a3b8;
font-weight:600;
border:1px dashed #334155;
}

.sponsor-link{
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
color:#e2e8f0;
}

.sponsor-company{
flex-direction:column;
gap:12px;
border:1px solid #334155;
}

.sponsor-company-logo{
display:block;
height:auto;
max-width:100%;
object-fit:contain;
}

.sponsor-company-logo-wide{
width:min(100%,240px);
max-height:70px;
}

.sponsor-company-logo-icon{
width:96px;
height:96px;
}

.sponsor-name{
font-size:20px;
font-weight:700;
color:#e2e8f0;
line-height:1;
}

.sponsor-link:hover{
border-color:#475569;
color:#ffffff;
}

.apply-form{
display:flex;
flex-direction:column;
gap:12px;
max-width:500px;
}

input,textarea{
padding:12px;
border-radius:8px;
border:none;
}

button{
padding:14px;
background:#6366f1;
color:white;
border:none;
border-radius:8px;
cursor:pointer;
}

footer{
text-align:center;
padding:40px;
color:#94a3b8;
}

@media (max-width:600px){
.topbar-inner{
padding:10px 14px;
flex-direction:column;
align-items:flex-start;
}

.menu{
width:100%;
overflow-x:auto;
flex-wrap:nowrap;
}

.sponsor-butterfly{
min-height:140px;
padding:20px;
grid-column:auto;
}

.sponsor-logo{
width:min(100%,320px);
}
}
