:root{
    --background:#050507;
    --surface:#0d0d12;
    --surface-light:#15151c;
    --surface-hover:#1b1b24;
    --text:#f5f5f7;
    --muted:#9696a3;
    --line:rgba(255,255,255,.1);
    --line-light:rgba(255,255,255,.16);
    --accent:#8b5cf6;
    --accent-blue:#3b82f6;
    --accent-soft:rgba(139,92,246,.15);
    --radius:22px;
    --container:1180px;
    --transition:.35s cubic-bezier(.22,1,.36,1);
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
    background:var(--background);
}
body{
    background:var(--background);
    color:var(--text);
    font-family:"Inter",Arial,sans-serif;
    overflow-x:hidden;
    min-height:100vh;
}
::selection{
    background:var(--accent);
    color:white;
}
h1,h2,h3,h4,h5,h6{
    font-family:"Space Grotesk",Arial,sans-serif;
    font-weight:600;
    color:var(--text);
}
h1,h2,h3{
    letter-spacing:-.04em;
}
p{
    color:var(--muted);
    line-height:1.75;
}
a{
    color:inherit;
    text-decoration:none;
}
button,
input,
textarea{
    font-family:inherit;
}
img{
    max-width:100%;
    display:block;
}
.container{
    width:min(90%,var(--container));
    margin:auto;
}
.hidden{
    display:none;
}
/* Background */
.background-gradient{
    position:fixed;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background:
    radial-gradient(circle at 15% 10%,rgba(139,92,246,.18),transparent 35%),
    radial-gradient(circle at 90% 25%,rgba(59,130,246,.14),transparent 35%),
    radial-gradient(circle at 50% 90%,rgba(139,92,246,.08),transparent 40%);
}
.cursor-glow{
    position:fixed;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(139,92,246,.18);
    filter:blur(70px);
    pointer-events:none;
    transform:translate(-50%,-50%);
    opacity:.8;
}
/* Loader */
.page-loader{
    position:fixed;
    inset:0;
    background:#050507;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
    transition:opacity .8s ease,visibility .8s ease;
}
.page-loader.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.loader-logo{
    display:flex;
    justify-content:center;
    align-items:center;
    animation:loaderPulse 2s ease infinite;
}
.loader-logo img{
    width:260px;
    height:auto;
}
@keyframes loaderPulse{
    0%,100%{
        transform:scale(1);
        opacity:1;
    }
    50%{
        transform:scale(1.05);
        opacity:.75;
    }
}
/* Sections */
.section{
    margin-top:140px;
}
.section-heading{
    max-width:750px;
    margin-bottom:60px;
}
.section-heading span,
.eyebrow,
.project-type{
    display:block;
    color:#a78bfa;
    font-size:.75rem;
    letter-spacing:3px;
    font-weight:700;
    text-transform:uppercase;
}
.section-heading h2{
    font-size:clamp(2.2rem,5vw,3.8rem);
    line-height:1.1;
    margin-top:18px;
}
.section-heading p{
    margin-top:20px;
    max-width:600px;
}
.intro-block{
    max-width:750px;
}
.intro-block h2{
    font-size:clamp(2.2rem,5vw,3.5rem);
    margin:20px 0;
}

