/* =========================
   IMPORT + VARIABLES
========================= */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root{
    --bg:#f6f8fc;
    --bg2:#eef3ff;
    --white:#fff;
    --text:#20242d;
    --muted:#727a88;
    --primary:#0346ff;
    --primary-hover:#245cff;
    --border:rgba(0,0,0,.08);
    --shadow:0 20px 50px rgba(0,0,0,.08);
    --radius:28px;
    --transition:.4s cubic-bezier(.22,1,.36,1);
}

/* =========================
   RESET
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Manrope",sans-serif;
    background:radial-gradient(circle at top,#fff,#f6f8fc 45%,#eef3ff);
    color:var(--text);
    line-height:1.7;
    overflow-x:hidden;
}

img,
video{
    display:block;
    max-width:100%;
}

a{
    text-decoration:none;
    color:inherit;
}

/* =========================
   HEADER + LANG SWITCHER
========================= */
header{
    position:fixed;
    top:22px;
    left:0;
    width:100%;
    padding:0 30px;
    z-index:1000;
}

.navbar{
    max-width:1400px;
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:16px 28px;

    background:rgba(255,255,255,.72);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);

    border-radius:999px;
    box-shadow:var(--shadow);
}

.logo img{
    height:46px;
}

.nav-right{
    display:flex;
    gap:12px;
    align-items:center;
}

/* Buttons */
.back-btn,
.lang-btn,
.cta-btn{
    padding:14px 26px;
    border-radius:999px;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    border:none;
    cursor:pointer;
    transition:var(--transition);
}

.back-btn:hover,
.lang-btn:hover,
.cta-btn:hover{
    background:var(--primary-hover);
    transform:translateY(-3px);
}

/* =========================
   HERO
========================= */
.hero-project{
    min-height:90vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:160px 20px 80px;
    position:relative;
}

.hero-glow{
    position:absolute;
    width:900px;
    height:900px;
    background:radial-gradient(circle,rgba(3,70,255,.12),transparent 70%);
    z-index:-1;
}

.project-tag{
    display:inline-block;
    padding:10px 18px;
    border-radius:999px;
    background:#fff;
    box-shadow:var(--shadow);
    margin-bottom:20px;
    font-weight:700;
}

.hero-content h1{
    font-size:clamp(3.5rem,8vw,6rem);
    margin-bottom:20px;
}

.hero-content p{
    max-width:800px;
    margin:auto;
    color:var(--muted);
    font-size:1.1rem;
}

.hero-stats{
    display:flex;
    justify-content:center;
    gap:60px;
    margin-top:60px;
    flex-wrap:wrap;
}

.hero-stats h2{
    font-size:3rem;
    color:var(--primary);
}

.hero-stats span{
    color:var(--muted);
}

/* =========================
   PORTFOLIO
========================= */
.portfolio-section{
    max-width:1400px;
    margin:auto;
    padding:120px 20px;
}

.section-heading{
    text-align:center;
    margin-bottom:60px;
}

.section-heading span{
    color:var(--primary);
    font-weight:700;
}

.section-heading h2{
    font-size:3rem;
    margin:12px 0;
}

.section-heading p{
    color:var(--muted);
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:28px;
}

.gallery-grid img,
.video-grid video{
    width:100%;
    border-radius:24px;
    background:#fff;
    box-shadow:var(--shadow);
    transition:var(--transition);
}

.gallery-grid img:hover,
.video-grid video:hover{
    transform:translateY(-10px) scale(1.02);
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:28px;
}

/* =========================
   CTA
========================= */
.project-cta{
    max-width:1100px;
    margin:80px auto;
    padding:80px 30px;
    text-align:center;

    background:rgba(255,255,255,.7);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);

    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.project-cta h2{
    font-size:3rem;
    margin-bottom:18px;
}

.project-cta p{
    color:var(--muted);
    margin-bottom:30px;
}

/* =========================
   FOOTER
========================= */
.footer{
    padding:50px 20px;
    text-align:center;
    border-top:1px solid rgba(0,0,0,.06);
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    margin-top:80px;
}

.footer p{
    color:var(--muted);
    font-size:.95rem;
    margin-bottom:18px;
}

.footer-socials{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:22px;
}

.footer-socials a{
    width:48px;
    height:48px;
    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;
    background:#fff;
    color:var(--primary);

    font-size:22px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:var(--transition);
}

.footer-socials a:hover{
    background:var(--primary);
    color:#fff;
    transform:translateY(-5px);
    box-shadow:0 16px 35px rgba(3,70,255,.25);
}

/* =========================================
   MOBILE (768px)
========================================= */
@media (max-width:768px){

html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

/* Header */
header{
    top:10px;
    padding:0 12px;
}

/* Navbar */
.navbar{
    padding:14px 18px;
    border-radius:20px;
}

/* Logo */
.logo img{
    height:32px;
}
.nav-right{
    gap:8px;
}

/* Buttons */
.back-btn,
.lang-btn{
    padding:8px 12px;
    font-size:.82rem;
}

.lang-btn img{
    width:16px;
    height:16px;
}


/* Hero */
.hero-project{
    min-height:auto;
    padding:120px 20px 70px;
}


.project-tag{
    font-size:.8rem;
    padding:8px 14px;
}


.hero-content h1{
    font-size:clamp(2.3rem,10vw,3.5rem);
    line-height:1.15;
}


.hero-content p{
    font-size:.95rem;
}


.hero-stats{
    flex-direction:column;
    gap:22px;
    margin-top:40px;
}


.hero-stats h2{
    font-size:2rem;
}


.hero-stats span{
    font-size:.9rem;
}


/* Portfolio */
.portfolio-section{
    padding:70px 18px;
}


.section-heading{
    margin-bottom:40px;
}


.section-heading h2{
    font-size:2rem;
}


.section-heading p{
    font-size:.95rem;
}


.gallery-grid,
.video-grid{
    grid-template-columns:1fr;
    gap:20px;
}


.gallery-grid img,
.video-grid video{
    border-radius:18px;
}


/* CTA */
.project-cta{
    margin:50px 18px;
    padding:45px 22px;
}


.project-cta h2{
    font-size:1.9rem;
}


.project-cta p{
    font-size:.95rem;
}


/* Footer */
.footer{
    padding:40px 20px;
}


.footer-socials{
    gap:16px;
}


.footer-socials a{
    width:42px;
    height:42px;
    font-size:18px;
}

}


/* =========================================
   SMALL PHONES (480px)
========================================= */
@media (max-width:480px){

.navbar{
    padding:8px 12px;
}


.logo img{
    height:24px;
}


.back-btn,
.lang-btn{
    padding:7px 10px;
    font-size:.75rem;
}


.lang-btn span{
    display:none;
}


.lang-btn img{
    width:15px;
    height:15px;
}


/* Hero */
.hero-project{
    padding:95px 16px 50px;
}


.hero-content h1{
    font-size:2rem;
}


.hero-content p{
    font-size:.9rem;
}


/* Stats */
.hero-stats{
    gap:18px;
}


.hero-stats h2{
    font-size:1.8rem;
}


/* Sections */
.section-heading h2{
    font-size:1.8rem;
}


/* CTA */
.project-cta{
    padding:35px 18px;
}


.project-cta h2{
    font-size:1.6rem;
}


.gallery-grid img,
.video-grid video{
    border-radius:16px;
}
}