*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:#0f0f0f;color:#fff;line-height:1.6}
.container{width:min(1200px,92%);margin:auto}
.header{
position:fixed;
top:0;
left:0;
width:100%;
background:rgba(15,15,15,.96);
backdrop-filter:blur(10px);
border-bottom:1px solid #2a2a2a;
z-index:9999;
}
.header .container{display:flex;justify-content:space-between;align-items:center;padding:20px 0}
.logo a{color:#fff;text-decoration:none;font-size:30px;font-weight:800}
.logo span{color:#d4af37}
nav{display:flex;gap:28px;align-items:center}
nav a{color:#fff;text-decoration:none;font-weight:500}
nav a:hover{color:#d4af37}
.btn-ai{background:#d4af37;color:#111!important;padding:12px 22px;border-radius:8px;font-weight:700}
main{min-height:70vh;padding-top:90px}
footer{border-top:1px solid #2a2a2a;padding:60px 0;text-align:center;background:#111}
footer h2{color:#d4af37;margin-bottom:15px}
footer p{margin:8px 0;color:#bbb}

.hero{
position:relative;
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
background:#111;
overflow:hidden;
}

.hero-image{
position:absolute;
inset:0;
margin:auto;
width:100%;
height:120%;
object-fit:cover;
z-index:0;
transform:scale(1.0);
transform-origin:center center;
}

.hero::after{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,.35);
z-index:1;
}

.hero .container{
position:relative;
z-index:2;
text-align:center;
}

.hero h1{
font-size:64px;
font-weight:800;
margin-bottom:25px;
}

.hero p{
font-size:22px;
margin-bottom:35px;
}

.hero-buttons{
display:flex;
gap:20px;
justify-content:center;
}

.btn-primary{
background:#d4af37;
color:#111;
padding:16px 34px;
border-radius:10px;
text-decoration:none;
font-weight:700;
}

.btn-secondary{
border:2px solid #d4af37;
color:#fff;
padding:16px 34px;
border-radius:10px;
text-decoration:none;
font-weight:700;
}

@media (max-width:900px){

.header{
padding:10px 0;
}

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

.logo a{
font-size:24px;
}

nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px;
font-size:15px;
}

nav a{
padding:6px 4px;
}

.btn-ai,
.login-btn{
padding:8px 14px;
font-size:14px;
}

.hero{
min-height:75vh;
}

.hero h1{
font-size:38px;
line-height:1.15;
}

.hero p{
font-size:18px;
}

.hero-buttons{
flex-direction:column;
align-items:center;
}

.btn-primary,
.btn-secondary{
width:100%;
max-width:320px;
text-align:center;
}

}

.why{
padding:120px 0;
background:#111;
}

.why h2{
font-size:48px;
text-align:center;
margin-bottom:20px;
color:#d4af37;
}

.why-subtitle{
text-align:center;
font-size:20px;
color:#bbb;
max-width:850px;
margin:0 auto 70px;
}

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

.why-card{
background:#181818;
border:1px solid #2b2b2b;
border-radius:18px;
padding:40px 30px;
text-align:center;
transition:.3s;
}

.why-card:hover{
transform:translateY(-8px);
border-color:#d4af37;
}

.icon{
font-size:54px;
margin-bottom:20px;
}

.why-card h3{
font-size:28px;
margin-bottom:15px;
color:#fff;
}

.why-card p{
color:#bdbdbd;
line-height:1.7;
}

@media(max-width:900px){

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

}


.stats{
padding:100px 0;
background:#0f0f0f;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
text-align:center;
}

.stat-number{
font-size:64px;
font-weight:800;
color:#d4af37;
margin-bottom:10px;
}

.stat-text{
font-size:20px;
color:#ddd;
}

@media(max-width:900px){
.stats-grid{
grid-template-columns:1fr 1fr;
}
}


.projects{
padding:120px 0;
background:#151515;
}

.projects h2{
font-size:48px;
text-align:center;
color:#d4af37;
margin-bottom:60px;
}

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

.project-card{
overflow:hidden;
border-radius:18px;
background:#222;
transition:.3s;
cursor:pointer;
}

.project-card:hover{
transform:translateY(-8px);
}

.project-card img{
width:100%;
height:320px;
object-fit:cover;
display:block;
}

.project-card h3{
padding:25px;
font-size:28px;
color:#fff;
text-align:center;
}

@media(max-width:900px){
.project-grid{
grid-template-columns:1fr;
}
}



.language-switcher{
display:flex;
align-items:center;
gap:12px;
margin-left:30px;
}

.language-switcher a{
color:#fff;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.language-switcher a:hover{
color:#d4af37;
}


.login-btn{
padding:10px 22px;
border:2px solid #d4af37;
border-radius:30px;
color:#d4af37;
font-weight:700;
transition:.3s;
}

.login-btn:hover{
background:#d4af37;
color:#111;
}

/* ---------- MOBILE OPTIMIZATION ---------- */

@media (max-width:768px){

.hero{
padding:120px 20px 80px !important;
}

.hero h1{
font-size:48px !important;
line-height:1.15 !important;
margin-bottom:20px !important;
}

.hero p{
font-size:22px !important;
line-height:1.5 !important;
margin-bottom:30px !important;
}

.btn-primary,
.btn-secondary{
width:100%;
max-width:340px;
margin:10px auto;
display:block;
padding:16px 20px !important;
font-size:20px !important;
}

.stats{
grid-template-columns:repeat(2,1fr) !important;
gap:25px !important;
}

.glass-card{
margin-bottom:25px;
}

nav{
flex-wrap:wrap;
justify-content:center;
gap:18px;
}

.language-switcher{
margin-left:0;
}

}


/* ---------- MOBILE MENU ---------- */

.menu-toggle{
display:none;
background:none;
border:none;
color:#fff;
font-size:32px;
cursor:pointer;
}

@media (max-width:900px){

.menu-toggle{
display:block;
}

#main-menu{
display:none;
flex-direction:column;
position:absolute;
top:78px;
left:0;
width:100%;
background:#111;
padding:20px;
border-top:1px solid #333;
z-index:9999;
}

#main-menu.open{
display:flex;
}

#main-menu a{
padding:14px 0;
font-size:18px;
text-align:center;
}

}



/* ===== MOBILE HAMBURGER ===== */

@media (max-width:900px){

.menu-toggle{
display:block !important;
position:absolute;
right:20px;
top:22px;
font-size:34px;
background:none;
border:none;
color:#fff;
cursor:pointer;
z-index:10001;
}

#main-menu{
display:none !important;
position:absolute;
top:75px;
left:0;
width:100%;
background:#111;
padding:20px 0;
flex-direction:column;
border-top:1px solid #333;
}

#main-menu.open{
display:flex !important;
}

#main-menu a{
padding:15px;
width:100%;
text-align:center;
font-size:18px;
}

.header .container{
position:relative;
}

}