/* Navbar */
.navbar{
    position:sticky;
    top:20px;
    z-index:100;
    margin-top:20px;
}
.nav-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 26px;
    background:rgba(10,10,12,.65);
    border:1px solid var(--line);
    backdrop-filter:blur(25px);
    border-radius:999px;
}
.logo{
    font-family:"Space Grotesk",sans-serif;
    font-size:1.35rem;
    font-weight:700;
    letter-spacing:-.05em;
}
.nav-links{
    display:flex;
    align-items:center;
    gap:34px;
}
.nav-links a{
    color:var(--muted);
    font-size:.95rem;
    position:relative;
    transition:var(--transition);
}
.nav-links a::after{
    content:"";
    position:absolute;
    bottom:-8px;
    left:0;
    width:0;
    height:2px;
    background:white;
    border-radius:10px;
    transition:var(--transition);
}
.nav-links a:hover,
.nav-links a.active{
    color:white;
}
.nav-links a:hover::after,
.nav-links a.active::after{
    width:100%;
}
.mobile-toggle{
    display:none;
    background:none;
    border:none;
    color:white;
    font-size:1.5rem;
    cursor:pointer;
}
/* Buttons */
.btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    position:relative;
    padding:14px 30px;
    border-radius:999px;
    font-weight:600;
    overflow:hidden;
    transition:var(--transition);
    border:1px solid transparent;
    cursor:pointer;
}
.btn::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
    transform:translateX(-120%);
    transition:.7s ease;
}
.btn:hover::before{
    transform:translateX(120%);
}
.btn:hover{
    transform:translateY(-4px);
}
.btn-primary{
    background:white;
    color:#050507;
}
.btn-primary:hover{
    box-shadow:0 20px 50px rgba(255,255,255,.15);
}
.btn-outline{
    border-color:var(--line);
    background:rgba(255,255,255,.03);
    color:white;
}
.btn-outline:hover{
    border-color:var(--line-light);
    background:rgba(255,255,255,.08);
}
/* Hero */
.hero{
    min-height:85vh;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:80px;
    padding-top:80px;
}
.hero-content{
    max-width:680px;
}
.hero h1{
    font-size:clamp(3.2rem,7vw,5.8rem);
    line-height:.95;
    letter-spacing:-.07em;
    margin:28px 0;
}
.hero p{
    font-size:1.15rem;
    max-width:580px;
}
.hero-actions{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:40px;
}
/* Hero Preview */
.hero-preview{
    position:relative;
}
.browser-card{
    width:430px;
    height:340px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:30px;
    overflow:hidden;
    transform-style:preserve-3d;
    transition:var(--transition);
    box-shadow:0 40px 100px rgba(0,0,0,.45);
}
.browser-card:hover{
    transform:translateY(-10px) rotateY(-5deg);
}
.glow{
    position:absolute;
    width:300px;
    height:300px;
    background:var(--accent);
    filter:blur(140px);
    opacity:.3;
    z-index:-1;
}
.browser-header{
    height:44px;
    display:flex;
    align-items:center;
    gap:9px;
    padding-left:20px;
    background:#09090b;
    border-bottom:1px solid rgba(255,255,255,.05);
}
.browser-header span{
    width:11px;
    height:11px;
    border-radius:50%;
    background:white;
    opacity:.35;
}
.preview-content{
    padding:35px;
}
.preview-content h3{
    font-size:2rem;
    letter-spacing:-.05em;
}
.preview-content p{
    margin-top:10px;
}
.preview-line{
    height:18px;
    width:100%;
    background:rgba(255,255,255,.08);
    border-radius:20px;
    margin-top:25px;
}
.preview-line.small{
    width:60%;
}
.preview-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:30px;
}
.preview-grid div{
    height:70px;
    border-radius:15px;
    background:rgba(255,255,255,.08);
    transition:var(--transition);
}
.preview-grid div:hover{
    background:rgba(255,255,255,.15);
}

