html{
    scroll-behavior:smooth;
}
body{
    margin:0;
    background: linear-gradient(
        135deg,
        #ff6fb5,
        #d94cff,
        #8b3dff
    );
    color: white;
    text-align: center;
    font-family: Arial, sans-serif;
}

h1{
    font-size: 60px;
}

p{
    font-size: 22px;
}

button{
    background: gold;
    color: black;
    padding:15px 35px;
    border:none;
    border-radius:10px;
    font-size:18px;
    cursor:pointer;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    color:white;
    background:url("images/background.webp");
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
}

header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 20px 70px;

    background: rgba(255,248,235,0.35);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    border-bottom: 1px solid rgba(255,255,255,0.15);

    z-index: 1000;
}
.hero{
    padding-top:100px;
}

.logo{
    font-size:30px;
    font-weight:700;
    color:#FFD700;
    letter-spacing:2px;
}

nav a{
    color:white;
    text-decoration:none;
    margin-left:35px;
    font-size:18px;
    font-weight:500;
    transition:0.3s;
}

nav a:hover{
    color:#FFD700;
}

.hero{
    height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:rgba(0,0,0,0.55);
}

.hero h1{
    font-size:80px;
    max-width:900px;
    text-transform:uppercase;
    letter-spacing:3px;
}

.hero h1{
    font-size:90px;
    font-weight:900;
    line-height:.95;
    letter-spacing:2px;
}

.white-text{
    color:#ffffff;
    text-shadow:
        0 2px 8px rgba(0,0,0,.35);
}

.gold-text{
    background:linear-gradient(
        180deg,
        #FFFFFF 0%,
        #FFF7CC 18%,
        #FFE27A 40%,
        #FFC83D 65%,
        #D79B00 85%,
        #8A5A00 100%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;

    text-shadow:
        0 1px 2px rgba(255,255,255,.25),
        0 2px 6px rgba(255,215,0,.15),
        0 8px 20px rgba(0,0,0,.25);

    filter:drop-shadow(0 5px 15px rgba(255,215,0,.08));
}
.gold-text{
    background-size:200% auto;
    animation:goldShine 4s linear infinite;
}

@keyframes goldShine{
    0%{
        background-position:-200% center;
    }
    100%{
        background-position:200% center;
    }
}

.btn{
    display:inline-block;
    padding:18px 40px;
    background:#FFD700 !important;
    color:#080808 !important;
    cursor:pointer;
    position:relative;
    z-index:20;
    text-decoration:none;
    border-radius:50px;
    font-weight:700;
    transition:0.3s;
}

.btn:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 30px rgba(255,215,0,.5);
}
.hero{
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0 20px;

    background:
    linear-gradient(rgba(0,0,0,.55),
    rgba(0,0,0,.55)),
    url("images/background.webp");

    background-size:cover;
    background-position:center;
}
.hero-content{

    max-width:850px;

}
.subtitle{

    color:#FFD700;

    letter-spacing:3px;

    margin-bottom:20px;

}
.hero h1{

    font-size:90px;

    line-height:1;

    font-weight:800;

    margin-bottom:25px;

}
.description{

    font-size:22px;

    color:#d5d5d5;

    margin-bottom:35px;

}
.portfolio{
    padding:120px 80px;

    background:
    radial-gradient(
        circle at top,
        #2f2f2f 0%,
        #171717 45%,
        #090909 100%
    );
}

.portfolio h2{
    text-align:center;
    font-size:50px;
    margin-bottom:60px;
}

.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:45px;
}
.card{
    position:relative;
    overflow:hidden;

    border-radius:34px;

   background: linear-gradient(
    180deg,
    #f7f7f7 0%,
    #ececec 100%
);

color:#111;

    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);

    border:1px solid rgba(255,255,255,.12);

    box-shadow:
        0 25px 60px rgba(0,0,0,.35),
        inset 0 1px 0 rgba(255,255,255,.18);

    transition:
        transform .45s ease,
        box-shadow .45s ease;

    cursor:pointer;
}
.card::before{
    content:"";
    position:absolute;

    top:-40%;
    left:-20%;

    width:160%;
    height:120%;

    background:linear-gradient(
        130deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );

    transform:rotate(20deg);

    opacity:.35;

    pointer-events:none;
}
.card::after{
    content:"";
    position:absolute;

    left:50%;
    bottom:-90px;

    transform:translateX(-50%);

    width:70%;
    height:120px;

    background:#FFD700;

    filter:blur(90px);

    opacity:.08;
}
.card img{

    width:88%;

    height:320px;

    object-fit:contain;

    display:block;

    margin:40px auto 20px;

    filter:drop-shadow(0 25px 40px rgba(0,0,0,.35));

    transition:.45s;

}
.card h3{

    padding:20px;

    text-align:center;

}
.card:hover img{

    transform:

        scale(1.04)

        rotate(-2deg);

}
.card-info{

    position:relative;

    padding:35px 30px 40px;

    text-align:center;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.15),
        rgba(255,255,255,.35)
    );

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    border-top:1px solid rgba(255,255,255,.4);

}
.card-info::before{

    content:"";

    position:absolute;

    top:-50px;

    left:-20%;

    width:140%;

    height:70px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    filter:blur(18px);

    opacity:.7;

}

