/* ========= RESET ========= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Inter',sans-serif;
background:#09090B;
color:#F5F5F5;
line-height:1.7;
overflow-x:hidden;

}

/* ========= CONTAINER ========= */

.container{

width:90%;
max-width:1280px;
margin:auto;

}

/* ========= COLORS ========= */

:root{

--bg:#09090B;

--card:#111317;

--text:#F5F5F5;

--muted:#A7A7B5;

--green:#00B46A;

--green2:#00D67F;

--gold:#CDA349;

}

/* ========= TYPOGRAPHY ========= */

h1,h2,h3,h4{

font-family:'Inter',sans-serif;

font-weight:700;

line-height:1.1;

letter-spacing:0;

}

h1{

font-size:72px;

line-height:.78;

max-width:1200px;

}

h2{

font-size:54px;

line-height:.82;

}

h3{

font-size:50px;

line-height:.82;

}

p{

color:var(--muted);

}

/* ========= NAVBAR ========= */

.navbar{

position:fixed;
top:0;
left:0;

width:100%;

z-index:999;

padding:24px 0;

backdrop-filter:blur(18px);

background:rgba(9,9,11,0.35);

border-bottom:1px solid rgba(255,255,255,0.05);

}

.nav-wrapper{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-family:'Space Grotesk',sans-serif;

font-size:24px;
font-weight:700;

text-decoration:none;

color:#fff;

letter-spacing:1px;

}

.nav-links{

display:flex;
list-style:none;
gap:38px;

}

.nav-links a{

text-decoration:none;
color:#fff;
font-size:15px;

transition:.3s ease;

}

.nav-links a:hover{

color:var(--green);

}


.cta-btn{

background:linear-gradient(90deg,var(--green),var(--green));

border:none;

padding:14px 26px;

border-radius:50px;

color:#fff;

cursor:pointer;

font-weight:600;

transition:.35s ease;

}

.cta-btn:hover{

transform:translateY(-3px);

}


/* ========= HERO ========= */

.hero{

position:relative;

padding-top:180px;
padding-bottom:140px;

}

.hero-bg{

position:absolute;

top:-200px;
right:-250px;

width:700px;
height:700px;

background:radial-gradient(circle,var(--green),transparent 70%);

opacity:.15;

filter:blur(80px);

}

.hero-content{

display:grid;
grid-template-columns:1.3fr .7fr;

gap:80px;

align-items:center;

}

.eyebrow{

display:inline-block;

margin-bottom:24px;

font-size:13px;

letter-spacing:2px;

color:var(--green);

}

.hero-left p{

margin-top:28px;
margin-bottom:42px;

max-width:620px;

font-size:18px;

}

.hero-buttons{

display:flex;
gap:18px;

}

.primary-btn{

display:inline-block;

background:linear-gradient(90deg,var(--green),var(--green));

padding:16px 34px;

border-radius:50px;

text-decoration:none;

color:#fff;

font-weight:600;

transition:.35s ease;

}

.primary-btn:hover{

transform:translateY(-4px);

}

.secondary-btn{

display:inline-block;

padding:16px 34px;

border:1px solid rgba(255,255,255,0.12);

border-radius:50px;

text-decoration:none;

color:#fff;

transition:.35s ease;

}

.secondary-btn:hover{

border-color:var(--green);

}

/* ========= METRIC CARDS ========= */

.hero-right{

display:flex;
flex-direction:column;
gap:24px;

}

.metric-card{

background:var(--card);

padding:34px;

border-radius:22px;

border:1px solid rgba(255,255,255,0.05);

transition:.35s ease;

}

.metric-card:hover{

transform:translateY(-6px);

border-color:rgba(122,77,255,.4);

}

.metric-card h3{

font-size:42px;

color:var(--green);

margin-bottom:12px;

}

/* ========= SECTIONS ========= */

section{

padding:120px 0;

}

.section-header{

margin-bottom:70px;

}

.section-tag{

display:inline-block;

margin-bottom:18px;

letter-spacing:2px;

font-size:13px;

color:var(--green);

}

/* ========= ABOUT ========= */

.grid-two{

display:grid;
grid-template-columns:1fr 1fr;
gap:90px;

align-items:center;

}

.text-link{

display:inline-block;

margin-top:26px;

text-decoration:none;

color:var(--green);

font-weight:600;

}

/* ========= SERVICES ========= */

