:root{
    --bg:#f7f3fb;
    --surface:#ffffff;
    --ink:#201b2d;
    --muted:#766d83;
    --line:#ded2ea;
    --violet:#8b6ccf;
    --lav:#d9cdf4;
    --deep:#443059;
    --soft:#efe8f8;
    --logo:#433081;
    --radius:28px
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    font-family:Inter,Arial,sans-serif;
    background:radial-gradient(circle at 10% 0%,#ece2f8,transparent 34%),var(--bg);
    color:var(--ink)
}

a{color:inherit}

.site-header{
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 5vw;
    background:#f7f3fbd1;
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line)
}

.brand{
    color:var(--logo);
    font-weight:800;
    text-decoration:none;
    font-size:1.2rem;
    display:flex;
    align-items:center;
    height:100%;
    gap:6px
}

.nav{display:flex;gap:22px}

.nav a{
    text-decoration:none;
    color:var(--muted);
    font-size:.95rem
}

.menu-toggle{display:none; cursor:pointer; font:inherit}

.section-pad{padding:86px 5vw}

.intro{
    min-height:76vh;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.eyebrow{
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--violet);
    font-size:.78rem;
    font-weight:800
}

.intro h1,.section-head h2,.split h2,.contact h2{
    font-size:clamp(2.5rem,7vw,7.8rem);
    line-height:.94;letter-spacing:-.07em;
    max-width:1120px;margin:18px 0
}

.lead{
    font-size:clamp(1.1rem,2vw,1.55rem);
    line-height:1.45;color:var(--muted);
    max-width:760px
}

.lead.small{max-width:620px}

.btn{
    display:inline-flex;
    padding:14px 22px;
    border-radius:999px;
    text-decoration:none;
    margin-right:8px;
    margin-top:12px;
    border:1px solid var(--line)
}

.btn.primary{background:var(--ink);color:white}

.btn.ghost{background:white}

.stats-strip{
    margin:0 5vw;
    padding:20px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    background:rgba(255,255,255,.55)
}

.stats-strip div{padding:20px}

.stats-strip strong{display:block;font-size:2rem}

.stats-strip span{color:var(--muted)}

.project-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px
}

.project-card{
    background:rgba(255,255,255,.68);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;text-decoration:none;
    transition:.35s ease;
    box-shadow:0 20px 50px rgba(68,48,89,.06)
}

.project-card:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 70px rgba(68,48,89,.12)
}

.project-visual{
    height:320px;
    border-radius:22px;
    background:linear-gradient(135deg,#ded0f2,#b79fe8);
    display:flex;
    align-items:end;
    padding:22px;
    overflow:hidden
}

.project-visual:before{content:"";position:absolute}

.project-visual span{
    font-size:clamp(2rem,5vw,4.5rem);
    line-height:.9;
    letter-spacing:-.06em;
    font-weight:800;
    color:rgba(255,255,255,.72)
}

.project-visual.alt{background:linear-gradient(135deg,#f0e8f7,#c3b1e8)}

.project-visual.deep{background:linear-gradient(135deg,#8b6ccf,#443059)}

.project-visual.pale{background:linear-gradient(135deg,#fff,#d9cdf4)}

.project-card p,.muted{color:var(--muted)}

.project-card h3{font-size:1.7rem;margin:6px 0}

.card-link{color:var(--violet);font-weight:800}

.growth-section{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}

.chart-card{
    background:white;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px
}
.chart-row{
    display:grid;
    grid-template-columns:80px 1fr 55px;
    gap:12px;
    align-items:center;
    margin:18px 0
}

.chart-row span{color:var(--muted)}

.chart-row div{
    height:12px;
    background:var(--soft);
    border-radius:99px;
    overflow:hidden
}

.chart-row i{
    display:block;
    height:100%;
    border-radius:99px;
    background:linear-gradient(90deg,var(--lav),var(--violet))
}
.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.service-card{
    background:white;
    border:1px solid var(--line);
    border-radius:24px;
    padding:26px
}

.service-card span{
    color:var(--violet);
    font-weight:900
}

.service-card h3{font-size:1.4rem}

.service-card p{
    color:var(--muted);
    line-height:1.55
}

.process{background:var(--deep);color:white}

.process .eyebrow{color:var(--lav)}

.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.process-line div{border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px}
.process-line p{color:#d8cfe4}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
.contact{text-align:center;background:linear-gradient(135deg,#efe8f8,#fff)}
footer{padding:34px 5vw;color:var(--muted)}
.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@media(max-width:820px){
    .menu-toggle{
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        background:none;
        border:none;
        width:44px;
        height:44px;
        padding:0;
        cursor:pointer;
        gap:5px
    }
        .menu-toggle span{
        width:24px;
        height:3px;
        background:#fff;
        border-radius:2px;
        transition:.3s;
    }

    .menu-toggle.active span:nth-child(1){
        transform:translateY(8px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2){
        opacity:0;
    }

    .menu-toggle.active span:nth-child(3){
        transform:translateY(-8px) rotate(-45deg);
    }

    .nav{
        position:fixed;
        top:66px;left:5vw;
        right:5vw;
        display:none;
        flex-direction:column;
        background:#8B6CCF8c;
        border:1px solid var(--line);
        border-radius:22px;
        padding:18px
    }
    .nav.open{display:flex}
    .section-pad{padding:64px 5vw}
    .intro{
        padding-top:20px;
        min-height:70vh
    }
    .project-grid,.growth-section,.services-grid,.process-line,.split,.stats-strip{grid-template-columns:1fr}
    .project-visual{height:230px}
    .intro h1,.section-head h2,.split h2,.contact h2{letter-spacing:-.05em}
    .chart-row{grid-template-columns:68px 1fr 48px;font-size:.9rem}}