.card-info h3{

    color:#111;

    font-size:30px;

    font-weight:700;

    text-shadow:

        0 1px 2px rgba(255,255,255,.7);

}

.view-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:60px;

    background:linear-gradient(
        180deg,
        #FFD94A,
        #FFBF00
    );

    color:#111;

    font-weight:700;

    text-decoration:none;

    transition:.35s;

    box-shadow:

        0 10px 30px rgba(255,191,0,.35);

}

.view-btn:hover{

    transform:
        translateY(-4px)
        scale(1.04);

    box-shadow:

        0 20px 45px rgba(255,191,0,.5);

}
.about{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:80px;

    padding:120px 80px;

    background:#111;
}
.about-image img{
    width:350px;
    border-radius:20px;
}
.about-content{
    max-width:600px;
}
.about-subtitle{
    color:#FFD700;
    letter-spacing:3px;
    margin-bottom:15px;
}
.about-content h2{
    font-size:50px;
    margin-bottom:20px;
}
.about-content p{
    color:#cccccc;
    line-height:1.8;
}
.stats{
    display:flex;
    gap:40px;
    margin-top:40px;
}

.stat h3{
    color:#FFD700;
    font-size:40px;
}

.stat span{
    color:white;
}
.services{
    padding:120px 80px;
    background:#0d0d0d;
}

.section-subtitle{
    color:#FFD700;
    letter-spacing:3px;
    text-align:center;
}

.services h2{
    text-align:center;
    font-size:55px;
    margin:15px 0 60px;
}

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

    background:#181818;

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:40px 30px;

    text-align:center;

    transition:.4s;

}
.service-card i {
    font-size: 42px;

    color: #B56CFF;

    text-shadow:
        0 0 8px rgba(181,108,255,0.8),
        0 0 20px rgba(181,108,255,0.55),
        0 0 40px rgba(181,108,255,0.3);

    transition: all 0.35s ease;
}
.service-card h3{

    margin-bottom:15px;

    font-size:28px;

}

.service-card p{

    color:#bdbdbd;

    line-height:1.7;

}
.service-card:hover i {
    color: #D8A7FF;

    transform: scale(1.12);

    text-shadow:
        0 0 10px rgba(216,167,255,1),
        0 0 25px rgba(181,108,255,0.9),
        0 0 50px rgba(181,108,255,0.65);
}
.stat h3{

    color:#FFD700;

    font-size:42px;

    text-shadow:0 0 20px rgba(255,215,0,.5);

}
.contact{
    padding:120px 80px 40px;
    background:#111;
    text-align:center;
}

.contact h2{
    font-size:55px;
    margin:15px 0;
}

.contact-text{
    color:#bdbdbd;
    margin-bottom:60px;
}
.contact-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

/* =========================================
   PREMIUM CONTACT CARDS
========================================= */

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

.contact-card{
    position:relative;
    overflow:hidden;

    background:linear-gradient(
        145deg,
        rgba(255,255,255,0.10),
        rgba(255,255,255,0.025)
    );

    padding:40px 25px;

    min-height:190px;

    border-radius:24px;

    border:1px solid rgba(255,255,255,0.12);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    box-shadow:
        0 15px 40px rgba(0,0,0,0.25),
        inset 0 1px 0 rgba(255,255,255,0.08);

    text-align:center;

    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        border-color .45s ease,
        box-shadow .45s ease,
        background .45s ease;
}


/* GOLD LIGHT GLOW */

.contact-card::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    top:-100px;
    left:-80px;

    background:rgba(255,215,0,0.14);

    filter:blur(55px);

    opacity:0;

    transition:.5s ease;

    pointer-events:none;
}


/* SHINE EFFECT */

.contact-card::after{
    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.12),
        transparent
    );

    transform:skewX(-20deg);

    transition:.7s ease;

    pointer-events:none;
}


/* ICON */

.contact-card i{
    position:relative;

    width:72px;
    height:72px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 20px;

    font-size:30px;

    color:#FFD700;

    background:linear-gradient(
        145deg,
        rgba(255,215,0,0.18),
        rgba(255,215,0,0.04)
    );

    border:1px solid rgba(255,215,0,0.35);

    border-radius:20px;

    box-shadow:
        0 0 25px rgba(255,215,0,0.12),
        inset 0 0 15px rgba(255,215,0,0.05);

    transition:.4s ease;

    z-index:2;
}


/* TITLE */

.contact-card h3{
    position:relative;

    margin-bottom:10px;

    font-size:20px;
    font-weight:600;

    color:#fff;

    z-index:2;
}


/* TEXT */

