/* -------------------------------- */
/* GLOBAL */
/* -------------------------------- */

body{
margin:0;
font-family:'Noto Sans', sans-serif;
color:#222;
background:#ffffff;
line-height:1.7; /* slightly better for Greek */
-webkit-font-smoothing:antialiased;
}


/* -------------------------------- */
/* TYPOGRAPHY */
/* -------------------------------- */

h1, h2{
font-family:'Noto Serif', serif;
font-weight:500;
letter-spacing:0.3px; /* softer for Greek */
text-align:center;
}

h1{
font-size:32px;
margin-bottom:10px;
}

h2{
font-size:24px;
margin-bottom:15px;
}

h3{
font-size:18px;
margin-top:25px;
margin-bottom:10px;
font-weight:500;
}

p{
max-width:700px;
margin:10px auto;
font-size:16px;
color:#444;
text-align:center;
line-height:1.7;
}

/* -------------------------------- */
/* HERO */
/* -------------------------------- */

.hero{
height:100vh;
background-image:url("images/hero.jpg");
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
position:relative;
}

/* overlay for readability */

.hero-overlay{
background:rgba(0,0,0,0.45);
padding:40px;
border-radius:12px;
color:white;
text-align:center;
max-width:90%;
}

/* HERO TEXT */

.hero-overlay h1{
font-size:40px;
margin-bottom:10px;
color:white;
}

.hero-overlay h2{
font-size:26px;
margin-bottom:15px;
color:white;
}

.hero-overlay p{
color:white;
font-size:18px;
line-height:1.8;
}

/* LINE-BY-LINE FADE */

.fade-line{
opacity:0;
transform:translateY(15px);
animation:fadeUp 1.4s ease forwards;
}

.fade-line:nth-child(1){
animation-delay:0.8s;
}

.fade-line:nth-child(2){
animation-delay:1.8s;
}

.fade-line:nth-child(3){
animation-delay:3s;
}

@keyframes fadeUp{
to{
opacity:1;
transform:translateY(0);
}
}

/* -------------------------------- */
/* NAV */
/* -------------------------------- */

.topnav{
position:sticky;
top:0;
background:rgba(255,255,255,0.95);
padding:12px;
border-bottom:1px solid #eee;
backdrop-filter:blur(8px);
z-index:10;
text-align:center;
}

.topnav a{
margin:0 12px;
font-size:14px;
text-decoration:none;
color:#333;
}


/* -------------------------------- */
/* SECTION */
/* -------------------------------- */

.section{
padding:70px 20px;
max-width:900px;
margin:auto;
}


/* -------------------------------- */
/* CARD */
/* -------------------------------- */

.card{
background:#ffffff;
border-radius:12px;
padding:35px;
margin-bottom:40px;
box-shadow:0 8px 30px rgba(0,0,0,0.05);
border:1px solid #f0f0f0;
}


/* -------------------------------- */
/* SUBCARDS */
/* -------------------------------- */

.subcard{
margin:25px 0;
padding:20px;
background:#fafafa;
border-radius:10px;
border:1px solid #eee;
}


/* -------------------------------- */
/* NOTES */
/* -------------------------------- */

.note{
font-size:14px;
color:#777;
margin:10px 0;
line-height:1.5;
}


/* -------------------------------- */
/* LINKS */
/* -------------------------------- */

a{
color:#1a1a1a;
text-decoration:none;
border-bottom:1px solid rgba(0,0,0,0.2);
transition:0.2s;
}

a:hover{
border-bottom:1px solid black;
}


/* -------------------------------- */
/* BUTTON */
/* -------------------------------- */

.button{
display:block;              /* 👈 KEY CHANGE */
width:fit-content;          /* 👈 keeps button size natural */
margin:15px auto;           /* 👈 centers horizontally */
padding:12px 22px;
background:black;
color:white;
border-radius:30px;
text-decoration:none;
font-size:14px;
transition:0.2s;
}

.button:hover{
background:#333;
}



/* -------------------------------- */
/* LISTS */
/* -------------------------------- */

.section ul{
list-style:none;
padding:0;
margin:0;
}

.section ul li{
margin:10px 0;
font-size:15px;
}


/* -------------------------------- */
/* GALLERY */
/* -------------------------------- */

.gallery{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:12px;
margin-top:20px;
}

.gallery img{
width:100%;
height:260px;
object-fit:cover;
border-radius:8px;
transition:0.3s;
cursor:pointer;
}

.gallery img:hover{
transform:scale(1.03);
}


/* -------------------------------- */
/* LIGHTBOX */
/* -------------------------------- */

.lightbox{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
justify-content:center;
align-items:center;
z-index:999;
}

.lightbox img{
max-width:90%;
max-height:90%;
border-radius:8px;
}


/* -------------------------------- */
/* VIDEO */
/* -------------------------------- */

.video-wrapper{
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden;
border-radius:10px;
}

.video-wrapper iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}


/* -------------------------------- */
/* FOOTER */
/* -------------------------------- */

footer{
text-align:center;
padding:40px 20px;
font-size:14px;
color:#777;
}


/* -------------------------------- */
/* MOBILE */
/* -------------------------------- */

@media (max-width:700px){

h1{
font-size:26px;
}

h2{
font-size:20px;
}

.section{
padding:50px 15px;
}

.card{
padding:25px;
}

.gallery{
grid-template-columns:repeat(2, 1fr);
}

.gallery img{
height:180px;
}

}

@media (max-width:700px){

.hero-overlay h1{
font-size:28px;
}

.hero-overlay h2{
font-size:20px;
}

.hero-overlay p{
font-size:16px;
}

}

/* GRID MENU */

.grid-menu{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:15px;
margin-top:30px;
}

.grid-card{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

height:120px;

background:#fafafa;
border-radius:12px;
border:1px solid #eee;

font-size:16px;
text-align:center;

transition:0.2s;
}

.grid-card:hover{
background:#f0f0f0;
transform:translateY(-2px);
}

@keyframes fadeUp{
to{
opacity:1;
transform:translateY(0);
}
}

/* MUSIC BUTTON INSIDE HERO */

.music-btn{
margin-top:20px;
width:40px;
height:40px;

border-radius:50%;
background:rgba(255,255,255,0.9);

display:flex;
align-items:center;
justify-content:center;

cursor:pointer;
font-size:16px;

margin-left:auto;
margin-right:auto;
}