/* Grids */
.grid{
    display:grid;
    gap:28px;
    margin-top:50px;
}
.services-grid{
    grid-template-columns:repeat(4,1fr);
}
.portfolio-grid{
    grid-template-columns:repeat(2,1fr);
}
.advantage-grid{
    grid-template-columns:repeat(4,1fr);
}
.process-grid{
    grid-template-columns:repeat(4,1fr);
}
.capability-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}
/* Generic Cards */
.card,
.capability-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:35px;
    transition:var(--transition);
}
.card:hover,
.capability-card:hover{
    transform:translateY(-10px);
    background:var(--surface-light);
    border-color:var(--line-light);
}
.card h3,
.capability-card h3{
    font-size:1.35rem;
    margin-bottom:15px;
    letter-spacing:-.03em;
}
.card p,
.capability-card p{
    line-height:1.75;
}
/* Portfolio Cards */
.portfolio-card{
    background:rgba(255,255,255,.04);
    border:1px solid var(--line);
    border-radius:30px;
    overflow:hidden;
    transition:var(--transition);
}
.portfolio-card:hover{
    transform:translateY(-12px);
    border-color:var(--line-light);
    box-shadow:0 35px 90px rgba(0,0,0,.35);
}
.portfolio-image{
    width:100%;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#09090b;
}
.portfolio-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.portfolio-card:hover .portfolio-image img{
    transform:scale(1.06);
}
.portfolio-content{
    padding:35px;
}
.project-tags{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.project-tags span,
.project-meta span{
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.05);
    color:var(--muted);
    font-size:.82rem;
}
.portfolio-content h3{
    font-size:2rem;
    margin:22px 0 15px;
    letter-spacing:-.05em;
}
.portfolio-content p{
    line-height:1.8;
}
.project-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:25px 0;
}
.project-link{
    display:inline-flex;
    align-items:center;
    font-weight:600;
    transition:var(--transition);
}
.project-link:hover{
    transform:translateX(5px);
}
/* Portfolio Intro */
.portfolio-intro{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:60px;
    margin-bottom:70px;
}
.portfolio-intro p{
    max-width:450px;
}
/* Portfolio Banner */
.portfolio-banner{
    padding:70px;
    border-radius:35px;
    background:
    linear-gradient(
    135deg,
    rgba(139,92,246,.12),
    rgba(59,130,246,.08)
    );
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}
.portfolio-banner h2{
    font-size:clamp(2rem,4vw,3rem);
    margin:15px 0;
}
.portfolio-banner p{
    max-width:600px;
}
/* Contact */
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}
.contact-item{
    margin-top:30px;
}
.contact-item h3{
    margin-bottom:8px;
}
.contact-item a{
    color:#c4b5fd;
    transition:var(--transition);
}
.contact-item a:hover{
    color:white;
}
.contact-form{
    display:flex;
    flex-direction:column;
    gap:22px;
}
.form-group{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.form-group label{
    color:var(--muted);
    font-size:.9rem;
}
.form-group input,
.form-group textarea{
    background:#09090b;
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    color:white;
    outline:none;
    transition:var(--transition);
}
.form-group textarea{
    min-height:150px;
    resize:vertical;
}
.form-group input:focus,
.form-group textarea:focus{
    border-color:var(--accent);
    box-shadow:0 0 25px rgba(139,92,246,.15);
}
/* About */
.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}
.about-content h2{
    font-size:clamp(2.3rem,5vw,4rem);
    margin:20px 0;
}
.about-content p{
    margin-bottom:20px;
}

/* Phone Carousel */
.phone-carousel{
    position:relative;
    width:100%;
    padding:70px 0;
    overflow:hidden;
}
.phone-stage{
    height:650px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}
.phone-card{
    position:absolute;
    width:270px;
    height:550px;
    padding:10px;
    border-radius:45px;
    overflow:hidden;
    background:#050505;
    border:1px solid rgba(255,255,255,.12);
    opacity:.35;
    filter:blur(2px);
    transform:scale(.82);
    transition:
    transform .8s cubic-bezier(.22,1,.36,1),
    opacity .5s ease,
    filter .5s ease;
    box-shadow:0 40px 100px rgba(0,0,0,.5);
}
.phone-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:36px;
}
.phone-card.active{
    opacity:1;
    filter:none;
    transform:scale(1.12);
    z-index:5;
}
.phone-card.left{
    transform:translateX(-320px) scale(.88);
    opacity:.55;
}
.phone-card.right{
    transform:translateX(320px) scale(.88);
    opacity:.55;
}
.carousel-buttons{
    position:absolute;
    top:50%;
    left:0;
    width:100%;
    padding:0 40px;
    display:flex;
    justify-content:space-between;
    transform:translateY(-50%);
}
.carousel-buttons button{
    width:58px;
    height:58px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    color:white;
    font-size:24px;
    cursor:pointer;
    transition:var(--transition);
}
.carousel-buttons button:hover{
    transform:scale(1.12);
    background:rgba(255,255,255,.18);
}
.phone-indicators,
.aero-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:35px;
}
.phone-indicators span,
.aero-dots span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.3);
    transition:.4s ease;
}
.phone-indicators span.active,
.aero-dots span.active{
    width:34px;
    border-radius:20px;
    background:white;
}
/* Video Showcase */
.video-showcase{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:50px;
}
.video-frame{
    width:100%;
    aspect-ratio:16/9;
    border-radius:30px;
    overflow:hidden;
    background:#050505;
    border:1px solid var(--line);
    box-shadow:0 50px 120px rgba(0,0,0,.5);
}
.project-video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
/* Phone Video */
.phone-video-frame{
    width:340px;
    padding:12px;
    border-radius:50px;
    background:#050505;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:
    0 50px 120px rgba(0,0,0,.5),
    inset 0 0 0 1px rgba(255,255,255,.05);
}
.phone-video-frame .project-video{
    border-radius:40px;
}
/* AeroOS Desktop Carousel */
.aero-showcase{
    display:flex;
    flex-direction:column;
    gap:100px;
}
.aero-carousel{
    position:relative;
    width:100%;
}
.aero-slider{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:30px;
    background:#050505;
    border:1px solid var(--line);
    box-shadow:0 50px 120px rgba(0,0,0,.5);
}
.aero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transform:scale(1.04);
    transition:
    opacity .8s ease,
    transform 1.2s cubic-bezier(.22,1,.36,1);
}
.aero-slide.active{
    opacity:1;
    transform:scale(1);
}
.aero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.aero-carousel button{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:60px;
    height:60px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    color:white;
    font-size:24px;
    cursor:pointer;
    z-index:10;
    transition:var(--transition);
}
.aero-carousel button:hover{
    transform:translateY(-50%) scale(1.1);
    background:rgba(255,255,255,.18);
}
.aero-prev{
    left:30px;
}
.aero-next{
    right:30px;
}

