/* =========================
   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;
    --shadow:0 20px 50px rgba(0,0,0,.08);
    --radius:28px;
    --transition:.45s cubic-bezier(.22,1,.36,1);
}

/* =========================
   RESET
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html, body{
    width:100%;
    overflow-x:hidden;
}

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;
}

/* =========================
   MEDIA FIX
========================= */
img,
video,
iframe{
    display:block;
    max-width:100%;
}

/* =========================
   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:85vh;
    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;
}

@keyframes floatGlow{
    0%,100%{ transform:translate(0,0); }
    50%{ transform:translate(0,-30px); }
}

.hero-content{
    position:relative;
    z-index:2;
}

.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(2.8rem,7vw,5.5rem);
}

.hero-content p{
    max-width:800px;
    margin:auto;
    color:var(--muted);
}

/* =========================
   SECTIONS
========================= */
.portfolio-section{
    max-width:1400px;
    margin:auto;
    padding:140px 20px;
}

.section-heading{
    text-align:center;
    margin-bottom:40px;
}

.section-heading span{
    color:var(--primary);
    font-weight:700;
}

.section-heading h2{
    font-size:2.6rem;
    margin:10px 0;
}

.section-heading p{
    color:var(--muted);
}

/* =========================
   GALLERY
========================= */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.gallery-grid img{
    width:100%;
    border-radius:20px;
    box-shadow:var(--shadow);
    transition:var(--transition);
    will-change:transform;
}

.gallery-grid img:hover{
    transform:translateY(-6px) scale(1.02);
}

/* =========================
   SECTION SUBHEADINGS
========================= */

.portfolio-section h3{
    font-size:1.6rem;
    margin:60px 0 25px;
    font-weight:700;
    text-align:center;
}

/* =========================
   WEBSITE PREVIEWS
========================= */

.preview-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(450px,1fr));
    gap:40px;
    margin-top:50px;
}

.website-card{
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    padding:22px;
    border-radius:28px;
    box-shadow:var(--shadow);
    transition:var(--transition);
}

.website-card:hover{
    transform:translateY(-8px);
}

.website-preview{
    width:100%;
    height:700px;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
}

.website-preview iframe{
    width:100%;
    height:100%;
    border:none;
}

/* =========================
   COMING SOON
========================= */

.coming-soon-card{
    max-width:700px;
    margin:60px auto;
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(20px);
    padding:70px 40px;
    border-radius:28px;
    text-align:center;
    box-shadow:var(--shadow);
}

.coming-soon-card i{
    font-size:60px;
    color:var(--primary);
    margin-bottom:25px;
}

.coming-soon-card h3{
    margin:0 0 15px;
    font-size:2rem;
}

.coming-soon-card p{
    color:var(--muted);
}

/* =========================
   CTA
========================= */
.project-cta{
    max-width:1100px;
    margin:100px auto;
    padding:90px 40px;
    text-align:center;
    background:rgba(255,255,255,.7);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    border-radius:28px;
    box-shadow:var(--shadow);
}

.project-cta h2{
    font-size:3rem;
    margin-bottom:15px;
}

.project-cta p{
    color:var(--muted);
    margin-bottom:35px;
}

/* =========================
   FOOTER
========================= */
.footer{
    padding:50px 20px;
    margin-top:80px;
    text-align:center;
    border-top:1px solid rgba(0,0,0,.06);
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(20px);
}

.footer p{
    color:var(--muted);
    margin-bottom:20px;
}

.footer-socials{
    display:flex;
    justify-content:center;
    gap:20px;
}

.footer-socials a{
    width:48px;
    height:48px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
    border-radius:50%;
    color:var(--primary);
    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);
}

/* =========================
   ACCESSIBILITY
========================= */
a:focus,
button:focus{
    outline:2px solid var(--primary);
    outline-offset:3px;
}

/* =========================================
   MOBILE (768px)
========================================= */

@media(max-width:768px){

html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}


/* Header */
header{
    top:10px;
    padding:0 12px;
}


.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{
    min-height:auto;
    padding:120px 20px 70px;
}


.hero-content h1{
    font-size:clamp(2.3rem,10vw,3.5rem);
    line-height:1.15;
}


.hero-content p{
    font-size:.95rem;
}


/* Sections */
.section-padding{
    padding:70px 18px;
}


.section-heading h2,
.section-title{
    font-size:2rem;
}


.section-heading p,
.section-subtitle{
    font-size:.95rem;
}


/* Services */
.services-grid{
    grid-template-columns:1fr;
    gap:20px;
}


.service-card{
    padding:30px;
    border-radius:24px;
}


.service-card h3{
    font-size:1.4rem;
}


.service-card p{
    font-size:.95rem;
}


/* Website Cards */
.websites-grid{
    grid-template-columns:1fr;
}


.website-card{
    padding:20px;
}


/* Contact */
.contact{
    padding:70px 18px;
}


.contact-form{
    padding:28px 20px;
    border-radius:24px;
}


/* 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{
    padding:95px 16px 50px;
}


.hero-content h1{
    font-size:2rem;
}


.hero-content p{
    font-size:.9rem;
}


/* Sections */
.section-title,
.section-heading h2{
    font-size:1.8rem;
}


/* Cards */
.service-card{
    padding:24px;
}


.service-card h3{
    font-size:1.3rem;
}

}