.services-grid{

display:grid;
grid-template-columns:repeat(2,1fr);

gap:28px;

}

.service-card{

background:var(--card);

padding:48px;

border-radius:24px;

border:1px solid rgba(255,255,255,0.05);

transition:.35s ease;

cursor:pointer;

}

.service-card:hover{

transform:translateY(-8px);

border-color:var(--green);

box-shadow:0 0 40px rgba(122,77,255,.12);

}

.service-card h3{

margin-bottom:20px;

}

/* ========= CASE STUDIES ========= */

.case-grid{

display:grid;
grid-template-columns:repeat(3,1fr);

gap:30px;

}

.case-card{

background:linear-gradient(
145deg,
#121216,
#171720
);

padding:50px 40px;

border-radius:24px;

transition:.35s ease;

}

.case-card:hover{

transform:translateY(-10px);

}

.case-card h3{

margin-bottom:18px;

color:var(--green);

}

/* ========= TESTIMONIALS ========= */

.testimonial-slider{

position:relative;

max-width:820px;

}

.testimonial{

display:none;

background:var(--card);

padding:55px;

border-radius:26px;

}

.testimonial.active{

display:block;

}

.testimonial p{

font-size:22px;

color:#fff;

margin-bottom:24px;

}

/* ========= CTA ========= */

.cta-box{

background:linear-gradient(
135deg,
rgba(122,77,255,.15),
rgba(0,180,106,.12)
);

padding:90px;

border-radius:34px;

text-align:center;

border:1px solid rgba(255,255,255,.05);

}

.cta-box p{

margin:24px 0 40px;

}

/* ========= FOOTER ========= */

footer{

padding:70px 0;

border-top:1px solid rgba(255,255,255,.05);

}

.footer-grid{

display:flex;
justify-content:space-between;
gap:50px;

}

/* ========= SCROLLBAR ========= */

::-webkit-scrollbar{

width:8px;

}

::-webkit-scrollbar-track{

background:#09090B;

}

::-webkit-scrollbar-thumb{

background:var(--green);

border-radius:20px;

}

.hero-image{

width:100%;

height:630px;

object-fit:cover;

border-radius:30px;

margin-bottom:25px;

box-shadow:0 40px 80px rgba(0,0,0,.35);

border:1px solid rgba(255,255,255,.08);

}
/* ========= PREMIUM MEGA HEADINGS ========= */

.mega-heading{

font-family:'Archivo Black', sans-serif;

font-weight:900;

text-transform:uppercase;

letter-spacing:-4px;

line-height:.88;

color:#fff;

}

/* HERO */

.hero .mega-heading{

font-size:100px;

max-width:1200px;

margin-bottom:30px;

}

/* ABOUT + SERVICES */

.about-preview .mega-heading,
.services .mega-heading{

font-size:95px;

max-width:950px;

}

/* ===================== */
/* ABOUT PAGE */
/* ===================== */

.about-hero{

padding-top:220px;
padding-bottom:120px;

}

.hero-text{

max-width:850px;

font-size:22px;

margin-top:35px;

}

.story-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:90px;

align-items:center;

}

.story-image{

width:100%;

height:650px;

object-fit:cover;

border-radius:30px;

box-shadow:0 40px 80px rgba(0,0,0,.35);

}

.mv-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:35px;

}

.mv-card{

background:#121216;

padding:60px;

border-radius:28px;

border:1px solid rgba(255,255,255,.06);

}

.mv-card h2{

margin:25px 0;

}

.strategy{

background:#0d0d11;

}
 

/* =========================================
   SERVICES V2 PREMIUM
========================================= */

:root{
    --green:#00d26a;
    --green-light:#2dff8f;
    --dark:#060606;
    --dark-2:#0d0d0d;
    --dark-3:#121212;
    --text:#ffffff;
    --muted:#9a9a9a;
}

/* =========================================
   HERO
========================================= */

.services-hero{

    padding:220px 0 160px;

    position:relative;

}

.services-hero::before{

    content:"";

    position:absolute;

    width:600px;
    height:600px;

    right:-150px;
    top:-150px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(0,210,106,.12),
        transparent 70%
    );

    filter:blur(100px);

}

.section-tag{
    color:var(--green);
    font-size:.85rem;
    letter-spacing:4px;
    text-transform:uppercase;
    font-weight:700;
}