.contact-card p{
    position:relative;

    color:#cfcfcf;

    font-size:14px;

    line-height:1.6;

    z-index:2;
}


/* HOVER */

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

    border-color:rgba(255,215,0,0.6);

    background:linear-gradient(
        145deg,
        rgba(255,215,0,0.13),
        rgba(255,255,255,0.035)
    );

    box-shadow:
        0 25px 60px rgba(0,0,0,0.45),
        0 0 35px rgba(255,215,0,0.15),
        inset 0 1px 0 rgba(255,255,255,0.12);
}


.contact-card:hover::before{
    opacity:1;
}


.contact-card:hover::after{
    left:140%;
}


.contact-card:hover i{
    transform:translateY(-5px) scale(1.08);

    background:linear-gradient(
        145deg,
        rgba(255,215,0,0.28),
        rgba(255,215,0,0.08)
    );

    box-shadow:
        0 0 30px rgba(255,215,0,0.3),
        inset 0 0 20px rgba(255,215,0,0.08);
}
/* =========================
   Mobile Responsive
========================= */

@media (max-width:768px){

header{

    padding:15px 20px;
    flex-direction:column;

}

nav{

    margin-top:15px;

}

nav a{

    margin:0 10px;
    font-size:15px;

}

.hero h1{

    font-size:50px;

}

.description{

    font-size:18px;

}

.about{

    flex-direction:column;

    text-align:center;

}

.about-image img{

    width:280px;

}

.portfolio-grid{

    grid-template-columns:1fr;

}

.services-grid{

    grid-template-columns:1fr;

}

.contact-grid{

    grid-template-columns:1fr;

}

.stats{

    flex-direction:column;

    gap:20px;

}

}
#loader{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;

    background:#000;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    z-index:9999;
}

#loader h1{
    color:#FFD700;
    font-size:60px;
    letter-spacing:6px;
    margin-bottom:30px;
}

.loading-bar{
    width:300px;
    height:6px;
    background:#222;
    border-radius:10px;
    overflow:hidden;
}

.loading-fill{
    width:0%;
    height:100%;
    background:#FFD700;
    animation:load 2.5s linear forwards;
}

@keyframes load{

    from{
        width:0%;
    }

    to{
        width:100%;
    }

}
/* =========================
   Custom Cursor
========================= */
.intro{
    height:100vh;
    position:relative;
}