/* ===== MOBILE FIXES ===== */

@media (max-width:900px){

.hero{
    min-height:70vh !important;
}

.hero-image{
    height:100% !important;
    width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
}

.hero .container{
    padding:40px 20px !important;
}

.hero h1{
    font-size:42px !important;
    line-height:1.15 !important;
}

.hero p{
    font-size:20px !important;
}

}

@media (max-width:900px){

.header{
position:relative !important;
top:auto !important;
}

}

/* =========================================================
   FINAL RESPONSIVE OPTIMIZATION
   Mobile + Tablet only
   Desktop layout remains unchanged
   ========================================================= */

/* Prevent horizontal overflow */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* ---------- TABLET ---------- */

@media (min-width: 769px) and (max-width: 1024px) {

    .container {
        width: 90%;
        max-width: 920px;
    }

    .header .container {
        padding: 16px 0;
    }

    .logo a {
        font-size: 26px;
    }

    nav {
        gap: 14px;
        font-size: 14px;
    }

    .hero {
        min-height: 80vh !important;
    }

    .hero-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    .hero h1 {
        font-size: 48px !important;
        line-height: 1.15 !important;
    }

    .hero p {
        font-size: 19px !important;
    }

    .why-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px;
    }

    .project-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px;
    }

    .project-card img {
        height: 280px;
    }

    .glass-card {
        padding: 30px !important;
        width: 100%;
        max-width: 100%;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 768px) {

    * {
        max-width: 100%;
    }

    .container {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* HEADER */

    .header {
        position: relative !important;
        width: 100%;
        overflow: visible;
    }

    .header .container {
        min-height: 70px;
        padding: 14px 0 !important;
        display: flex;
        align-items: center;
    }

    .logo a {
        font-size: 23px !important;
    }

    /* Keep hamburger inside the screen */
    .menu-toggle {
        right: 0 !important;
        top: 18px !important;
    }

    /* HERO */

    .hero {
        min-height: auto !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
    }

    .hero-image {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    .hero .container {
        padding: 42px 0 55px !important;
        text-align: center;
    }

    .hero h1 {
        font-size: clamp(30px, 8vw, 42px) !important;
        line-height: 1.12 !important;
        margin-bottom: 18px !important;
    }

    .hero p {
        font-size: 17px !important;
        line-height: 1.45 !important;
        margin-bottom: 24px !important;
    }

    .hero-buttons {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 12px !important;
    }

    .btn-primary,
    .btn-secondary {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 14px 18px !important;
        font-size: 17px !important;
    }

    /* SECTIONS */

    .why,
    .stats,
    .projects {
        padding: 65px 0 !important;
    }

    .why h2,
    .projects h2 {
        font-size: 34px !important;
        line-height: 1.15 !important;
        margin-bottom: 18px !important;
    }

    .why-subtitle {
        font-size: 17px !important;
        line-height: 1.5 !important;
        margin-bottom: 35px !important;
    }

    .why-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .why-card {
        padding: 28px 20px !important;
        width: 100%;
    }

    .why-card h3 {
        font-size: 24px !important;
    }

    .icon {
        font-size: 44px !important;
        margin-bottom: 12px !important;
    }

    /* STATS */

    .stats-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 25px 15px !important;
    }

    .stat-number {
        font-size: 42px !important;
    }

    .stat-text {
        font-size: 16px !important;
    }

    /* PROJECTS */

    .projects h2 {
        margin-bottom: 35px !important;
    }

    .project-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .project-card {
        width: 100%;
    }

    .project-card img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    .project-card h3 {
        padding: 18px !important;
        font-size: 23px !important;
    }

    /* CONTACT / GLASS CARDS */

    .glass-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 24px !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    .glass-card form,
    .glass-card input,
    .glass-card textarea,
    .glass-card select,
    .glass-card button {
        width: 100% !important;
        max-width: 100% !important;
    }

    .glass-card input,
    .glass-card textarea,
    .glass-card select {
        box-sizing: border-box !important;
        font-size: 16px !important;
    }

    .glass-card h2,
    .glass-card h3 {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    .glass-card p {
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    .glass-card a {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    /* CONTACT TWO-COLUMN LAYOUTS BECOME ONE COLUMN */

    .contact-grid,
    .contact-columns,
    .contact-wrapper,
    .contact-content {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* FOOTER */

    footer {
        padding: 45px 0 !important;
    }

    footer h2 {
        font-size: 25px !important;
    }

    footer p {
        font-size: 15px !important;
        overflow-wrap: anywhere;
    }

    /* LANGUAGE SWITCHER */

    .language-switcher {
        margin-left: 0 !important;
        gap: 8px !important;
    }

}

/* ---------- VERY SMALL PHONES ---------- */

@media (max-width: 380px) {

    .container {
        width: calc(100% - 24px) !important;
    }

    .logo a {
        font-size: 21px !important;
    }

    .hero h1 {
        font-size: 29px !important;
    }

    .hero p {
        font-size: 16px !important;
    }

    .stat-number {
        font-size: 36px !important;
    }

    .glass-card {
        padding: 18px !important;
    }

}

/* ---------- CONTACT MOBILE ORDER ---------- */

@media (max-width: 768px) {

    .hero > .container > div[style*="grid-template-columns"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        margin-top: 20px !important;
    }

    .hero > .container > div[style*="grid-template-columns"] > .glass-card:first-child {
        order: 1 !important;
    }

    .hero > .container > div[style*="grid-template-columns"] > .glass-card:nth-child(2) {
        order: 2 !important;
    }

}

/* CONTACT MOBILE - FINAL */

@media (max-width: 768px) {

    .contact-layout {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 24px !important;
        margin-top: 20px !important;
    }

    .contact-layout > .glass-card:first-child {
        order: 1 !important;
    }

    .contact-layout > .glass-card:nth-child(2) {
        order: 2 !important;
    }

}