/* CTA */
.cta{
    margin-top:120px;
    margin-bottom:100px;
    padding:100px 60px;
    text-align:center;
    border-radius:40px;
    background:
    linear-gradient(
    135deg,
    rgba(139,92,246,.14),
    rgba(59,130,246,.08)
    );
    border:1px solid var(--line);
}
.cta-content{
    max-width:750px;
    margin:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.cta .eyebrow{
    margin-bottom:25px;
}
.cta h2{
    font-size:clamp(2.2rem,5vw,4rem);
    line-height:1.05;
    margin-bottom:25px;
}
.cta p{
    max-width:600px;
    margin-bottom:40px;
}
/* Footer */
.footer{
    margin-top:140px;
    padding:70px 0 40px;
    border-top:1px solid var(--line);
}
.footer-content{
    display:flex;
    justify-content:space-between;
    gap:70px;
}
.footer-brand{
    max-width:350px;
}
.footer-brand img{
    width: 450px;
    height:auto;
    margin-bottom:20px;
}
.footer-brand p{
    line-height:1.8;
}
.footer-links{
    display:flex;
    gap:80px;
}
.footer-links h4{
    margin-bottom:18px;
    font-size:.95rem;
}
.footer-links a{
    display:block;
    color:var(--muted);
    margin-bottom:12px;
    transition:var(--transition);
}
.footer-links a:hover{
    color:white;
    transform:translateX(4px);
}
.footer-bottom{
    margin-top:70px;
    padding-top:25px;
    border-top:1px solid var(--line);
}
.footer-bottom p{
    font-size:.85rem;
}
/* Reveal Animations */
.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal.active{
    opacity:1;
    transform:none;
}
/* Hover Glow Effects */
.card,
.portfolio-card,
.browser-card,
.capability-card{
    will-change:transform;
}
/* Tablet */
@media(max-width:1100px){
    .hero{
        gap:40px;
    }
    .browser-card{
        width:380px;
    }
    .services-grid,
    .advantage-grid,
    .process-grid,
    .capability-grid{
        grid-template-columns:repeat(2,1fr);
    }
}
/* Mobile Navigation */
@media(max-width:900px){
    .nav-links{
        display:none;
    }
    .mobile-toggle{
        display:block;
    }
    .hero{
        flex-direction:column;
        text-align:center;
        padding-top:60px;
    }
    .hero-content{
        max-width:100%;
    }
    .hero p{
        margin:auto;
    }
    .hero-actions{
        justify-content:center;
        flex-wrap:wrap;
    }
    .browser-card{
        width:min(90vw,420px);
    }
    .portfolio-intro{
        flex-direction:column;
        align-items:flex-start;
    }
    .portfolio-banner{
        flex-direction:column;
        align-items:flex-start;
    }
    .contact-grid,
    .about-grid{
        grid-template-columns:1fr;
    }
}
/* Mobile */
@media(max-width:700px){
    .container{
        width:92%;
    }
    .navbar{
        top:10px;
    }
    .nav-container{
        padding:15px 20px;
    }
    .logo{
        font-size:1.2rem;
    }
    .hero h1{
        letter-spacing:-.05em;
    }
    .section{
        margin-top:100px;
    }
    .section-heading{
        margin-bottom:40px;
    }
    .services-grid,
    .portfolio-grid,
    .advantage-grid,
    .process-grid,
    .capability-grid{
        grid-template-columns:1fr;
    }
    .portfolio-content{
        padding:25px;
    }
    .portfolio-banner{
        padding:40px 25px;
    }
    .cta{
        padding:60px 25px;
        border-radius:30px;
    }
    .cta h2{
        font-size:2.2rem;
    }
    .footer-content{
        flex-direction:column;
        gap:40px;
    }
    .footer-links{
        flex-direction:column;
        gap:30px;
    }
    .phone-stage{
        height:500px;
    }
    .phone-card{
        width:220px;
        height:450px;
    }
    .phone-card.left,
    .phone-card.right{
        display:none;
    }
    .carousel-buttons{
        padding:0 10px;
    }
    .carousel-buttons button,
    .aero-carousel button{
        width:45px;
        height:45px;
        font-size:18px;
    }
    .aero-prev{
        left:15px;
    }
    .aero-next{
        right:15px;
    }
    .aero-slider,
    .video-frame{
        border-radius:20px;
    }
    .phone-video-frame{
        width:280px;
        border-radius:40px;
    }
}

.cursor-glow{

position:fixed;
width:240px;
height:240px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(139,92,246,.32),
transparent 70%
);

filter:blur(45px);

pointer-events:none;

z-index:9998;

will-change:transform;

}