.hero{
    min-height:100vh;
}
.intro{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

.intro-bg{
    position:absolute;
    inset:0;

    background:url("images/background.webp") center/cover no-repeat;

    transform:scale(1.3);
}

.intro-content{
    position:relative;
    z-index:2;

    height:100%;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.intro{
    overflow:hidden;
}

.intro-bg,
.intro-content{
    will-change:transform;
}
.navbar{
    position:fixed;
    top:25px;
    left:50%;
    transform:translateX(-50%);

    width:90%;
    max-width:1200px;
    height:70px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:0 35px;

    background: linear-gradient(
    135deg,
    rgba(55, 38, 55, 0.72),
    rgba(30, 20, 32, 0.58)
);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:50px;

    z-index:9999;

    box-shadow:
    0 10px 40px rgba(0,0,0,.35);
}

.navbar.scrolled{

    background:rgba(0,0,0,.75);

    backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(255,255,255,.08);

}

.logo{
    font-size:42px;
    font-weight:800;
    letter-spacing:2px;

    background: linear-gradient(
        180deg,
        #FFFDF2 0%,
        #FFF2A6 25%,
        #FFD95A 50%,
        #F4B400 75%,
        #B8860B 100%
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;

    text-shadow:
        0 1px 2px rgba(255,215,0,.15),
        0 2px 8px rgba(255,215,0,.10);

    transition: all .35s ease;
}
.logo:hover{
    transform: scale(1.03);

    text-shadow:
        0 2px 6px rgba(255,215,0,.20),
        0 4px 15px rgba(255,215,0,.15);
}

nav a{

    color:white;

    text-decoration:none;

    margin-left:35px;

    font-size:20px;

    font-weight:500;

    transition:.3s;

}

nav a:hover{

    color:#FFD700;

}
nav a:hover{

    color:#FFD700;

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

.card-info{
    padding:20px;
    text-align:center;
}

.view-btn{
    margin-top:15px;
    padding:12px 28px;
    border:none;
    border-radius:30px;
    background:#FFD700;
    cursor:pointer;
}
.project-hero{

    min-height:100vh;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

    padding:120px 8%;

}

.project-left img{

    width:100%;

    border-radius:25px;

    box-shadow:0 30px 60px rgba(0,0,0,.4);

}

.project-category{

    color:#FFD700;

    letter-spacing:3px;

    margin-bottom:20px;

}

.project-right h1{

    font-size:70px;

    margin-bottom:25px;

}

.project-description{

    color:#cfcfcf;

    line-height:1.8;

    margin-bottom:40px;

}

.project-details{

    display:flex;

    gap:50px;

}
.project-gallery{

    padding:120px 8%;

}

.project-gallery h2{

    text-align:center;

    font-size:55px;

    margin-bottom:60px;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.gallery-grid img{

    width:100%;

    border-radius:20px;

    transition:.5s;

    cursor:pointer;

}

.gallery-grid img:hover{

    transform:scale(1.04);

}
.footer{
    background: rgba(20,20,20,.35);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);

    border-top:1px solid rgba(255,255,255,.08);

    padding:80px 20px;

    text-align:center;
}

.footer h2{
    color:#FFD700;
    font-size:40px;
    margin-bottom:15px;
}

.footer p{
    color:#d5d5d5;
}

.footer-social{

    margin:35px 0;

}

.footer-social a{

    display:inline-flex;

    width:55px;
    height:55px;

    justify-content:center;
    align-items:center;

    margin:0 12px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    color:white;

    text-decoration:none;

    transition:.4s;

}

.footer-social a:hover{

    background:#FFD700;

    color:black;

    transform:translateY(-8px);

}

.copyright{

    margin-top:35px;

    font-size:14px;

    opacity:.7;

}
.created-by{
    margin-top:15px;
    color:#a8a8a8;
    font-size:15px;
}

.created-by span{
    color:#FFD700;
    text-shadow:0 0 10px rgba(255,215,0,.5);
    font-weight:700;
}
/* =========================
   PIXORA Intro
========================= */

.intro{
    position: relative;   /* fixed වෙනුවට */
    width: 100%;
    height: 100vh;
    background: #000;
    overflow: hidden;
}

.letter{
    position: absolute;
    font-size: 120px;
    font-weight: 800;
    color: white;
    font-family: "Poppins", sans-serif;
    will-change: transform;
}

/* Starting Positions */

.letter-p{
    top:12%;
    left:10%;
}

.letter-i{
    top:35%;
    left:42%;
}

.letter-x{
    top:10%;
    right:12%;
}

.letter-o{
    bottom:18%;
    left:15%;
}

.letter-r{
    bottom:25%;
    right:18%;
}

.letter-a{
    bottom:8%;
    left:50%;
    transform:translateX(-50%);
}
.video-section {
    position: relative;
    height: 200vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#scrollVideo {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100vh;

    object-fit: cover;
    display: block;
}
/* Mouse Light */

.card{

    --x:50%;
    --y:50%;

}

.card::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(
        circle at var(--x) var(--y),
        rgba(255,255,255,.28),
        transparent 45%
    );

    opacity:0;

    transition:opacity .3s;

    pointer-events:none;

}

.card:hover::after{

    opacity:1;

}
#bgCanvas{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:-2;
    pointer-events:none;
}

body{
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    background:
    radial-gradient(circle at 20% 30%,rgba(0,170,255,.10),transparent 35%),
    radial-gradient(circle at 80% 70%,rgba(0,255,200,.08),transparent 40%);
    z-index:-1;
}
.contact-card {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
/* =================================
   WELCOME PIXORA GLASS CARD
================================= */

.welcome-glass-card {
    position: relative;

    padding: 55px 90px;

    border-radius: 42px;

    background: rgba(255, 255, 255, 0.08);

    border: 1px solid rgba(255, 255, 255, 0.22);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);

    overflow: hidden;
}


/* Glass reflection */

.welcome-glass-card::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(170, 100, 255, 0.12),
            transparent 55%
        );

    pointer-events: none;
}

/* Keep your existing text styling */

.welcome-glass-card h1 {
    position: relative;
    z-index: 2;
}


/* Mobile */

@media (max-width: 768px) {
    .welcome-glass-card {
        padding: 40px 30px;
    }

    .welcome-glass-card h1 {
        font-size: 13vw;
    }
}
html {
    scroll-behavior: smooth;
}

#home {
    scroll-margin-top: 100px;
}
/* Hide old Hero PIXORA text */
.hero > h1 {
    display: none !important;
}

/* Premium Welcome Card */
.welcome-glass-card {
    position: relative;
    z-index: 5;

    width: min(1000px, 85vw);
    min-height: 420px;

    padding: 70px 100px;

    border-radius: 48px;

    background: rgba(18, 14, 24, 0.82);

    border: 1px solid rgba(255, 255, 255, 0.20);

    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);

    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;
}

.welcome-glass-card h1 {
    position: relative;
    z-index: 10;

    margin: 0;

    font-size: clamp(70px, 7vw, 110px);
    line-height: 1.05;

    text-align: center;
}

/* ================================
   FINAL PIXORA FIXES
   ================================ */
