/* ================================================================
   TECHAB — Main Stylesheet
   Dark futuristic tech company design with RTL support
================================================================ */

/* ── CSS Variables ──────────────────────────────────────────── */
:root {
    --primary:        #0a0f1e;
    --secondary:      #0d1530;
    --accent:         #1a2a5e;
    --electric:       #2979ff;
    --electric-light: #448aff;
    --electric-bright:#82b1ff;
    --purple:         #7c4dff;
    --purple-light:   #b388ff;
    --glow:           rgba(41,121,255,.35);
    --glass-bg:       rgba(255,255,255,.04);
    --glass-border:   rgba(255,255,255,.08);
    --text-primary:   #f0f4ff;
    --text-secondary: #8892b0;
    --text-muted:     #4a5568;
    --gradient-main:  linear-gradient(135deg,#2979ff 0%,#7c4dff 100%);
    --gradient-card:  linear-gradient(145deg,rgba(41,121,255,.1) 0%,rgba(124,77,255,.05) 100%);
    --font:           'Cairo','Tajawal',sans-serif;
    --transition:     all .3s cubic-bezier(.4,0,.2,1);
    --transition-slow:all .6s cubic-bezier(.4,0,.2,1);
    --radius:         16px;
    --radius-sm:      10px;
    --shadow-card:    0 20px 60px rgba(0,0,0,.4);
    --shadow-glow:    0 0 40px rgba(41,121,255,.3);
}

/* ── Reset ──────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
body{
    font-family:var(--font);
    background:var(--primary);
    color:var(--text-primary);
    direction:rtl;
    overflow-x:hidden;
    line-height:1.7;
}
a{color:inherit}
img{max-width:100%}

/* ── Scroll Progress ────────────────────────────────────────── */
#scroll-progress{
    position:fixed;top:0;right:0;height:3px;width:0;
    background:var(--gradient-main);z-index:9999;
    transition:width .1s linear;
    box-shadow:0 0 10px var(--electric);
}

/* ── Preloader ──────────────────────────────────────────────── */
#preloader{
    position:fixed;inset:0;background:var(--primary);z-index:99999;
    display:flex;align-items:center;justify-content:center;
    flex-direction:column;
    transition:opacity .6s ease,visibility .6s ease;
}
#preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}

.preloader-logo{
    font-size:2.5rem;font-weight:900;letter-spacing:4px;
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
    margin-bottom:30px;animation:pulse 1.5s ease-in-out infinite;
}
.preloader-dots{display:flex;gap:10px}
.preloader-dots span{
    width:12px;height:12px;border-radius:50%;
    background:var(--electric);
    animation:dotBounce 1.4s ease-in-out infinite;
}
.preloader-dots span:nth-child(2){animation-delay:.2s;background:var(--purple)}
.preloader-dots span:nth-child(3){animation-delay:.4s}