.cursor-glow.active{

width:300px;
height:300px;
z-index: index -1;
background:
radial-gradient(
circle,
rgba(139,92,246,.45),
transparent 70%
);

}

.ambient-particles{
    position:fixed;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:-3;
}

.ambient-particles span{
    position:absolute;
    width:5px;
    height:5px;
    background:white;
    opacity:.15;
    border-radius:50%;
    animation:floatParticle 15s infinite linear;
}

.ambient-particles span:nth-child(1){
    left:20%;
    top:30%;
}

.ambient-particles span:nth-child(2){
    left:70%;
    top:20%;
    animation-delay:3s;
}

.ambient-particles span:nth-child(3){
    left:40%;
    top:80%;
    animation-delay:6s;
}

.ambient-particles span:nth-child(4){
    left:85%;
    top:70%;
    animation-delay:9s;
}

@keyframes floatParticle{
    0%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-80px);
    }
    100%{
        transform:translateY(0);
    }
}

.card,
.portfolio-card,
.capability-card{
    position:relative;
    overflow:hidden;
}

.card::before,
.portfolio-card::before,
.capability-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:
    radial-gradient(
    400px circle at var(--x) var(--y),
    rgba(139,92,246,.15),
    transparent 40%
    );
    opacity:0;
    transition:.4s;
}

.card:hover::before,
.portfolio-card:hover::before,
.capability-card:hover::before{
    opacity:1;
}

.status{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:.85rem;
    color:var(--muted);
}

.status span{
    width:8px;
    height:8px;
    background:#22c55e;
    border-radius:50%;
    box-shadow:0 0 15px #22c55e;
}

.tilt{
    transform-style:preserve-3d;
    transition:transform .15s ease;
}

/* =========================
   SELECTED WORK COMPACT FIX
========================= */


.portfolio-preview{
    max-width:100%;
}


.portfolio-preview .section-heading{
    margin-bottom:45px;
}


.portfolio-preview .section-heading h2{
    font-size:clamp(2rem,4vw,3rem);
    max-width:550px;
}



.portfolio-preview .portfolio-grid{

display:grid;

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

gap:30px;

}



.portfolio-preview .portfolio-card{

position:relative;

overflow:hidden;

border-radius:24px;

min-height:0;

}



.portfolio-preview .portfolio-image{

aspect-ratio:16/9;

height:auto;

}



.portfolio-preview .portfolio-image img{

width:100%;

height:100%;

object-fit:cover;

}



.portfolio-preview .portfolio-content{

padding:25px;

}



.portfolio-preview .portfolio-content h3{

font-size:1.6rem;

margin:12px 0;

}



.portfolio-preview .portfolio-content p{

font-size:.95rem;

line-height:1.6;

}



.portfolio-preview .project-link{

position:relative;

z-index:10;

display:inline-flex;

margin-top:20px;

}



.portfolio-card::before{

pointer-events:none;

}