.hero {
    background-attachment: fixed !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* Keep the hero background stable while the page scrolls */
@media (max-width: 768px) {
    .hero {
        background-attachment: scroll !important;
    }
}


/* =========================================================
   MOBILE-ONLY OPTIMIZATION
   Desktop styles above remain unchanged.
========================================================= */
@media (max-width: 768px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Intro video: native mobile scroll + lighter mobile MP4 */
    .video-section {
        height: 100vh;
        min-height: 100svh;
        overflow: hidden;
        position: relative;
    }

    #scrollVideo {
        width: 100%;
        height: 100svh;
        min-height: 100vh;
        object-fit: cover;
        object-position: center center;
        display: block;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }

    /* Welcome section must stay in normal document flow */
    #home {
        position: relative;
        width: 100%;
        min-height: 100svh;
        height: auto;
        padding: 90px 16px 70px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: visible;
        background-attachment: scroll !important;
        scroll-margin-top: 20px;
    }

    .welcome-glass-card {
        width: calc(100% - 8px);
        max-width: 520px;
        min-height: 0;
        padding: 38px 20px;
        margin: 0 auto;
        border-radius: 28px;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        transform: translateZ(0);
    }

    .welcome-glass-card h1 {
        width: 100%;
        font-size: clamp(38px, 12vw, 64px);
        line-height: 1.08;
        word-break: normal;
    }

    /* Keep the main hero readable on small screens */
    .hero:not(#home) {
        min-height: 100svh;
        height: auto;
        padding: 110px 22px 70px;
        background-attachment: scroll !important;
    }

    .hero-content {
        width: 100%;
        max-width: 600px;
    }

    .subtitle {
        font-size: 13px;
        letter-spacing: 2px;
        line-height: 1.5;
    }

    .hero h1 {
        font-size: clamp(42px, 12vw, 64px);
        line-height: 1.05;
    }

    .description {
        font-size: 16px;
        line-height: 1.7;
    }

    .btn {
        padding: 15px 28px;
    }

    /* Mobile navbar: prevent it from covering the welcome card */
    .navbar {
        top: 10px;
        width: calc(100% - 20px);
        height: auto;
        min-height: 58px;
        padding: 10px 16px;
        border-radius: 28px;
    }

    .logo {
        font-size: 28px;
    }

    nav {
        gap: 0;
        margin-top: 6px;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 2px;
    }

    nav a {
        margin: 0 7px;
        font-size: 12px;
        line-height: 1.8;
    }

    /* Better touch spacing for the rest of the page */
    .portfolio,
    .about,
    .services,
    .contact {
        padding-left: 20px;
        padding-right: 20px;
    }

    .portfolio {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .portfolio h2,
    .services h2,
    .contact h2 {
        font-size: clamp(36px, 10vw, 50px);
        line-height: 1.1;
    }

    .card img {
        height: 260px;
    }

    .about {
        gap: 40px;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .about-content h2 {
        font-size: clamp(34px, 9vw, 48px);
        line-height: 1.15;
    }

    .stats {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        gap: 28px;
    }

    .stat h3 {
        font-size: 34px;
    }

    .services {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .service-card {
        padding: 32px 22px;
    }

    .contact {
        padding-top: 80px;
    }

    .contact-card {
        min-height: 170px;
    }
}

/* Small phones */
@media (max-width: 420px) {
    .welcome-glass-card {
        padding: 32px 16px;
        border-radius: 24px;
    }

    .welcome-glass-card h1 {
        font-size: 11vw;
    }

    .navbar {
        padding: 8px 12px;
    }

    .logo {
        font-size: 24px;
    }

    nav a {
        margin: 0 5px;
        font-size: 11px;
    }
}


/* =========================================================
   MOBILE INTRO VIDEO - MOBILE ONLY
   Desktop styles are untouched.
========================================================= */
@media (max-width: 768px) {
    .video-section {
        width: 100%;
        height: 100svh;
        min-height: 100svh;
        max-height: 100svh;
        overflow: hidden;
        position: relative;
    }

    #scrollVideo {
        width: 100%;
        height: 100svh;
        min-height: 100svh;
        max-height: 100svh;
        object-fit: cover;
        object-position: center center;
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
    }
}


/* =========================================================
   PIXORA MOBILE PERFORMANCE + SMOOTH INTRO
   Mobile only. Desktop is intentionally untouched.
========================================================= */
@media (max-width: 768px) {
    html {
        scroll-behavior: auto !important;
    }

    body {
        overscroll-behavior-x: none;
        -webkit-text-size-adjust: 100%;
    }

    /* Mobile intro is normal-flow, autoplay video.
       No scroll-linked seeking = much smoother touch scrolling. */
    .video-section {
        height: 100svh !important;
        min-height: 100svh !important;
        max-height: 100svh !important;
        position: relative !important;
        overflow: hidden !important;
        contain: layout paint;
        isolation: isolate;
        background: #080511;
    }

    #scrollVideo {
        width: 100% !important;
        height: 100svh !important;
        min-height: 100svh !important;
        max-height: 100svh !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        opacity: 0;
        animation: mobileIntroVideoIn .65s ease-out .05s forwards;
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    @keyframes mobileIntroVideoIn {
        from { opacity: 0; transform: scale(1.015) translateZ(0); }
        to   { opacity: 1; transform: scale(1) translateZ(0); }
    }

    /* Subtle cinematic transition after the intro. */
    .video-section::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 18vh;
        pointer-events: none;
        background: linear-gradient(
            to bottom,
            rgba(8,5,17,0),
            rgba(8,5,17,.42)
        );
    }

    /* Reduce expensive blur on touch devices while keeping the glass look. */
    .welcome-glass-card,
    .navbar {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    .welcome-glass-card {
        background: rgba(18, 14, 24, .94) !important;
        box-shadow:
            0 20px 55px rgba(0,0,0,.42),
            inset 0 1px 0 rgba(255,255,255,.13);
    }

    .navbar {
        background: rgba(255,255,255,.90) !important;
    }

    /* Lightweight scroll reveals: transform + opacity only. */
    .mobile-reveal {
        opacity: 0;
        transform: translate3d(0, 26px, 0);
        transition:
            opacity .55s cubic-bezier(.22,.61,.36,1),
            transform .55s cubic-bezier(.22,.61,.36,1);
        transition-delay: var(--mobile-delay, 0ms);
        will-change: opacity, transform;
    }

    .mobile-reveal.is-visible {
        opacity: 1;
        transform: translate3d(0,0,0);
    }

    .mobile-hero-in {
        opacity: 0;
        transform: translate3d(0, 22px, 0);
        animation: mobileHeroIn .7s cubic-bezier(.22,.61,.36,1) var(--hero-delay) forwards;
    }

    @keyframes mobileHeroIn {
        to {
            opacity: 1;
            transform: translate3d(0,0,0);
        }
    }

    /* Disable hover-only visual work on touch screens. */
    .card:hover::after,
    .card:hover img,
    .gallery-grid img:hover,
    .project-left img:hover,
    .contact-box:hover,
    .phone-box:hover {
        transform: none !important;
        box-shadow: none;
    }

    /* Avoid rendering off-screen content until it approaches the viewport. */
    .portfolio .card,
    .service-card,
    .contact-card {
        content-visibility: auto;
        contain-intrinsic-size: 260px;
    }

    @media (prefers-reduced-motion: reduce) {
        #scrollVideo,
        .mobile-hero-in,
        .mobile-reveal {
            animation: none !important;
            transition: none !important;
            opacity: 1 !important;
            transform: none !important;
        }
    }
}
/* =========================================
   MOBILE - FIX BACKGROUND WHILE SCROLLING
========================================= */

@media (max-width: 768px) {

    body {
        position: relative;
        background: none !important;
    }

    body::after {
        content: "";
        position: fixed;
        inset: 0;

        background-image: url("images/background.webp");
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;

        z-index: -10;
        pointer-events: none;
    }

    /* Keep page content above fixed background */
    .video-section,
    #home,
    .hero,
    .portfolio,
    .about,
    .services,
    .contact,
    .footer {
        position: relative;
    }
}
/* =========================================
   MOBILE FIXED BACKGROUND
========================================= */

@media (max-width: 768px) {

    html,
    body {
        background: #080511 !important;
    }

    body::before {
        content: "";
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;

        background-image: url("images/background.webp");
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;

        z-index: 0;
        pointer-events: none;
    }

    /* Content above fixed background */
    body > * {
        position: relative;
        z-index: 1;
    }

    /* Remove scrolling background from hero */
    .hero {
        background: rgba(0,0,0,0.55) !important;
        background-image: none !important;
        background-attachment: initial !important;
    }

    #home {
        background: rgba(0,0,0,0.55) !important;
        background-image: none !important;
    }

}
/* =========================================
   MOBILE PREMIUM WHITE GLASS NAVBAR
========================================= */

