:root{
    --ink:#171717;
    --paper:#f4f0e9;
    --accent:#bd311f;
    --line:#d8d1c8
}
*{
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
}
body{
    margin:0;
    color:var(--ink);
    background:var(--paper);
    font-family:Montserrat,Arial,sans-serif;
}
.site-header{
    height:115px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 5.5vw;
    position:sticky;
    top:0;
    z-index:20;
    border-bottom:1px solid #eee;
}
.logo{
    color:#111;
    text-decoration:none;
    font-size:25px;
    font-weight:900;
    letter-spacing:2px;
    line-height:.9;
}
.logo span{
    display:block;
    font-size:7px;
    letter-spacing:2.2px;
    margin-top:7px;
    font-weight:600;
}
nav{
    display:flex;
    gap:32px;
}
nav a{
    font-size:15px;
    font-weight:700;
    letter-spacing:1px;
    color:#222;
    text-decoration:none;
}
.menu-btn{
    display:none;
    border:0;
    background:none;
}
.hero{
    height:calc(100vh - 110px);
    min-height:620px;
    position:relative;
    overflow:hidden;
}
/* 1. Κύριο φόντο με overlay */
/* 1. Base Container */
 .hero {
     position: relative;
     width: 100%;
}
/* 2. Background Image & Flexbox Alignment */
 .hero-image {
     min-height: 88vh;
     position: relative;
     background-image: linear-gradient( 137deg, rgba(229, 0, 126, 0.89) 0%, rgba(0, 0, 0, 0.89) 100% ), url('danistiki-vivliothiki.jpg');
     background-position: center center;
     background-repeat: no-repeat;
     background-size: cover;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     padding: 40px 20px;
     box-sizing: border-box;
}
 .hero-copy {
     background-color: #C5006C54;
     padding: 50px 60px;
     border-radius: 25px;
     text-align: left;
    /* Το κείμενο μέσα παραμένει αριστερά στοιχισμένο */
     max-width: 900px;
    /* Ώστε να κάνει αλλαγή γραμμής ακριβώς όπως στη φωτογραφία */
     width: 100%;
     box-sizing: border-box;
}
 .hero-copy p {
     margin: 0;
     color: #FFFFFF;
     font-family: Montserrat,Arial,sans-serif;
     font-size: 70px;
     font-weight: 900;
     line-height: 1.1;
     letter-spacing: 2.5px;
     text-transform: uppercase;
}
 .scroll-cue {
     position: absolute;
     bottom: 20px;
     left: 50%;
     transform: translateX(-50%);
     color: #FFFFFF;
     font-size: 24px;
     text-decoration: none;
}
 @media (max-width: 767px) {
     .hero-copy {
         padding: 30px 25px;
         border-radius: 18px;
         max-width: 90%;
    }
     .hero-copy p {
         font-size: 26px;
         letter-spacing: 1px;
    }
}
.scroll-cue{
    position:absolute;
    z-index:1;
    bottom:25px;
    left:50%;
    transform:translateX(-50%);
    font-size:32px;
    color:white;
    text-decoration:none;
}
.section{
    padding:120px 8vw;
}
.intro{
    display:block;
    text-align:center;
    padding-left:600px;
    padding-right:600px;
    background:#fff;
}
.intro h1{
    font-family:Montserrat,Arial,sans-serif;
    font-size:clamp(32px,4vw,60px);
    font-weight:300;
    line-height:1.05;
    margin:0;
}
.intro-text{
    font-weight:500;
    font-size:17px;
    line-height:1.3;
    padding-top:20px;
    color:#000;
}
.intro-text p{
    margin:0 0 8px;
}
.languages{
    background:var(--paper);
}
.section-head{
    font-family:Montserrat,Arial,sans-serif;
    font-size:clamp(30px,4vw,55px);
    text-align:center;
    line-height:1.05;
    margin-bottom:65px;
    display:flex;
    flex-direction:column;
}
.section-head strong{
    font-weight:500;
}
.language-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
}
.lang-card{
    background:#fff;
    min-width:0;
    
}
.photo{
    height:450px;
    background-size:cover;
    background-position:center;
}

.photo-wrapper {
  position: relative;
  overflow: hidden;
  height: 450px; /* Σταθερό ύψος */
}

.photo-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Διατηρεί τις αναλογίες χωρίς να παραμορφώνεται */
  display: block;
  transition: transform 0.8s cubic-bezier(0.25, 0, 0.2, 1); /* Ίδιο smooth easing με το παράδειγμα */
}

.lang-card:hover .photo-wrapper img {
  transform: scale(1.1);
}