@keyframes dotBounce{0%,80%,100%{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* ── Flash Messages ─────────────────────────────────────────── */
.flash-msg{
    position:fixed;top:100px;left:50%;transform:translateX(-50%);
    z-index:8000;display:flex;align-items:center;gap:12px;
    padding:14px 24px;border-radius:50px;
    font-weight:600;font-size:.95rem;
    backdrop-filter:blur(20px);
    box-shadow:var(--shadow-card);
    animation:slideDown .4s ease;
}
.flash-success{background:rgba(37,211,102,.15);border:1px solid rgba(37,211,102,.3);color:#25d366}
.flash-error  {background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#f87171}
.flash-close{background:none;border:none;cursor:pointer;color:inherit;font-size:1rem;margin-right:8px;padding:0}
@keyframes slideDown{from{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ── Container ──────────────────────────────────────────────── */
.container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ── Section Utilities ──────────────────────────────────────── */
.section-tag{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(41,121,255,.1);border:1px solid rgba(41,121,255,.3);
    color:var(--electric-light);padding:6px 18px;border-radius:50px;
    font-size:.85rem;font-weight:600;margin-bottom:20px;letter-spacing:1px;
}
.section-title{
    font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;
    color:var(--text-primary);line-height:1.3;margin-bottom:16px;
}
.section-title span{
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
}
.section-desc{font-size:1.05rem;color:var(--text-secondary);max-width:600px;line-height:1.8}
.section-header{text-align:center;margin-bottom:70px}
.section-header .section-desc{margin:0 auto}

/* ── Buttons ────────────────────────────────────────────────── */
.btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 32px;border-radius:50px;
    font-family:var(--font);font-weight:700;font-size:.95rem;
    cursor:pointer;text-decoration:none;border:none;
    transition:var(--transition);position:relative;overflow:hidden;
}
.btn-primary{
    background:var(--gradient-main);color:#fff;
    box-shadow:0 8px 30px rgba(41,121,255,.4);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(41,121,255,.6);color:#fff}
.btn-outline{
    background:transparent;color:var(--electric-light);
    border:2px solid rgba(41,121,255,.5);backdrop-filter:blur(10px);
}
.btn-outline:hover{background:rgba(41,121,255,.1);border-color:var(--electric);transform:translateY(-3px);color:var(--electric-light)}

/* ── AOS Animations ─────────────────────────────────────────── */
[data-aos]{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .75s cubic-bezier(.4,0,.2,1), transform .75s cubic-bezier(.4,0,.2,1);
    will-change:opacity,transform;
}
[data-aos="fade-left"]  { transform:translateX(50px) }
[data-aos="fade-right"] { transform:translateX(-50px) }
[data-aos="zoom-in"]    { transform:scale(.85) }
[data-aos].aos-animate  { opacity:1 !important; transform:none !important }

/* ================================================================
   NAVBAR
================================================================ */
#navbar{
    position:fixed;top:0;right:0;left:0;z-index:1000;
    padding:20px 0;transition:var(--transition-slow);
}
#navbar.scrolled{
    background:rgba(10,15,30,.95);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--glass-border);padding:12px 0;
    box-shadow:0 4px 30px rgba(0,0,0,.5);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.nav-logo{
    font-size:1.6rem;font-weight:900;letter-spacing:3px;
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
    text-decoration:none;position:relative;
}
.nav-logo::after{
    content:'';position:absolute;bottom:-4px;right:0;
    width:100%;height:2px;background:var(--gradient-main);
    border-radius:2px;box-shadow:0 0 8px var(--electric);
}
.nav-links{display:flex;align-items:center;gap:8px;list-style:none}
.nav-links a{
    color:var(--text-secondary);text-decoration:none;
    font-weight:600;font-size:.9rem;padding:8px 14px;
    border-radius:8px;transition:var(--transition);position:relative;
}
.nav-links a::after{
    content:'';position:absolute;bottom:4px;right:14px;left:14px;
    height:2px;background:var(--gradient-main);border-radius:2px;
    transform:scaleX(0);transition:transform .3s ease;
}
.nav-links a:hover,.nav-links a.active{color:var(--text-primary);background:rgba(41,121,255,.08)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{
    background:var(--gradient-main) !important;
    color:#fff !important;padding:10px 24px !important;
    border-radius:50px !important;
    box-shadow:0 4px 20px rgba(41,121,255,.4);
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(41,121,255,.6) !important}
.nav-cta::after{display:none !important}

/* Hamburger */
.hamburger{
    display:none;flex-direction:column;gap:5px;
    cursor:pointer;background:none;border:none;padding:8px;
}
.hamburger span{display:block;width:26px;height:2px;background:var(--text-primary);border-radius:2px;transition:var(--transition)}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Menu */
.mobile-menu{
    display:none;position:fixed;inset:0;
    background:rgba(10,15,30,.98);backdrop-filter:blur(20px);
    z-index:999;flex-direction:column;align-items:center;
    justify-content:center;gap:20px;
    opacity:0;visibility:hidden;transition:var(--transition);
}
.mobile-menu.active{opacity:1;visibility:visible}
.mobile-menu a{color:var(--text-primary);text-decoration:none;font-size:1.4rem;font-weight:700;transition:var(--transition)}
.mobile-menu a:hover{color:var(--electric-light)}

/* ================================================================
   HERO
================================================================ */
#hero{
    min-height:100vh;display:flex;align-items:center;
    position:relative;overflow:hidden;padding:120px 0 80px;
}
.hero-bg{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse 80% 80% at 50% -20%,rgba(41,121,255,.12) 0%,transparent 60%),
        radial-gradient(ellipse 50% 50% at 80% 80%,rgba(124,77,255,.08) 0%,transparent 50%),
        var(--primary);
}
.hero-grid{
    position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(41,121,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(41,121,255,.06) 1px,transparent 1px);
    background-size:80px 80px;
    mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);
    animation:gridMove 20s linear infinite;
}
@keyframes gridMove{0%{transform:translateY(0)}100%{transform:translateY(80px)}}

.orb{position:absolute;border-radius:50%;filter:blur(60px);animation:floatOrb 8s ease-in-out infinite}
.orb-1{width:400px;height:400px;background:rgba(41,121,255,.12);top:-100px;left:-100px}
.orb-2{width:300px;height:300px;background:rgba(124,77,255,.1);bottom:0;right:-50px;animation-delay:-4s}
.orb-3{width:200px;height:200px;background:rgba(41,121,255,.08);top:50%;left:50%;animation-delay:-2s}
@keyframes floatOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-20px) scale(1.05)}66%{transform:translate(-10px,10px) scale(.95)}}