.mega-heading{
    font-size:clamp(80px,10vw,180px);
    line-height:.85;
    font-weight:900;
    max-width:1200px;
    margin:25px 0;
    text-transform:uppercase;
}

.services-intro{
    max-width:700px;
    color:var(--muted);
    font-size:1.15rem;
    line-height:1.8;
}

/* =========================================
   SERVICE SECTION
========================================= */

.service-section{
    position:relative;
    padding:220px 0;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.05);
}

.service-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
    align-items:center;

    position:relative;
    z-index:2;
}

/* =========================================
   HUGE BACKGROUND NUMBER
========================================= */

.service-number{

    position:absolute;

    top:20px;
    left:-10px;

    font-size:260px;

    font-weight:900;

    line-height:1;

    color:#00d26a;

    opacity:.18;

    z-index:1;

    pointer-events:none;

}

/* =========================================
   LEFT COLUMN
========================================= */

.service-label{
    color:var(--green);
    font-size:.85rem;
    letter-spacing:3px;
    font-weight:700;
    display:block;
    margin-bottom:20px;
}

.service-label::after{

    content:"";

    display:block;

    width:60px;

    height:2px;

    margin-top:14px;

    background:#00d26a;

}
.service-left h2{

    font-size:clamp(70px,8vw,140px);

    line-height:.82;

    font-weight:900;

    letter-spacing:-3px;

    text-transform:uppercase;

    margin-bottom:35px;

}

.service-left p{
    color:var(--muted);
    font-size:1.1rem;
    line-height:1.9;
    max-width:600px;
}

/* =========================================
   RIGHT COLUMN
========================================= */

.deliverables h4,
.service-right h4{
    margin-bottom:30px;
    letter-spacing:3px;
    color:var(--green);
    font-size:.85rem;
}

/* =========================================
   CHIPS
========================================= */
.deliverable-list span{

    padding:14px 24px;

    border-radius:999px;

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    color:#fff;

    font-weight:500;

    letter-spacing:.3px;

    transition:.35s ease;

}
.deliverable-list{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-top:20px;

}
.deliverable-list span:hover{

    transform:translateY(-4px);

    background:
    rgba(0,210,106,.12);

    border-color:
    rgba(0,210,106,.4);

}
/* =========================================
   OUTCOME CARD
========================================= */

.outcome-card{

    margin-top:50px;

    padding:40px;

    border-radius:28px;

    background:
    linear-gradient(
        135deg,
        rgba(0,210,106,.12),
        rgba(255,255,255,.03)
    );

    border:
    1px solid rgba(255,255,255,.08);

    box-shadow:
    0 30px 80px rgba(0,0,0,.35);

}

/* =========================================
   ALTERNATING SECTIONS
========================================= */

.service-section.alt .service-left{

    order:2;

}

.service-section.alt .service-right{

    order:1;

}

/* =========================================
   PREMIUM GLOW
========================================= */

.service-section::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(0,210,106,.12),
        transparent 70%
    );

    filter:blur(80px);

    top:50%;
    right:-150px;
    transform:translateY(-50%);
}

.service-section:nth-child(even)::before{
    left:-150px;
    right:auto;
}

/* =========================================
   SCROLL ANIMATION
========================================= */

.reveal{
    opacity:1;
    transform:none;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

/* =========================================
   SERVICE HOVER EFFECT
========================================= */

.service-section{

    transition:.5s ease;

}

.service-section:hover{

    background:
    linear-gradient(
    180deg,
    rgba(255,255,255,.01),
    rgba(0,210,106,.015)
    );

}
/* =========================================
   PREMIUM SECTION SEPARATORS
========================================= */

.service-section{

    position:relative;

}

.service-section::after{

    content:"";

    position:absolute;

    bottom:0;
    left:50%;

    width:85%;
    height:1px;

    transform:translateX(-50%);

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(0,210,106,.25),
        transparent
    );

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:992px){

    .service-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .service-number{
        font-size:180px;
    }

    .service-left h2{
        font-size:55px;
    }

    .service-section.alt .service-grid{
        direction:ltr;
    }

}

@media(max-width:768px){

    .mega-heading{
        font-size:65px;
    }

    .service-left h2{
        font-size:42px;
    }

    .service-number{
        font-size:120px;
    }

    .service-section{
        padding:120px 0;
    }

}
.service-section{

min-height:100vh;

display:flex;
align-items:center;

}
.testimonial-grid{

    grid-template-columns:1fr;

}
.cta-heading{

    font-size:58px;

}
.form-line{

    font-size:24px;

    line-height:1.8;

}