@media (max-width: 768px) {

    .navbar {
        position: fixed !important;

        top: 12px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;

        width: calc(100% - 24px) !important;
        min-height: 58px !important;

        padding: 9px 16px !important;

        /* Premium white transparent glass */
        background: rgba(255, 255, 255, 0.20) !important;

        /* Glass blur */
        backdrop-filter: blur(18px) saturate(140%) !important;
        -webkit-backdrop-filter: blur(18px) saturate(140%) !important;

        /* Soft white glass border */
        border: 1px solid rgba(255, 255, 255, 0.35) !important;

        /* Premium shadow */
        box-shadow:
            0 8px 30px rgba(0, 0, 0, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;

        border-radius: 30px !important;

        z-index: 9999 !important;
    }

    /* Remove old pseudo backgrounds */
    .navbar::before,
    .navbar::after {
        display: none !important;
    }

    /* PIXORA */
    .navbar .logo {
    color: #FFD700 !important;
    -webkit-text-fill-color: #FFD700 !important;

    background: none !important;
    background-image: none !important;

    text-shadow:
        0 1px 3px rgba(0, 0, 0, 0.3),
        0 0 12px rgba(255, 215, 0, 0.25) !important;
}

    /* Navigation */
    .navbar nav a {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;

        text-shadow:
            0 1px 4px rgba(0, 0, 0, 0.35) !important;
    }

    .navbar nav a:hover {
        color: #FFD700 !important;
        -webkit-text-fill-color: #FFD700 !important;
    }
}


/* All playground headings: neon pink initially, then white on scroll */
.playground-title {
    color: #ff1493;
    -webkit-text-fill-color: #ff1493;
    will-change: color;
}
@media (max-width: 768px) {
    .playground-title {
        transition: color .08s linear;
    }
}

/* Section heading scroll color: no glow */
.playground-title { text-shadow: none !important; -webkit-text-shadow: none !important; }


/* =========================================================
   ABOUT ME — WHITE GLASS EFFECT ONLY
   Keeps all existing desktop/mobile layout and content.
========================================================= */
.about{
    background: linear-gradient(
        135deg,
        rgba(255,255,255,0.095) 0%,
        rgba(255,255,255,0.045) 45%,
        rgba(255,255,255,0.025) 100%
    );

    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);

    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 30px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
        inset 0 -1px 0 rgba(255,255,255,0.035),
        0 18px 50px rgba(0,0,0,0.18);
}