.hero-content{
    position:relative;z-index:1;text-align:center;
    max-width:900px;margin:0 auto;
}
.hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(41,121,255,.08);border:1px solid rgba(41,121,255,.25);
    border-radius:50px;padding:8px 20px;font-size:.85rem;
    color:var(--electric-light);font-weight:600;margin-bottom:30px;
    animation:fadeInDown .8s ease;
}
.hero-badge .dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--electric);box-shadow:0 0 10px var(--electric);
    animation:blink 1.5s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

.hero-title{
    font-size:clamp(2.2rem,6vw,4.5rem);font-weight:900;
    line-height:1.2;margin-bottom:24px;
    animation:fadeInUp .8s ease .2s both;
}
.hero-title .gradient-text{
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;display:block;
}
.hero-desc{
    font-size:clamp(1rem,2vw,1.2rem);color:var(--text-secondary);
    max-width:600px;margin:0 auto 40px;line-height:1.9;
    animation:fadeInUp .8s ease .4s both;
}
.hero-buttons{
    display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
    animation:fadeInUp .8s ease .6s both;
}
.hero-stats{
    display:flex;gap:40px;justify-content:center;flex-wrap:wrap;
    margin-top:70px;padding-top:50px;border-top:1px solid var(--glass-border);
    animation:fadeInUp .8s ease .8s both;
}
.stat-item{text-align:center}
.stat-num{
    font-size:2.5rem;font-weight:900;
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
    display:block;line-height:1;
}
.stat-label{color:var(--text-secondary);font-size:.9rem;margin-top:6px;font-weight:500}

.scroll-indicator{
    position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:var(--text-muted);font-size:.8rem;
    animation:fadeInUp 1s ease 1s both;
}
.scroll-mouse{
    width:24px;height:38px;border:2px solid rgba(255,255,255,.2);
    border-radius:12px;display:flex;justify-content:center;padding-top:6px;
}
.scroll-mouse::before{
    content:'';width:4px;height:8px;background:var(--electric);
    border-radius:2px;animation:scrollDown 2s ease-in-out infinite;
}
@keyframes scrollDown{0%{transform:translateY(0);opacity:1}100%{transform:translateY(12px);opacity:0}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp  {from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)}}

/* ================================================================
   ABOUT — Redesigned
================================================================ */
#about{padding:100px 0}

/* Stats Row */
.about-stats-row{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:1px;background:var(--glass-border);
    border:1px solid var(--glass-border);border-radius:var(--radius);
    overflow:hidden;margin-bottom:70px;
}
.about-stat-card{
    background:var(--glass-bg);padding:32px 24px;text-align:center;
    transition:var(--transition);
}
.about-stat-card:hover{background:rgba(41,121,255,.06)}
.about-stat-num{
    font-size:2.8rem;font-weight:900;line-height:1;margin-bottom:8px;
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
}
.about-stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}

