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

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
color:#222;
}

img{
max-width:100%;
display:block;
}

a{
outline-offset:3px;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}


/* HEADER */

.header{
position:absolute;
top:0;
left:0;
width:100%;
z-index:1000;
padding:25px 0;
transition:.3s;
}

.header-container{
display:flex;
align-items:center;
justify-content:space-between;
}

.logo a{
display:flex;
align-items:center;
text-decoration:none;
}

.logo-img{
border-radius:50%;
object-fit:cover;
display:block;
}

.social-icons{
display:flex;
gap:12px;
margin-top:22px;
}

.social-icons a{
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border-radius:50%;
background:rgba(255,255,255,.08);
color:white;
font-size:16px;
transition:.25s;
}

.social-icons a:hover{
background:#35c759;
transform:translateY(-3px);
}

.menu ul{
display:flex;
gap:35px;
list-style:none;
}

.menu a{
color:white;
text-decoration:none;
font-size:15px;
font-weight:500;
}

.menu > ul > li{
position:relative;
}

.menu .submenu{
display:none;
position:absolute;
top:40px;
left:0;
width:240px;
background:#fff;
padding:15px 0;
border-radius:15px;
box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.menu .submenu li{
display:block;
width:100%;
margin:0;
}

.menu .submenu li a{
display:block;
padding:12px 20px;
color:#333 !important;
font-size:15px;
}

.menu .submenu li a:hover{
background:#f2f2f2;
color:#35c759 !important;
}

.dropdown:hover .submenu,
.dropdown:focus-within .submenu{
display:block;
}

.btn-header{
background:#35c759;
color:white;
padding:14px 28px;
border-radius:30px;
text-decoration:none;
font-weight:600;
}

.mobile-menu{
display:none;
background:none;
border:none;
color:white;
font-size:25px;
cursor:pointer;
}


/* HERO */

.hero{
position:relative;
height:100vh;
min-height:600px;
background:linear-gradient(
90deg,
rgba(0,40,90,.85),
rgba(0,0,0,.35)
),
url('../img/hero.jpg');
background-size:cover;
background-position:center;
overflow:hidden;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.15);
backdrop-filter:blur(2px);
}

.hero-content{
position:relative;
height:100%;
display:flex;
align-items:center;
}

.hero-text{
position:relative;
max-width:650px;
color:white;
}

.hero-text h1{
font-size:clamp(42px,5vw,64px);
line-height:1.15;
max-width:700px;
}

.hero-text p{
font-size:20px;
line-height:1.7;
margin:25px 0 40px;
}

.hero-buttons{
display:flex;
gap:20px;
flex-wrap:wrap;
}

.btn-primary{
background:#35c759;
color:white;
padding:16px 35px;
border-radius:35px;
text-decoration:none;
font-weight:600;
}

.btn-outline{
border:2px solid white;
color:white;
padding:14px 35px;
border-radius:35px;
text-decoration:none;
}


/* SERVICES */

.services{
padding:100px 0;
background:#f8fafc;
}

.section-title{
text-align:center;
max-width:700px;
margin:0 auto 60px;
}

.section-title span,
.why-content span{
color:#35c759;
font-weight:700;
text-transform:uppercase;
font-size:14px;
}

.section-title h2,
.why-content h2{
font-size:42px;
line-height:1.2;
margin:15px 0;
}

.section-title p{
color:#666;
font-size:17px;
}


/* CARDS */

.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.service-card{
background:white;
padding:40px 35px;
border-radius:25px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
transition:.4s;
}

.service-card:hover{
transform:translateY(-12px);
}

.service-card .icon{
width:70px;
height:70px;
background:#e9fff0;
color:#35c759;
border-radius:20px;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
margin-bottom:25px;
}

.service-card h3{
font-size:24px;
margin-bottom:15px;
}

.service-card p{
color:#666;
line-height:1.7;
margin-bottom:25px;
}

.service-card a{
color:#005bbb;
font-weight:600;
text-decoration:none;
}


/* WHY */

.why{
padding:100px 0;
}