@media(max-width:800px){

.portfolio-preview .portfolio-grid{

grid-template-columns:1fr;

}

}

/* =========================
   CURSOR GLOW LAYER FIX
========================= */


.cursor-glow{
    position:fixed;
    top:0;
    left:0;
    width:260px;
    height:260px;
    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(139,92,246,.35),
        rgba(139,92,246,.15) 35%,
        transparent 70%
    );

    filter:blur(45px);

    pointer-events:none;

    z-index:9998;

    opacity:1;

    transition:
    opacity .3s ease,
    transform .08s linear;
}



.page-loader{
    z-index:99999;
}



.background-gradient{
    z-index:-10;
}



body{
    position:relative;
    isolation:isolate;
}

/* CONTACT FORM INTERACTION FIX */

.contact-grid,
.contact-form,
.form-group,
.form-group input,
.form-group textarea,
.contact-form button{
    position:relative;
    z-index:20;
}

.continue-btn {
    margin-top: 55px;
    width:100%;
    max-width:260px;
    align-self:center;
}

.contact-form input,
.contact-form textarea,
.contact-form button{
    pointer-events:auto;
}


.contact-card::before,
.contact-card::after{
    pointer-events:none;
}

/* CONTACT FORM ANIMATIONS */


.submit-btn{
    min-width:180px;
}


.submit-btn.sending{

opacity:.7;

pointer-events:none;

}


.submit-btn.success{

background:#22c55e;

color:white;

animation:
successPulse .6s ease;

}


.submit-btn.error{

background:#ef4444;

color:white;

}



.form-status{

margin-top:20px;

color:var(--muted);

animation:
fadeIn .4s ease;

}



@keyframes successPulse{

0%{
transform:scale(1);
}

50%{
transform:scale(1.08);
}

100%{
transform:scale(1);
}

}



@keyframes fadeIn{

from{

opacity:0;
transform:translateY(10px);

}

to{

opacity:1;
transform:none;

}

}

.form-step{

display:none;

animation:
slideIn .45s ease;

}


.form-step.active{

display:block;

}



.form-progress{

display:flex;

gap:10px;

margin-bottom:35px;

}



.form-progress span{

height:5px;

width:60px;

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

border-radius:20px;

}



.form-progress span.active{

background:#8b5cf6;

}



.form-actions{

display:flex;

justify-content:space-between;

gap:20px;

margin-top:30px;

}



.form-status{

margin-top:25px;

font-size:.95rem;

}



@keyframes slideIn{

from{

opacity:0;

transform:translateX(40px);

}


to{

opacity:1;

transform:none;

}

}



.submit-btn.sending{

opacity:.6;

pointer-events:none;

}



.submit-btn.success{

background:#22c55e;

}


.submit-btn.error{

background:#ef4444;

}

/* =========================
   XVYNORA PROJECT BRIEF STEP
========================= */


#stepTwo{

background:
linear-gradient(
145deg,
rgba(255,255,255,.06),
rgba(255,255,255,.025)
);

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

border-radius:28px;

padding:40px;

box-shadow:
0 30px 80px rgba(0,0,0,.35);

backdrop-filter:blur(20px);

}



#stepTwo h3{

font-size:2.4rem;

letter-spacing:-1.5px;

margin-bottom:10px;

}



#stepTwo h3::after{

content:"";

display:block;

width:60px;

height:3px;

margin-top:18px;

background:
linear-gradient(
90deg,
#8b5cf6,
#3b82f6
);

border-radius:20px;

}





#stepTwo .form-group{

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

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

border-radius:20px;

padding:22px;

margin-bottom:20px;

transition:.35s ease;

}



#stepTwo .form-group:hover{

border-color:
rgba(139,92,246,.45);

transform:
translateY(-3px);

}





#stepTwo label{

font-size:.85rem;

font-weight:600;

letter-spacing:.5px;

color:#ddd;

margin-bottom:12px;

}





#stepTwo textarea,
#stepTwo select{

width:100%;

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

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

border-radius:14px;

padding:16px;

color:white;

font-size:.95rem;

resize:none;

transition:.3s ease;

}





#stepTwo textarea:focus,
#stepTwo select:focus{

outline:none;

border-color:#8b5cf6;

box-shadow:
0 0 0 4px rgba(139,92,246,.15);

}




#stepTwo select{

appearance:none;

cursor:pointer;

}



#stepTwo option{