/* =========================================================
   ABOUT ME — PREMIUM GLASS UPGRADE ONLY
   No other sections are affected.
========================================================= */
.about{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.085), transparent 28%),
        radial-gradient(circle at 88% 82%, rgba(255,255,255,.055), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.115), rgba(255,255,255,.035) 48%, rgba(255,255,255,.065));
    backdrop-filter:blur(24px) saturate(135%);
    -webkit-backdrop-filter:blur(24px) saturate(135%);
    border:1px solid rgba(255,255,255,.16);
    border-radius:32px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 -1px 0 rgba(255,255,255,.035),
        0 24px 70px rgba(0,0,0,.22);
}

.about::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:linear-gradient(120deg, rgba(255,255,255,.12), transparent 28%, transparent 70%, rgba(255,255,255,.045));
    opacity:.7;
}

.about::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-120px;
    top:-140px;
    border-radius:50%;
    pointer-events:none;
    background:rgba(255,255,255,.045);
    filter:blur(12px);
    z-index:-1;
}

.about-image{
    position:relative;
    flex:0 0 auto;
    padding:8px;
    border-radius:27px;
    background:linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.035));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:
        0 18px 45px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.16);
    transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;
}

.about-image::after{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.12);
    pointer-events:none;
}

.about-image img{
    display:block;
    border-radius:20px;
    object-fit:cover;
    box-shadow:0 8px 28px rgba(0,0,0,.2);
}

.about-image:hover{
    transform:translateY(-6px);
    box-shadow:
        0 24px 55px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.2);
}

.about-content{
    position:relative;
    z-index:1;
}

.about-subtitle{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.82);
    font-weight:600;
    letter-spacing:4px;
    margin-bottom:18px;
}

.about-subtitle::before{
    content:"";
    width:28px;
    height:1px;
    background:rgba(255,255,255,.6);
}

.about-content h2{
    letter-spacing:-1.5px;
    text-shadow:0 2px 20px rgba(0,0,0,.18);
}

.about-content > p:not(.about-subtitle){
    color:rgba(255,255,255,.72);
    max-width:650px;
}

.stats{
    gap:18px;
    margin-top:42px;
    align-items:stretch;
}

.stat{
    min-width:125px;
    padding:16px 20px 15px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:18px;
    background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 10px 28px rgba(0,0,0,.13);
    transition:transform .3s ease, background .3s ease, border-color .3s ease;
}

.stat:hover{
    transform:translateY(-4px);
    background:linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
    border-color:rgba(255,255,255,.18);
}

.stat h3{
    margin:0 0 3px;
}

.stat span{
    color:rgba(255,255,255,.68);
    font-size:14px;
}

@media (max-width:768px){
    .about{
        border-radius:26px;
        backdrop-filter:blur(18px) saturate(125%);
        -webkit-backdrop-filter:blur(18px) saturate(125%);
    }

    .about-image{
        padding:6px;
        border-radius:23px;
    }

    .about-image::after{
        inset:6px;
        border-radius:18px;
    }

    .about-subtitle{
        letter-spacing:3px;
    }

    .stats{
        gap:14px;
    }

    .stat{
        min-width:110px;
        padding:13px 15px;
        border-radius:16px;
    }
}