.form-line input,
.form-line select{

    width:100%;

    display:block;

    margin:15px 0;

}
.contact-grid{

    grid-template-columns:1fr;

}
.footer-grid{

    grid-template-columns:1fr;

}
/* ===================================
SERVICE IMAGES
=================================== */

.service-grid{

    display:grid;

    grid-template-columns:
    500px
    1fr
    1fr;

    gap:60px;

    align-items:center;

}

.service-image{

    width:100%;

    height:500px;

    min-width:500px;

    border-radius:35px;

    overflow:hidden;

}
.service-image img{

width:100%;
height:100%;

object-fit:cover;

transition:1s ease;

}

.service-image:hover img{

transform:scale(1.05);

}

.service-image::after{

content:"";

position:absolute;

inset:0;

background:

linear-gradient(
180deg,
transparent,
rgba(0,0,0,.55)
),

linear-gradient(
135deg,
rgba(0,210,106,.18),
transparent
);

}

/* =========================================
   TESTIMONIALS
========================================= */

.testimonials{

    padding:220px 0;

}

.testimonial-intro{

    max-width:700px;

    color:#9d9d9d;

    line-height:1.9;

    margin-top:30px;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:80px;

}

.testimonial-card{

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.08);

    border-radius:30px;

    padding:45px;

    transition:.4s ease;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    border-color:rgba(0,210,106,.35);

}

.quote-icon{

    font-size:120px;

    line-height:1;

    color:#00d26a;

    opacity:.15;

    margin-bottom:20px;

}

.testimonial-card p{

    color:#d6d6d6;

    line-height:2;

    margin-bottom:40px;

}

.client h4{

    color:#fff;

    margin-bottom:5px;

}

.client span{

    color:#8d8d8d;

    font-size:.9rem;

}
/* =========================================
   CTA SECTION
========================================= */

.contact-cta{

    padding:250px 0;

    text-align:center;

    position:relative;

    overflow:hidden;

}

.contact-cta::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(0,210,106,.12),
        transparent 70%
    );

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    filter:blur(120px);

    pointer-events:none;

}

.cta-heading{

    font-size:clamp(70px,9vw,160px);

    line-height:.85;

    font-weight:900;

    letter-spacing:-4px;

    margin:30px auto;

    max-width:1100px;

    text-transform:uppercase;

}

.cta-text{

    max-width:700px;

    margin:0 auto 50px;

    color:#9e9e9e;

    line-height:2;

    font-size:1.1rem;

}

.contact-cta .primary-btn{

    padding:18px 40px;

    font-size:1rem;

}
/* =========================================
   CONTACT PAGE
========================================= */

.contact-hero{

    padding:220px 0 120px;

}

.contact-intro{

    max-width:700px;

    color:#9d9d9d;

    font-size:1.1rem;

    line-height:2;

}

/* =========================================
   CONVERSATION FORM
========================================= */

.conversation-form{

    padding:80px 0 220px;

}

.contact-form{

    max-width:1100px;

    margin:auto;

}

.form-line{

    font-size:clamp(24px,2vw,42px);

    line-height:2;

    color:#fff;

    margin-bottom:35px;

}

.form-line input,
.form-line select{

    background:transparent;

    border:none;

    border-bottom:2px solid rgba(255,255,255,.15);

    color:#00d26a;

    font-size:inherit;

    padding:10px 15px;

    min-width:250px;

    outline:none;

    margin:0 10px;

    font-weight:600;

}

.form-line input::placeholder{

    color:#666;

}

.form-line select{

    cursor:pointer;

}

.contact-form .primary-btn{

    margin-top:60px;

    padding:18px 40px;

}
/* =========================================
   CONTACT DETAILS
========================================= */

.contact-details{

    padding:0 0 220px;

}

.contact-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:40px;

}

.contact-item{

    border-top:1px solid rgba(255,255,255,.08);

    padding-top:30px;

}

.contact-item span{

    display:block;

    margin-bottom:20px;

    color:#00d26a;

    letter-spacing:3px;

    font-size:.8rem;

    font-weight:700;

}