/* Main Grid */
.about-main-grid{
    display:grid;grid-template-columns:1fr 1fr;
    gap:40px;align-items:start;
}

/* Values Grid — 4 cards 2x2 */
.about-values-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:20px;
}
.about-val-card{
    border-radius:var(--radius);padding:30px 26px;
    border:1px solid var(--glass-border);
    position:relative;overflow:hidden;
    transition:var(--transition);cursor:default;
}
.about-val-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}
.about-val-card--blue  {background:linear-gradient(145deg,rgba(41,121,255,.08) 0%,rgba(41,121,255,.02) 100%)}
.about-val-card--purple{background:linear-gradient(145deg,rgba(124,77,255,.08) 0%,rgba(124,77,255,.02) 100%)}
.about-val-card--teal  {background:linear-gradient(145deg,rgba(0,188,212,.08)  0%,rgba(0,188,212,.02)  100%)}
.about-val-card--green {background:linear-gradient(145deg,rgba(37,211,102,.08) 0%,rgba(37,211,102,.02) 100%)}
.about-val-card--blue:hover  {border-color:rgba(41,121,255,.3)}
.about-val-card--purple:hover{border-color:rgba(124,77,255,.3)}
.about-val-card--teal:hover  {border-color:rgba(0,188,212,.3)}
.about-val-card--green:hover {border-color:rgba(37,211,102,.3)}