/* =========================================================
   PIXORA MOBILE NAVBAR — PROFESSIONAL / USER FRIENDLY
   MOBILE ONLY. DESKTOP IS UNTOUCHED.
========================================================= */
@media (max-width: 768px) {
    .navbar {
        width: calc(100% - 28px) !important;
        max-width: 520px !important;
        min-height: auto !important;
        top: max(12px, env(safe-area-inset-top)) !important;
        padding: 12px 12px 13px !important;
        border-radius: 28px !important;

        background:
            linear-gradient(
                135deg,
                rgba(255,255,255,.24) 0%,
                rgba(255,255,255,.13) 48%,
                rgba(255,255,255,.09) 100%
            ) !important;

        border: 1px solid rgba(255,255,255,.38) !important;
        backdrop-filter: blur(24px) saturate(155%) !important;
        -webkit-backdrop-filter: blur(24px) saturate(155%) !important;

        box-shadow:
            0 12px 35px rgba(0,0,0,.24),
            inset 0 1px 0 rgba(255,255,255,.55),
            inset 0 -1px 0 rgba(255,255,255,.08) !important;

        overflow: hidden !important;
    }

    .navbar .logo {
        display: block !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        text-align: center !important;
        font-size: clamp(23px, 7vw, 31px) !important;
        line-height: 1 !important;
        letter-spacing: .035em !important;
        font-weight: 800 !important;
    }

    .navbar nav {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;
        flex-wrap: nowrap !important;
    }

    .navbar nav a {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px 5px !important;
        border-radius: 14px !important;
        text-align: center !important;
        font-size: clamp(10px, 3.15vw, 13px) !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
        letter-spacing: .01em !important;
        white-space: nowrap !important;
        transition:
            background .22s ease,
            color .22s ease,
            transform .22s ease !important;
    }

    .navbar nav a:hover,
    .navbar nav a:focus-visible {
        color: #FFD700 !important;
        -webkit-text-fill-color: #FFD700 !important;
        background: rgba(255,255,255,.13) !important;
        transform: translateY(-1px) !important;
        outline: none !important;
    }

    .navbar nav a:active {
        transform: scale(.96) !important;
        background: rgba(255,255,255,.16) !important;
    }
}

@media (max-width: 380px) {
    .navbar {
        width: calc(100% - 20px) !important;
        padding: 11px 8px 12px !important;
        border-radius: 24px !important;
    }

    .navbar .logo {
        margin-bottom: 7px !important;
        font-size: 24px !important;
    }

    .navbar nav {
        gap: 0 !important;
    }

    .navbar nav a {
        padding: 8px 3px !important;
        font-size: 10.5px !important;
    }
}

/* =========================================================
   MOBILE ABOUT TEXT PANEL — ONLY THIS MOBILE AREA
   Keeps the existing 3 stat cards unchanged.
========================================================= */
@media (max-width: 768px) {
    /* Make the existing dark panel follow the full About text block. */
    .about-text-panel {
        position: relative;
        isolation: isolate;
        width: 100%;
        text-align: center;
        padding-bottom: 1px;
    }

    .about-text-panel::before {
        content: "";
        position: absolute;
        left: 50%;
        top: -18px;
        bottom: -18px;
        transform: translateX(-50%);
        width: min(94%, 680px);
        border-radius: 38px;
        background: rgba(4, 4, 8, 0.86);
        border: 1px solid rgba(255,255,255,.055);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.035),
            0 16px 40px rgba(0,0,0,.18);
        z-index: 0;
        pointer-events: none;
    }

    .about-content::before {
        display: none;
    }
    .about-content {
        width: 100%;
        position: relative;
        isolation: isolate;
        text-align: center;
    }

    .about-text-panel > .about-subtitle,
    .about-text-panel > h2,
    .about-text-panel > p:not(.about-subtitle) {
        position: relative;
        z-index: 1;
    }

    .about-subtitle {
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }

    .about-content h2 {
        margin-left: auto;
        margin-right: auto;
        max-width: 620px;
    }

    .about-content > p:not(.about-subtitle),
    .about-text-panel > p:not(.about-subtitle) {
        margin-left: auto;
        margin-right: auto;
        max-width: 650px;
    }

    /* Keep the 3 existing cards, centered underneath the text */
    .stats {
        position: relative;
        z-index: 2;
        width: 100%;
        justify-content: center;
        align-items: stretch;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 18px;
        margin-left: auto;
        margin-right: auto;
    }

    .stat {
        flex: 1 1 0;
        min-width: 0;
        max-width: 170px;
    }
}

/* =========================================================
   DESKTOP ABOUT TEXT PANEL — ONLY ABOUT ME TEXT AREA
   Matches the existing mobile black panel.
   No other desktop sections are changed.
========================================================= */
@media (min-width: 769px) {
    .about-text-panel {
        position: relative;
        isolation: isolate;
        padding: 44px 48px 46px;
        border-radius: 38px;
        background: rgba(4, 4, 8, 0.86);
        border: 1px solid rgba(255,255,255,.055);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.035),
            0 16px 40px rgba(0,0,0,.18);
    }

    .about-text-panel > .about-subtitle,
    .about-text-panel > h2,
    .about-text-panel > p:not(.about-subtitle) {
        position: relative;
        z-index: 1;
    }

    .about-text-panel > p:not(.about-subtitle) {
        margin-bottom: 0;
    }
}

/* DESKTOP ONLY — center the 3 About stat cards directly below the paragraph panel */
@media (min-width: 769px) {
    .about-content > .stats {
        width: 100%;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }
}