.contact-item h3{

    font-size:1.4rem;

    line-height:1.6;

    font-weight:600;

}
.contact-item a{

    color:#fff;

    text-decoration:none;

    transition:.3s ease;

}

.contact-item a:hover{

    color:#00d26a;

}
/* =========================================
   FINAL CTA
========================================= */

.contact-final-cta{

    padding:220px 0;

    text-align:center;

    position:relative;

    overflow:hidden;

}
.contact-final-cta::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(0,210,106,.12),
        transparent 70%
    );

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    filter:blur(120px);

    pointer-events:none;

}

.final-cta-heading{

    font-size:clamp(70px,10vw,180px);

    line-height:.85;

    font-weight:900;

    margin:30px auto;

    max-width:1200px;

    text-transform:uppercase;

}

.contact-final-cta p{

    color:#9d9d9d;

    margin-bottom:50px;

    font-size:1.1rem;

}
.contact-final-cta .container{

    position:relative;

    z-index:2;

}
/* =========================================
   FOOTER
========================================= */

.footer{

    padding:120px 0 40px;

    border-top:1px solid rgba(255,255,255,.08);

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:60px;

}

.footer-brand h2{

    font-size:42px;

    margin-bottom:20px;

}

.footer-brand p{

    color:#9d9d9d;

    max-width:350px;

    line-height:1.9;

}

.footer-column h4{

    color:#00d26a;

    margin-bottom:25px;

    letter-spacing:2px;

}

.footer-column{

    display:flex;

    flex-direction:column;

}

.footer-column a,
.footer-column span{

    color:#9d9d9d;

    text-decoration:none;

    margin-bottom:15px;

    transition:.3s ease;

}

.footer-column a:hover{

    color:#00d26a;

}

.footer-bottom{

    margin-top:80px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.08);

}

.footer-bottom p{

    color:#777;

}
/* =========================================
   CAREERS HERO
========================================= */

.careers-hero{

    padding:220px 0 140px;

}

.careers-intro{

    max-width:700px;

    color:#9d9d9d;

    font-size:1.15rem;

    line-height:1.9;

}
.benefits-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:60px;

}

.benefit-card{

    padding:35px;

    background:#121216;

    border-radius:24px;

    border:1px solid rgba(255,255,255,.08);

}

.benefit-card h3{

    margin-bottom:15px;

}

.benefit-card p{

    color:#9d9d9d;

}
/* =========================================
   OPEN ROLES
========================================= */

.open-roles{

    padding:120px 0;

}

.role-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:40px;

    margin-top:25px;

    background:#121216;

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

}

.role-card p{

    color:#9d9d9d;

    margin-top:10px;

}

/* =========================================
   HIRING PROCESS
========================================= */

.hiring-process{

    padding:120px 0;

}

.process-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:60px;

}

.process-card{

    background:#121216;

    padding:40px;

    border-radius:24px;

    border:1px solid rgba(255,255,255,.08);

}

.process-card span{

    display:block;

    font-size:2rem;

    font-weight:700;

    color:#00d26a;

    margin-bottom:20px;

}

.process-card h3{

    margin-bottom:15px;

}

.process-card p{

    color:#9d9d9d;

    line-height:1.8;

}
/* =========================================
   BLOG
========================================= */

.blog-hero{

    padding:220px 0 120px;

}

.blog-intro{

    max-width:700px;

    color:#9d9d9d;

    line-height:1.9;

    font-size:1.1rem;

}

.featured-post{

    padding-bottom:120px;

}

.featured-card{

    padding:70px;

    border-radius:30px;

    background:
    linear-gradient(
        135deg,
        rgba(0,210,106,.12),
        rgba(255,255,255,.03)
    );

    border:1px solid rgba(0,210,106,.2);

}

.featured-card h2{

    font-size:3rem;

    margin:25px 0;

}

.featured-card p{

    max-width:700px;

    margin-bottom:35px;

    color:#cfcfcf;

}

.blog-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.blog-card{

    background:#121216;

    padding:35px;

    border-radius:24px;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s ease;

}

.blog-card:hover{

    transform:translateY(-8px);

    border-color:#00d26a;

}

.blog-card span{

    color:#00d26a;

    font-size:.85rem;

    letter-spacing:2px;

}

.blog-card h3{

    margin:20px 0;

    line-height:1.4;

}

.blog-card p{

    color:#9d9d9d;

    line-height:1.8;

}