background:#09090b;

color:white;

}





#stepTwo .form-actions{

margin-top:35px;

padding-top:30px;

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

}





#stepTwo .btn{

height:52px;

padding:
0 32px;

}





#stepTwo .btn-outline{

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

}




#stepTwo::-webkit-scrollbar{

width:6px;

}


#stepTwo::-webkit-scrollbar-thumb{

background:
rgba(139,92,246,.5);

border-radius:20px;

}



/* Smooth transition between pages */

.form-step{

animation:
formSlide .45s cubic-bezier(.22,1,.36,1);

}


@keyframes formSlide{

from{

opacity:0;

transform:
translateY(30px)
scale(.98);

}


to{

opacity:1;

transform:
translateY(0)
scale(1);

}

}




/* Mobile */

@media(max-width:700px){

#stepTwo{

padding:25px;

border-radius:22px;

}


#stepTwo h3{

font-size:2rem;

}

}

.brief-header{

margin-bottom:35px;

}


.brief-header p{

max-width:500px;

line-height:1.7;

color:var(--muted);

}

/* =========================
   FAQ SECTION
========================= */


.faq-container{

max-width:850px;

margin-top:50px;

display:flex;

flex-direction:column;

gap:18px;

}



.faq-item{

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

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

border-radius:24px;

padding:30px;

transition:.35s ease;

}



.faq-item:hover{

transform:
translateY(-5px);

border-color:
rgba(139,92,246,.4);

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

}



.faq-item h3{

font-size:1.2rem;

margin-bottom:15px;

letter-spacing:-.3px;

}



.faq-item p{

line-height:1.8;

color:var(--muted);

}



@media(max-width:700px){

.faq-item{

padding:22px;

}

}

/* =========================
   PREMIUM FAQ ACCORDION
========================= */


.faq-section{

display:flex;

flex-direction:column;

align-items:center;

}



.faq-heading{

text-align:center;

max-width:700px;

margin:auto;

}



.faq-heading h2{

margin-bottom:20px;

}



.faq-heading p{

max-width:550px;

margin:auto;

}




.faq-container{

width:min(90%,850px);

margin-top:60px;

display:flex;

flex-direction:column;

gap:16px;

}





.faq-item{

background:

linear-gradient(
145deg,
rgba(255,255,255,.07),
rgba(255,255,255,.025)
);

border:

1px solid rgba(255,255,255,.1);

border-radius:22px;

overflow:hidden;

transition:.4s ease;

}



.faq-item:hover{

border-color:

rgba(139,92,246,.45);

transform:

translateY(-3px);

}





.faq-question{

width:100%;

display:flex;

justify-content:space-between;

align-items:center;

background:none;

border:none;

padding:28px 32px;

color:white;

cursor:pointer;

font-family:inherit;

font-size:1.05rem;

font-weight:600;

text-align:left;

}



.faq-question i{

font-style:normal;

font-size:1.8rem;

color:#a78bfa;

transition:.35s ease;

}





.faq-answer{

max-height:0;

overflow:hidden;

transition:

max-height .45s cubic-bezier(.22,1,.36,1);

}





.faq-answer p{

padding:

0 32px 30px;

line-height:1.8;

color:var(--muted);

}





.faq-item.active{

background:

rgba(139,92,246,.08);

}





.faq-item.active

.faq-question i{

transform:

rotate(45deg);

}





@media(max-width:700px){


.faq-question{

padding:22px;

font-size:.95rem;

}


.faq-answer p{

padding:
0 22px 22px;

}

}

.mobile-toggle{
    display:none;
    width:42px;
    height:42px;
    background:none;
    border:0;
    cursor:pointer;
    padding:0;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
    z-index:1000;
}

.mobile-toggle span{
    display:block;
    width:26px;
    height:2px;
    background:white;
    border-radius:5px;
    transition:.3s ease;
}

@media(max-width:800px){

.nav-container{
    position:relative;
}

.nav-links{
    position:absolute;
    top:70px;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    gap:20px;
    padding:25px;
    background:rgba(15,15,20,.96);
    backdrop-filter:blur(20px);
    border:1px solid var(--line);
    border-radius:20px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-20px);
    transition:.35s ease;
}

.nav-links.mobile-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.nav-container > .btn-primary{
    display:none;
}

.mobile-toggle{
    display:flex;
}

}