:root{--navy:#1B3A6B;--navy2:#2A5298;--navy-dark:#0c1f3d;--orange:#E8671A;--orange2:#F58035;--orange-pale:#FFF4ED;--bg:#F2F5FB;--white:#fff;--text:#111827;--muted:#64748b;--border:#dce6f5;--r-sm:8px;--r-md:14px;--r-lg:22px;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
/* TOPBAR */
/*.topbar{background:var(--navy-dark);padding:9px 48px;display:flex;justify-content:space-between;align-items:center;}*/
/*.tb-left a{font-family:'Space Mono',monospace;font-size:.72rem;color:#8ba6cc;letter-spacing:.5px;margin-right:20px;}*/
/*.tb-left a:hover{color:var(--orange2);}*/
/*.tb-right{display:flex;gap:6px;}*/
/*.tbsoc{font-family:'Space Mono',monospace;font-size:.68rem;color:#6b88a8;border:1px solid rgba(255,255,255,.1);padding:4px 12px;border-radius:4px;transition:.2s;letter-spacing:1px;}*/
/*.tbsoc:hover{background:var(--orange);color:#fff;border-color:var(--orange);}*/
/* NAV */
/*nav{background:var(--white);border-bottom:2px solid var(--border);padding:0 48px;height:68px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:500;box-shadow:rgba(27,58,107,.18) 0 4px 32px;}*/
/*.logo-img-nav{height:44px;width:auto;object-fit:contain;}*/
/*.logo-text-nav{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:2px;color:var(--navy);display:none;}*/
/*.logo-text-nav span{color:var(--orange);}*/
/*.nav-links{display:flex;gap:2px;align-items:center;}*/
/*.nav-links a{font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:500;color:var(--navy);padding:8px 14px;border-radius:var(--r-sm);transition:.2s;}*/
/*.nav-links a:hover{background:var(--bg);}*/
/*.nav-links a.active{color:var(--orange);background:var(--orange-pale);}*/
/*.nav-cta{background:var(--navy)!important;color:#fff!important;font-weight:700!important;padding:10px 22px!important;border-radius:var(--r-sm)!important;}*/
/*.nav-cta:hover{background:var(--orange)!important;}*/
/* HERO */
.port-hero{background:linear-gradient(135deg,var(--navy-dark) 0%,#152d5a 60%,#1e3f7a 100%);padding:70px 48px 60px;position:relative;overflow:hidden;}
.port-hero::before{content:'4000+';position:absolute;bottom:-30px;right:-20px;font-family:'Bebas Neue',sans-serif;font-size:12rem;color:rgba(255,255,255,.03);letter-spacing:4px;line-height:1;pointer-events:none;}
.port-hero-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;position:relative;z-index:1;}
.breadcrumb{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:1px;color:rgba(255,255,255,.35);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.breadcrumb a{color:rgba(255,255,255,.35);transition:.2s;}
.breadcrumb a:hover{color:var(--orange2);}
.breadcrumb .bc-cur{color:var(--orange2);}
.port-hero h1{font-family:'Bebas Neue',sans-serif;font-size:6.5rem;letter-spacing:3px;line-height:.95;color:var(--white);margin-bottom:16px;}
.port-hero h1 span{color:var(--orange2);}
.ph-sub{font-size:1.05rem;color:rgba(255,255,255,.7);line-height:1.8;max-width:480px;margin-bottom:32px;}
.ph-chips{display:flex;flex-wrap:wrap;gap:8px;}
.ph-chip{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.65);padding:6px 14px;border-radius:4px;}
/* hero right stat card */
.ph-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:30px;}
.ph-card-tag{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:2px;color:rgba(255,255,255,.35);text-transform:uppercase;margin-bottom:18px;}
.ph-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ph-stat{background:rgba(255,255,255,.06);border-radius:var(--r-sm);padding:16px;border:1px solid rgba(255,255,255,.08);transition:.2s;}
.ph-stat:hover{background:rgba(232,103,26,.15);border-color:rgba(232,103,26,.3);}
.ph-stat-n{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--orange2);letter-spacing:2px;line-height:1;margin-bottom:3px;}
.ph-stat-l{font-family:'Space Mono',monospace;font-size:.58rem;color:rgba(255,255,255,.38);letter-spacing:1px;text-transform:uppercase;}
/* SECTIONS */
.section{padding:80px 48px;max-width:1200px;margin:0 auto;}
.section-alt{background:var(--bg);padding:80px 0;}
.section-alt-in{max-width:1200px;margin:0 auto;padding:0 48px;}
.section-dark{background:var(--navy-dark);padding:80px 0;}
.section-dark-in{max-width:1200px;margin:0 auto;padding:0 48px;}
.eyebrow-txt{font-family:'Space Mono',monospace;font-size:.72rem;color:var(--orange2);letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:12px;}
.eyebrow-dark{color:var(--orange);}
h2{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;letter-spacing:2px;color:var(--navy);margin-bottom:14px;line-height:1;}
h2 span{color:var(--orange);}
.h2-white{color:var(--white);}
.sdesc{font-size:1.02rem;color:var(--muted);line-height:1.8;max-width:640px;margin-bottom:36px;}
/* reveal */
.rev{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease;}
.rev.vis{opacity:1;transform:translateY(0);}
/* FILTER BAR */
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;}
.filter-btn{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:1px;text-transform:uppercase;background:var(--bg);border:1.5px solid var(--border);color:var(--navy);padding:7px 18px;border-radius:100px;cursor:pointer;transition:.2s;}
.filter-btn:hover,.filter-btn.active{background:var(--orange);border-color:var(--orange);color:#fff;}
/* PORTFOLIO GRID */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.port-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:.3s;position:relative;}
.port-card:hover{border-color:var(--orange);transform:translateY(-5px);box-shadow:0 20px 48px rgba(232,103,26,.12);}
.pc-thumb{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.pc-thumb-icon{font-size:3.5rem;position:relative;z-index:1;}
.pc-type-tag{position:absolute;top:12px;left:12px;font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);color:#fff;padding:4px 10px;border-radius:4px;z-index:2;}
.pc-country{position:absolute;top:12px;right:12px;font-family:'Space Mono',monospace;font-size:.58rem;color:rgba(255,255,255,.8);background:rgba(0,0,0,.4);padding:3px 8px;border-radius:3px;z-index:2;}
.pc-body{padding:20px;}
.pc-cat{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);margin-bottom:6px;display:block;}
.pc-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1.5px;color:var(--navy);line-height:1.05;margin-bottom:8px;}
.pc-desc{font-size:.85rem;color:var(--muted);line-height:1.65;margin-bottom:14px;}
.pc-tech{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px;}
.pc-tech span{font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.5px;background:var(--bg);border:1px solid var(--border);color:var(--navy);padding:3px 8px;border-radius:3px;}
.pc-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border);}
.pc-country-txt{font-family:'Space Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.5px;}
/* PRODUCTS SHOWCASE */
.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.prod-card{border-radius:var(--r-lg);padding:32px;position:relative;overflow:hidden;transition:.3s;}
.prod-card:hover{transform:translateY(-4px);}
.prod-card::before{content:'';position:absolute;inset:0;opacity:.9;}
.prod-card-c{position:relative;z-index:1;}
.prod-ico{font-size:2.8rem;margin-bottom:16px;}
.prod-tag{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;}
.prod-name{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:2px;color:#fff;line-height:1;margin-bottom:8px;}
.prod-desc{font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:16px;}
.prod-users{font-family:'Space Mono',monospace;font-size:.65rem;color:rgba(255,255,255,.5);letter-spacing:1px;display:flex;align-items:center;gap:8px;}
.prod-users strong{color:var(--orange2);font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:2px;}
.prod-link{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px;transition:.2s;margin-top:14px;}
.prod-link:hover{color:#fff;gap:9px;}
/* CLIENT LOGOS */
.client-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border-radius:var(--r-lg);overflow:hidden;}
.cl-item{background:var(--white);padding:24px;display:flex;align-items:center;justify-content:center;transition:.2s;}
.cl-item:hover{background:var(--orange-pale);}
.cl-name{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:2px;color:var(--navy);text-align:center;line-height:1.2;}
/* TECH STACK */
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border-radius:var(--r-lg);overflow:hidden;}
.tech-cat{background:rgba(255,255,255,.05);padding:28px 22px;}
.tech-cat-n{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:2px;color:var(--orange2);margin-bottom:14px;}
.tech-tags{display:flex;flex-wrap:wrap;gap:6px;}
.tech-tag{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.5px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);padding:4px 10px;border-radius:3px;}
/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testi-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:28px;transition:.25s;}
.testi-card:hover{border-color:var(--orange);transform:translateY(-3px);}
.testi-quote{font-size:.92rem;color:var(--muted);line-height:1.8;margin-bottom:18px;font-style:italic;}
.testi-quote::before{content:'\201C';font-family:'Bebas Neue',sans-serif;font-size:2.4rem;color:var(--orange);line-height:0;vertical-align:-.5rem;margin-right:4px;}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border);}
.ta-avatar{width:40px;height:40px;border-radius:50%;background:var(--navy-dark);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:.9rem;color:var(--orange2);letter-spacing:1px;flex-shrink:0;}
.ta-name{font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:700;color:var(--navy);}
.ta-role{font-family:'Space Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.5px;}
/* CTA */
.ctas{background:var(--navy-dark);padding:90px 48px;text-align:center;position:relative;overflow:hidden;}
.ctas::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(232,103,26,.06) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(42,82,152,.06) 0%,transparent 50%);}
.ctas-in{max-width:680px;margin:0 auto;position:relative;z-index:1;}
.ctas h2{color:var(--white);font-size:4rem;margin-bottom:16px;}
.ctas p{color:rgba(255,255,255,.7);font-size:1.05rem;line-height:1.8;margin-bottom:38px;}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-glow{background:var(--orange);color:#fff;padding:14px 32px;border-radius:var(--r-sm);font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:700;transition:.25s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 24px rgba(232,103,26,.35);}
.btn-glow:hover{background:#c5581a;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:rgba(255,255,255,.75);padding:12px 24px;border-radius:var(--r-sm);border:1.5px solid rgba(255,255,255,.2);font-size:.95rem;font-weight:500;transition:.25s;display:inline-flex;align-items:center;gap:8px;}
.btn-ghost:hover{border-color:var(--orange2);color:var(--orange2);}
.ctag{margin-top:24px;font-family:'Space Mono',monospace;font-size:.62rem;color:rgba(255,255,255,.3);letter-spacing:1px;text-transform:uppercase;}

/* Dynamic portfolio cards */

.pc-thumb {
    height: 220px;
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--bg);
}

.pc-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.port-card:hover .pc-thumb img {
    transform: scale(1.06);
}

.pc-title {
    margin: 0 0 10px;
}

.pc-read {
    color: var(--orange);
    font-family: 'Space Mono', monospace;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    transition: .2s;
}

.pc-read:hover {
    color: var(--navy);
}

.filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.filter-count {
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 100px;
    background: rgba(27,58,107,.08);
    font-size: .55rem;
}

.filter-btn.active .filter-count,
.filter-btn:hover .filter-count {
    background: rgba(255,255,255,.20);
}

.portfolio-alert {
    margin-bottom: 24px;
    padding: 14px 18px;
    color: #991b1b;
    background: #fee2e2;
    border-radius: 10px;
}

.portfolio-empty {
    grid-column: 1 / -1;
    padding: 40px 20px;
    color: var(--muted);
    background: var(--bg);
    border-radius: var(--r-md);
    text-align: center;
}

.portfolio-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 42px;
}