.english .photo{
    background-image:url('damianou-english.jpg');
}
.french .photo{
    background-image:url('damianou-gallika.jpg');
}
.german .photo{
    background-image:url('damianou-germanika.jpg');
}
.spanish .photo{
    background-image:url('damianou-ispanika.jpg');
}
.russian .photo{
    background-image:url('damianou-rosika.jpg');
}
.card-body{
    padding:25px
}
.card-body small{
    text-transform:uppercase;
    color:#E5007E;
    font-weight:700;
    font-size:11px;
}
.card-body h2{
    font-family:Montserrat,Arial,sans-serif;
    font-size:30px;
    margin:12px 0;
}
.card-body p{
    font-size:15px;
    line-height:1.75;
    margin:0;
}
.faq{
    background:#fff;
    display:block;
}
.faq-title span{
    color:#E5007E;
    font-size:25px;
    font-weight:800;
    letter-spacing:2px;
}
.faq-title h2{
    font-family:Montserrat,Arial,sans-serif;
    font-size:clamp(50px,6vw,85px);
    margin:8px 0;
    line-height:.9;
}
.faq-lead{
    grid-column:2;
    font-size:17px;
    line-height:1.8;
}
.accordion{
    grid-column:2;
}
.accordion details{
    border-top:1px solid var(--line);
    padding:20px 0;
}
.accordion details:last-child{
    border-bottom:1px solid var(--line);
}
summary{
    list-style:none;
    cursor:pointer;
    font-size:16px;
    font-weight:700;
    display:flex;
    justify-content:space-between;
    gap:20px;
}
summary::-webkit-details-marker{
    display:none;
}
summary b{
    font-size:22px;
    color:#E5007E;
    font-weight:400;
}
.accordion details[open] summary b{
    transform:rotate(45deg);
}
.accordion p{
    line-height:1.8;
    max-width:100%;
    font-size:16px;
    color:#555;
}
.contact{
    background:#E5007E;
    color:#fff;
    display:grid;
    grid-template-columns:1fr 1fr;
}
.contact-photo{
    min-height:720px;
}
.contact-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.contact-info{
    padding:9vw 8vw;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}
.contact-info>div:first-child{
    grid-column:1/-1;
}
.contact-info span{
    font-size:20px;
    color:#fff;
    font-weight:bold;
    letter-spacing:2px;
}
.contact h2{
    font-family:Montserrat,Arial,sans-serif;
    font-size:55px;
    margin:10px 0 28px;
}
.contact h3{
    font-size:17px;
    text-transform:uppercase;
    letter-spacing:1px;
}
.contact p,.contact a{
    font-size:16px;
    line-height:1.9;
    color:#fff;
    text-decoration:none;
}
.contact-info a{
    display:block;
}
.social a{
    color:#e4e4e4;
}
footer{
    background:#111;
    color:#fff;
    padding:28px 5.5vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:12px;
}
footer a{
    color:#fff;
    text-decoration:none;
}
.hostnetics img{
    width:95px;
    max-height:32px;
}
 @media(max-width:1050px){
    .language-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .faq{
        grid-template-columns:1fr
    }
    .faq-lead,.accordion{
        grid-column:1;
        margin:0;
    }
    .faq{
        gap:25px;
    }
    .section{
        padding:90px 7vw;
    }
}
@media(max-width:700px){
    .site-header{
        height:115px;
        padding:0 24px;
    }
    .logo{
        font-size:20px;
    }
    nav{
        display:none;
        position:absolute;
        top:130px;
        left:0;
        right:0;
        background:#fff;
        padding:24px;
        flex-direction:column;
        gap:22px;
        border-top:1px solid #eee;
    }
    nav.open{
        display:flex;
    }
    .menu-btn{
        display:flex;
        width:30px;
        flex-direction:column;
        gap:5px;
    }
    .menu-btn i{
        height:2px;
        background:#111;
        width:100%;
        display:block;
    }
    .hero{
        height:calc(100vh - 74px);
        min-height:560px;
    }
    .hero-copy{
        left:8vw;
        bottom:20%;
        font-size:clamp(39px,12vw,62px);
        letter-spacing:-2px;
    }
    .section{
        padding:75px 24px;
    }
    .intro{
        grid-template-columns:1fr;
        gap:38px;
    }
    .intro-text{
        font-size:15px;
        line-height:1.8;
    }
    .language-grid{
        grid-template-columns:1fr;
    }
    .photo{
        height:380px;
    }
    .faq-title h2{
        font-size:60px;
    }
    .contact{
        grid-template-columns:1fr;
    }
    .contact-photo{
        min-height:420px;
    }
    .contact-info{
        padding:70px 24px;
        grid-template-columns:1fr;
        gap:35px;
    }
    .contact-info h2{
        font-size:45px;
    }
    .contact-info>div:first-child{
        grid-column:auto;
    }
    footer{
        padding:28px 24px;
        flex-direction:column;
        text-align:center;
    }
    .section-head{
        margin-bottom:40px;
    }
}
 