.about-val-icon{
    width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;margin-bottom:18px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
    transition:var(--transition);
}
.about-val-card--blue   .about-val-icon{color:#448aff}
.about-val-card--purple .about-val-icon{color:#b388ff}
.about-val-card--teal   .about-val-icon{color:#4dd0e1}
.about-val-card--green  .about-val-icon{color:#69f0ae}
.about-val-card:hover .about-val-icon{transform:scale(1.1) rotate(-5deg)}

.about-val-card h3{font-size:1rem;font-weight:800;margin-bottom:10px}
.about-val-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.8}
.about-val-glow{
    position:absolute;bottom:-30px;left:-30px;
    width:100px;height:100px;border-radius:50%;filter:blur(40px);
    opacity:.25;pointer-events:none;transition:opacity .4s;
}
.about-val-card--blue   .about-val-glow{background:#2979ff}
.about-val-card--purple .about-val-glow{background:#7c4dff}
.about-val-card--teal   .about-val-glow{background:#00bcd4}
.about-val-card--green  .about-val-glow{background:#25d366}
.about-val-card:hover   .about-val-glow{opacity:.5}

/* Tech Card — code editor style */
.about-tech-col{display:flex;flex-direction:column;gap:24px}
.about-tech-card{
    background:rgba(5,8,20,.9);border:1px solid var(--glass-border);
    border-radius:var(--radius);overflow:hidden;
}
.about-tech-header{
    display:flex;align-items:center;gap:12px;
    padding:14px 20px;background:rgba(255,255,255,.03);
    border-bottom:1px solid var(--glass-border);
}
.about-tech-dots{display:flex;gap:7px}
.about-tech-dots span{width:13px;height:13px;border-radius:50%;display:block}
.about-tech-title-bar{color:var(--text-muted);font-size:.8rem;font-family:monospace}
.about-tech-body{padding:24px 20px;display:flex;flex-direction:column;gap:14px}
.tech-row{display:flex;gap:10px;flex-wrap:wrap}
.tech-badge{
    display:inline-flex;align-items:center;gap:7px;
    padding:7px 14px;border-radius:8px;font-size:.82rem;font-weight:600;
    border:1px solid transparent;transition:var(--transition);cursor:default;
}
.tech-badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.4)}
.tech-react  {background:rgba(97,218,251,.1); color:#61dafb;border-color:rgba(97,218,251,.2)}
.tech-node   {background:rgba(104,160,99,.1);  color:#68a063;border-color:rgba(104,160,99,.2)}
.tech-python {background:rgba(55,118,171,.1);  color:#3776ab;border-color:rgba(55,118,171,.2)}
.tech-vue    {background:rgba(65,184,131,.1);  color:#41b883;border-color:rgba(65,184,131,.2)}
.tech-laravel{background:rgba(255,45,32,.1);   color:#ff2d20;border-color:rgba(255,45,32,.2)}
.tech-swift  {background:rgba(255,88,17,.1);   color:#f05138;border-color:rgba(255,88,17,.2)}
.tech-docker {background:rgba(30,144,255,.1);  color:#1e90ff;border-color:rgba(30,144,255,.2)}
.tech-db     {background:rgba(0,117,143,.1);   color:#00758f;border-color:rgba(0,117,143,.2)}
.tech-ai     {background:rgba(124,77,255,.1);  color:#b388ff;border-color:rgba(124,77,255,.2)}

.about-tech-footer{
    padding:12px 20px;border-top:1px solid var(--glass-border);
    display:flex;align-items:center;gap:8px;
    color:var(--text-secondary);font-size:.82rem;
}

/* CTA Box */
.about-cta-box{
    display:flex;align-items:center;gap:20px;flex-wrap:wrap;
    background:var(--gradient-main);border-radius:var(--radius);
    padding:28px 30px;box-shadow:0 16px 50px rgba(41,121,255,.35);
    position:relative;overflow:hidden;
}
.about-cta-box::before{
    content:'';position:absolute;top:-40px;left:-40px;
    width:150px;height:150px;border-radius:50%;
    background:rgba(255,255,255,.08);pointer-events:none;
}
.about-cta-icon{
    width:54px;height:54px;border-radius:14px;
    background:rgba(255,255,255,.15);display:flex;
    align-items:center;justify-content:center;
    font-size:1.4rem;color:#fff;flex-shrink:0;
}
.about-cta-box h4{font-size:1.05rem;font-weight:800;color:#fff;margin-bottom:4px}
.about-cta-box p{font-size:.88rem;color:rgba(255,255,255,.75);margin:0}
.about-cta-box .btn{
    background:rgba(255,255,255,.2) !important;
    color:#fff !important;border:1px solid rgba(255,255,255,.3);
    box-shadow:none !important;backdrop-filter:blur(4px);
}
.about-cta-box .btn:hover{background:rgba(255,255,255,.3) !important;transform:translateY(-2px)}

/* Responsive */
@media(max-width:1024px){
    .about-stats-row{grid-template-columns:repeat(2,1fr)}
    .about-main-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
    .about-stats-row{grid-template-columns:1fr 1fr}
    .about-values-grid{grid-template-columns:1fr}
    .about-cta-box{flex-direction:column;text-align:center}
}

/* ================================================================
   SERVICES
================================================================ */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.service-card{
    background:var(--glass-bg);border:1px solid var(--glass-border);
    border-radius:var(--radius);padding:36px 30px;
    position:relative;overflow:hidden;transition:var(--transition);cursor:default;
}
.service-card::before{
    content:'';position:absolute;inset:0;
    background:var(--gradient-card);opacity:0;transition:opacity .4s ease;
}
.service-card::after{
    content:'';position:absolute;bottom:0;right:0;left:0;
    height:3px;background:var(--gradient-main);
    transform:scaleX(0);transition:transform .4s ease;
}
.service-card:hover{
    transform:translateY(-8px);border-color:rgba(41,121,255,.3);
    box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 40px rgba(41,121,255,.1);
}
.service-card:hover::before{opacity:1}
.service-card:hover::after{transform:scaleX(1)}
.service-icon{
    width:65px;height:65px;border-radius:16px;
    background:linear-gradient(135deg,rgba(41,121,255,.15) 0%,rgba(124,77,255,.1) 100%);
    border:1px solid rgba(41,121,255,.2);
    display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;color:var(--electric-light);
    margin-bottom:24px;transition:var(--transition);position:relative;z-index:1;
}
.service-card:hover .service-icon{
    background:var(--gradient-main);color:#fff;border-color:transparent;
    box-shadow:0 10px 30px rgba(41,121,255,.4);transform:scale(1.1) rotate(-5deg);
}
.service-title{font-size:1.15rem;font-weight:700;margin-bottom:12px;position:relative;z-index:1}
.service-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.8;position:relative;z-index:1}
.service-arrow{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--electric-light);font-size:.85rem;font-weight:600;
    margin-top:20px;opacity:0;transform:translateX(10px);
    transition:var(--transition);position:relative;z-index:1;
}
.service-card:hover .service-arrow{opacity:1;transform:translateX(0)}

/* ================================================================
   WHY US
================================================================ */
.why-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}
.why-features{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feature-card{
    background:var(--glass-bg);border:1px solid var(--glass-border);
    border-radius:var(--radius);padding:28px 24px;transition:var(--transition);
}
.feature-card:hover{
    border-color:rgba(41,121,255,.3);background:rgba(41,121,255,.04);
    transform:translateY(-4px);box-shadow:var(--shadow-card);
}
.feature-num{
    font-size:2.5rem;font-weight:900;
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
    line-height:1;margin-bottom:12px;
}
.feature-title{font-size:.95rem;font-weight:700;margin-bottom:8px}
.feature-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.7}
.why-points{display:flex;flex-direction:column;gap:20px}
.why-point{
    display:flex;gap:16px;align-items:center;
    padding:20px 24px;background:var(--glass-bg);
    border:1px solid var(--glass-border);border-radius:var(--radius-sm);
    transition:var(--transition);
}
.why-point:hover{border-color:rgba(41,121,255,.3);background:rgba(41,121,255,.05)}
.why-point-icon{
    width:44px;height:44px;border-radius:50%;
    background:var(--gradient-main);display:flex;
    align-items:center;justify-content:center;font-size:1rem;
    color:#fff;flex-shrink:0;box-shadow:0 4px 15px rgba(41,121,255,.3);
}
.why-point-text h4{font-weight:700;font-size:1rem;margin-bottom:4px}
.why-point-text p{color:var(--text-secondary);font-size:.85rem}

/* ================================================================
   PORTFOLIO
================================================================ */
.portfolio-filter{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:50px}
.filter-btn{
    padding:8px 22px;border-radius:50px;
    border:1px solid var(--glass-border);background:var(--glass-bg);
    color:var(--text-secondary);font-family:var(--font);
    font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);
}
.filter-btn.active,.filter-btn:hover{
    background:var(--gradient-main);border-color:transparent;
    color:#fff;box-shadow:0 4px 15px rgba(41,121,255,.3);
}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}
.portfolio-card{
    border-radius:var(--radius);overflow:hidden;
    border:1px solid var(--glass-border);background:var(--glass-bg);
    transition:var(--transition);
}
.portfolio-card:hover{
    transform:translateY(-8px);
    box-shadow:0 30px 60px rgba(0,0,0,.5);border-color:rgba(41,121,255,.3);
}
.portfolio-card.hidden{display:none}
.portfolio-image{height:220px;position:relative;overflow:hidden;background:var(--accent)}
.portfolio-image-bg{
    width:100%;height:100%;display:flex;align-items:center;
    justify-content:center;font-size:4rem;color:rgba(255,255,255,.1);
    transition:transform .5s ease;
}
.portfolio-card:hover .portfolio-image-bg{transform:scale(1.1)}
.portfolio-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(10,15,30,.95) 0%,rgba(10,15,30,.4) 60%,transparent 100%);
    opacity:0;transition:opacity .4s ease;
    display:flex;align-items:flex-end;justify-content:center;padding-bottom:24px;
}
.portfolio-card:hover .portfolio-overlay{opacity:1}
.portfolio-info{padding:24px}
.portfolio-tag{
    display:inline-block;background:rgba(41,121,255,.15);color:var(--electric-light);
    padding:4px 14px;border-radius:50px;font-size:.75rem;font-weight:600;margin-bottom:10px;
}
.portfolio-title{font-size:1.05rem;font-weight:700;margin-bottom:8px}
.portfolio-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.7}

/* ================================================================
   PROCESS
================================================================ */
.process-timeline{
    position:relative;display:grid;
    grid-template-columns:repeat(3,1fr);gap:30px;
}
.process-timeline::before{
    content:'';position:absolute;top:45px;
    right:16.67%;left:16.67%;height:2px;
    background:linear-gradient(to left,transparent,var(--electric),var(--purple),var(--electric),transparent);
    z-index:0;
}
.process-step{position:relative;z-index:1;text-align:center}
.process-num{
    width:90px;height:90px;border-radius:50%;
    background:var(--gradient-main);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:1.8rem;
    margin:0 auto 24px;box-shadow:0 0 30px rgba(41,121,255,.3);transition:var(--transition);
}
.process-step:hover .process-num{transform:scale(1.1);box-shadow:0 0 50px rgba(41,121,255,.5)}
.process-title{font-size:1rem;font-weight:700;margin-bottom:10px}
.process-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.7}

/* ================================================================
   TESTIMONIALS
================================================================ */
.testimonials-track{
    display:flex;gap:24px;overflow-x:auto;
    scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:20px;
}
.testimonials-track::-webkit-scrollbar{display:none}
.testimonial-card{
    min-width:340px;background:var(--glass-bg);
    border:1px solid var(--glass-border);border-radius:var(--radius);
    padding:36px 30px;scroll-snap-align:start;
    transition:var(--transition);flex-shrink:0;
}
.testimonial-card:hover{border-color:rgba(41,121,255,.3);box-shadow:var(--shadow-card)}
.testimonial-stars{display:flex;gap:4px;margin-bottom:20px}
.testimonial-stars .fa-star,.testimonial-stars .fa-star-half-stroke{color:#ffd700}
.testimonial-text{
    color:var(--text-secondary);font-size:.95rem;line-height:1.9;
    margin-bottom:24px;position:relative;
}
.testimonial-text::before{
    content:'"';font-size:4rem;color:var(--electric);opacity:.2;
    line-height:0;vertical-align:-20px;margin-left:8px;font-family:serif;
}
.testimonial-author{display:flex;align-items:center;gap:14px}
.author-avatar{
    width:50px;height:50px;border-radius:50%;background:var(--gradient-main);
    display:flex;align-items:center;justify-content:center;
    font-size:1.2rem;font-weight:700;color:#fff;
    box-shadow:0 4px 15px rgba(41,121,255,.3);flex-shrink:0;
}
.author-name{font-weight:700;font-size:.95rem}
.author-role{color:var(--text-secondary);font-size:.8rem}
.testimonials-nav{display:flex;gap:8px;justify-content:center;margin-top:40px}
.t-dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--text-muted);cursor:pointer;transition:var(--transition);
}
.t-dot.active{background:var(--electric);width:24px;border-radius:4px;box-shadow:0 0 10px var(--electric)}

/* ================================================================
   CONTACT
================================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px}
.contact-items{display:flex;flex-direction:column;gap:20px}
.contact-item{display:flex;gap:16px;align-items:center}
.contact-item-icon{
    width:50px;height:50px;border-radius:12px;
    background:rgba(41,121,255,.1);border:1px solid rgba(41,121,255,.2);
    display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;color:var(--electric-light);flex-shrink:0;transition:var(--transition);
}
.contact-item:hover .contact-item-icon{
    background:var(--gradient-main);color:#fff;border-color:transparent;
}
.contact-item-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:2px}
.contact-item-value{font-weight:700;font-size:.95rem}
.whatsapp-btn{
    display:inline-flex;align-items:center;gap:12px;
    background:#25d366;color:#fff !important;
    padding:14px 28px;border-radius:50px;font-weight:700;
    font-size:.95rem;text-decoration:none;margin-top:32px;
    transition:var(--transition);box-shadow:0 8px 25px rgba(37,211,102,.3);
}
.whatsapp-btn:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(37,211,102,.5)}
.contact-form{
    background:var(--glass-bg);border:1px solid var(--glass-border);
    border-radius:var(--radius);padding:44px 40px;backdrop-filter:blur(10px);
}
.form-group{margin-bottom:22px}
.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}
.form-control{
    width:100%;padding:14px 18px;
    background:rgba(255,255,255,.04);border:1px solid var(--glass-border);
    border-radius:var(--radius-sm);color:var(--text-primary);
    font-family:var(--font);font-size:.95rem;transition:var(--transition);outline:none;
}
.form-control:focus{
    border-color:rgba(41,121,255,.5);background:rgba(41,121,255,.04);
    box-shadow:0 0 0 3px rgba(41,121,255,.1);
}
.form-control::placeholder{color:var(--text-muted)}
textarea.form-control{resize:vertical;min-height:130px}
select.form-control option{background:var(--secondary);color:var(--text-primary)}

/* ================================================================
   FOOTER
================================================================ */
footer{
    background:rgba(5,8,20,1);border-top:1px solid var(--glass-border);
    padding:80px 0 30px;
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;margin-bottom:60px}
.footer-brand .logo{
    font-size:1.8rem;font-weight:900;letter-spacing:3px;
    background:var(--gradient-main);-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;background-clip:text;
    display:inline-block;margin-bottom:16px;
}
.footer-brand p{color:var(--text-secondary);font-size:.9rem;line-height:1.8;max-width:260px}
.footer-socials{display:flex;gap:12px;margin-top:24px}
.social-link{
    width:40px;height:40px;border-radius:10px;
    background:var(--glass-bg);border:1px solid var(--glass-border);
    display:flex;align-items:center;justify-content:center;
    color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:var(--transition);
}
.social-link:hover{
    background:var(--gradient-main);color:#fff;border-color:transparent;
    transform:translateY(-3px);box-shadow:0 8px 20px rgba(41,121,255,.3);
}
.footer-col h4{
    font-size:.95rem;font-weight:700;margin-bottom:20px;
    color:var(--text-primary);position:relative;padding-bottom:10px;
}
.footer-col h4::after{
    content:'';position:absolute;bottom:0;right:0;
    width:30px;height:2px;background:var(--gradient-main);border-radius:2px;
}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-links a{
    color:var(--text-secondary);text-decoration:none;font-size:.88rem;
    transition:var(--transition);display:flex;align-items:center;gap:8px;
}
.footer-links a::before{content:'←';font-size:.7rem;color:var(--electric);opacity:0;transition:opacity .3s}
.footer-links a:hover{color:var(--electric-light);transform:translateX(-6px)}
.footer-links a:hover::before{opacity:1}
.footer-bottom{
    border-top:1px solid var(--glass-border);padding-top:30px;
    display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:12px;
}
.footer-bottom p{color:var(--text-muted);font-size:.85rem}
.footer-bottom span{color:var(--electric-light)}

/* WhatsApp Float */
.whatsapp-float{
    position:fixed;bottom:30px;right:30px;
    width:56px;height:56px;border-radius:50%;
    background:#25d366;color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;text-decoration:none;
    box-shadow:0 8px 25px rgba(37,211,102,.4);
    transition:var(--transition);z-index:900;
}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 12px 35px rgba(37,211,102,.6);color:#fff}

/* Back to Top */
#back-top{
    position:fixed;bottom:30px;left:30px;
    width:50px;height:50px;border-radius:14px;
    background:var(--gradient-main);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;cursor:pointer;border:none;
    box-shadow:0 8px 25px rgba(41,121,255,.4);
    opacity:0;transform:translateY(20px);transition:var(--transition);z-index:900;
}
#back-top.show{opacity:1;transform:translateY(0)}
#back-top:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(41,121,255,.6)}

/* ================================================================
   RESPONSIVE
================================================================ */
@media(max-width:1024px){
    .about-grid,.why-grid,.contact-grid{grid-template-columns:1fr;gap:50px}
    .about-floating-card{display:none}
    .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
    .process-timeline{grid-template-columns:repeat(2,1fr)}
    .process-timeline::before{display:none}
}
@media(max-width:768px){
    .nav-links{display:none}
    .hamburger{display:flex}
    .mobile-menu{display:flex}
    .hero-stats{gap:24px}
    .stat-num{font-size:2rem}
    .why-features{grid-template-columns:1fr 1fr}
    .portfolio-grid{grid-template-columns:1fr}
    .process-timeline{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr;gap:30px}
    .footer-bottom{flex-direction:column;text-align:center}
    .contact-form{padding:30px 24px}
}
@media(max-width:480px){
    .hero-buttons{flex-direction:column;align-items:center}
    .btn{width:100%;justify-content:center}
    .services-grid{grid-template-columns:1fr}
    .testimonial-card{min-width:290px}
    .why-features{grid-template-columns:1fr}
}