.portfolio-page-numbers {
    display: flex;
    gap: 8px;
}

.portfolio-page-number,
.portfolio-page-nav {
    min-width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    color: var(--navy);
    background: #fff;
    border: 1.5px solid var(--border);
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    transition: .2s;
}

.portfolio-page-nav {
    min-width: 108px;
}

.portfolio-page-number:hover,
.portfolio-page-number.active,
.portfolio-page-nav:hover {
    color: #fff;
    background: var(--orange);
    border-color: var(--orange);
}

.portfolio-page-nav.disabled {
    color: #94a3b8;
    background: #f1f5f9;
    pointer-events: none;
}

@media(max-width:768px) {
    .pc-thumb {
        height: 210px;
    }

    .portfolio-pagination {
        gap: 9px;
    }

    .portfolio-page-nav {
        min-width: 95px;
    }
}

@media(max-width:1024px){.port-hero-in{grid-template-columns:1fr;}.portfolio-grid{grid-template-columns:1fr 1fr;}.products-grid{grid-template-columns:1fr;}.tech-grid{grid-template-columns:1fr 1fr;}.client-strip{grid-template-columns:repeat(3,1fr);}.testi-grid{grid-template-columns:1fr 1fr;}.ft{grid-template-columns:1fr 1fr;}}
@media(max-width:900px){h2{font-size:2.4rem;}.ctas h2{font-size:2.8rem;}.port-hero h1{font-size:4.2rem;}}
@media(max-width:768px){.topbar,.section,.section-alt-in,.section-dark-in,.ctas,.ft,.fb{padding-left:20px;padding-right:20px;}nav{padding:0 20px;}.nav-links{display:none;}.port-hero{padding:40px 20px;}.port-hero h1{font-size:3.2rem;}h2{font-size:2rem;}.portfolio-grid{grid-template-columns:1fr;}.testi-grid{grid-template-columns:1fr;}.client-strip{grid-template-columns:1fr 1fr;}.tech-grid{grid-template-columns:1fr;}.ft{grid-template-columns:1fr;}.fb{flex-direction:column;gap:10px;}.ph-stats{grid-template-columns:1fr 1fr;}}