.why-container{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.why-image img{
width:100%;
border-radius:30px;
}

.why-content p{
color:#666;
font-size:17px;
line-height:1.8;
}

.features{
margin-top:35px;
}

.feature{
display:flex;
gap:20px;
margin-bottom:25px;
}

.feature i{
flex-shrink:0;
background:#35c759;
color:white;
width:45px;
height:45px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}

.feature h4{
font-size:18px;
}

.feature p{
font-size:14px;
}


/* CONTACT */

.contact{
padding:100px 0;
background:#0b1f33;
color:white;
}

.contact-container{
display:grid;
grid-template-columns:1fr 1.1fr;
gap:70px;
align-items:start;
}

.contact-info span{
color:#35c759;
font-weight:700;
text-transform:uppercase;
font-size:14px;
}

.contact-info h2{
font-size:38px;
line-height:1.2;
margin:15px 0 20px;
}

.contact-info p{
color:#aebcce;
line-height:1.8;
margin-bottom:35px;
}

.contact-details{
display:flex;
flex-direction:column;
gap:22px;
}

.contact-item{
display:flex;
align-items:center;
gap:18px;
}

.contact-item i{
flex-shrink:0;
width:45px;
height:45px;
background:rgba(53,199,89,.15);
color:#35c759;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}

.contact-item h4{
font-size:15px;
color:#aebcce;
font-weight:500;
}

.contact-item p{
font-size:17px;
font-weight:600;
}

.contact-form{
background:white;
padding:40px;
border-radius:25px;
color:#222;
}

.form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.form-group{
margin-bottom:20px;
}

.form-group label{
display:block;
font-size:14px;
font-weight:600;
margin-bottom:8px;
}

.form-group input,
.form-group select,
.form-group textarea{
width:100%;
padding:13px 16px;
border:1.5px solid #e2e8f0;
border-radius:12px;
font-family:inherit;
font-size:15px;
transition:.25s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
outline:none;
border-color:#35c759;
}

.form-group input.invalid,
.form-group select.invalid,
.form-group textarea.invalid{
border-color:#e53e3e;
}

.form-error{
display:block;
color:#e53e3e;
font-size:13px;
margin-top:6px;
min-height:16px;
}

.form-honeypot{
position:absolute;
left:-9999px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}

.form-message{
font-size:14px;
margin-bottom:15px;
min-height:20px;
}

.form-message.success{
color:#1a7f37;
}

.form-message.error{
color:#e53e3e;
}

.contact-form .btn-primary{
width:100%;
border:none;
cursor:pointer;
font-size:16px;
}

.contact-form .btn-primary:disabled{
opacity:.7;
cursor:not-allowed;
}


/* FOOTER */

.footer{
background:#0b1f33;
color:#cbd5e1;
padding:70px 0 0;
}

.footer-container{
display:grid;
grid-template-columns:1.4fr 1fr 1fr;
gap:40px;
padding-bottom:50px;
}

.footer-brand p{
margin-top:15px;
line-height:1.7;
color:#94a3b8;
}

.footer-links h4,
.footer-contact h4{
color:white;
margin-bottom:20px;
font-size:16px;
}

.footer-links ul,
.footer-contact ul{
list-style:none;
}

.footer-links li,
.footer-contact li{
margin-bottom:12px;
}

.footer-links a{
color:#cbd5e1;
text-decoration:none;
}

.footer-links a:hover{
color:#35c759;
}

.footer-contact i{
color:#35c759;
margin-right:8px;
width:16px;
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,.1);
padding:20px 0;
text-align:center;
font-size:14px;
color:#94a3b8;
}


/* RESPONSIVE */

@media (max-width:900px){

.why-container{
grid-template-columns:1fr;
}

.services-grid{
grid-template-columns:1fr;
}

.footer-container{
grid-template-columns:1fr;
}

.contact-container{
grid-template-columns:1fr;
}

}

@media (max-width:560px){

.form-row{
grid-template-columns:1fr;
}

.contact-form{
padding:28px 22px;
}

}

@media (max-width:768px){

.header{
background:#0b1f33;
padding:18px 0;
}

.menu{
position:fixed;
top:0;
right:-100%;
width:280px;
height:100vh;
background:#0b1f33;
padding:100px 30px;
transition:.4s;
}

.menu.active{
right:0;
}

.menu ul{
flex-direction:column;
gap:10px;
}

.menu .submenu{
position:static;
box-shadow:none;
width:100%;
display:none;
padding:0 0 0 15px;
}

.dropdown.active .submenu{
display:block;
}

.btn-header{
display:none;
}

.mobile-menu{
display:block;
}

.hero-text p{
font-size:17px;
}

.hero-buttons{
flex-direction:column;
}

}
/* --- Γενικά & Layout --- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f9f9f9;
}

.container {
    width: 85%;
    max-width: 1200px;
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

/* --- Header & Nav --- */
header {
    background: #003366;
    color: #fff;
    padding: 1rem 0;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo a {
    color: #fff;
    text-decoration: none;
}

.logo span {
    color: #f39c12;
}

nav ul {
    display: flex;
    list-style: none;
}

nav ul li a {
    color: #fff;
    text-decoration: none;
    padding: 0.5rem 1rem;
    display: block;
}

nav ul li a:hover, nav ul li a.active {
    background: #f39c12;
    border-radius: 4px;
}

/* --- Page Header --- */
.page-header {
    background: #002244;
    color: #fff;
    padding: 40px 0;
    text-align: center;
}

.page-header h2 {
    font-size: 2.2rem;
    margin-bottom: 10px;
}

/* --- Content Sections --- */
.content-section {
    padding: 50px 0;
}

/* --- About Grid --- */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.values-list {
    list-style: none;
    margin-top: 15px;
}

.values-list li {
    margin-bottom: 10px;
    padding-left: 15px;
    border-left: 3px solid #f39c12;
}

/* --- Services Grid --- */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.service-card {
    background: #fff;
    padding: 25px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-top: 4px solid #003366;
}

.service-card h3 {
    margin-bottom: 12px;
    color: #003366;
}

/* --- Contact Grid & Form --- */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.contact-info p {
    margin-bottom: 15px;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-group input, .form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.btn {
    background: #003366;
    color: #fff;
    padding: 12px 25px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
}

.btn:hover {
    background: #f39c12;
}

/* --- Footer --- */
footer {
    background: #111;
    color: #fff;
    padding: 20px 0;
    margin-top: 40px;
}

/* Responsive */
@media (max-width: 768px) {
    .about-grid, .contact-grid {
        grid-template-columns: 1fr;
    }
    header .container {
        flex-direction: column;
    }
    nav ul {
        margin-top: 15px;
    }
}