/* ABOUT PAGE STYLES */

.about-hero {
    padding:150px 0 80px;
}

.about-hero-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:120px;
    align-items:start;
}

.about-content {
    max-width:640px;
}

.hero-badge {
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:20px;
}

.about-content h1 {
    font-size:clamp(3rem,5vw,4.5rem);
    line-height:1.02;
    margin:0 0 24px 0;
    color:var(--text);
}

.about-content h1 span {
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
}

.about-content p {
    color:var(--text-light);
    font-size:1.05rem;
    line-height:1.9;
    margin-bottom:24px;
}

.hero-principles {
    display:grid;
    grid-template-columns:repeat(3,minmax(160px,1fr));
    gap:18px;
    margin-top:38px;
}

.hero-principles div {
    display:flex;
    align-items:center;
    gap:14px;
    padding:22px;
    border-radius:24px;
    background:#ffffff;
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
    transition:.35s;
}

.hero-principles div:hover {
    transform:translateY(-6px);
    box-shadow:var(--shadow-purple);
}

.hero-principles i {
    color:var(--primary);
    font-size:1.2rem;
}
.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-top:20px;
    margin-bottom:30px;
}
/*=========================================================
                    ABOUT DASHBOARD
=========================================================*/

.about-dashboard{
    position:relative;
    z-index:3;

    width:100%;
    max-width:640px;

    background:#fff;
    border-radius:26px;
    padding:32px;
    border:1px solid #ececec;
    box-shadow:0 20px 60px rgba(0,0,0,.08);

    margin:0;

    transform:none;
}

.about-dashboard::before{
    content:"";
    position:absolute;
    width:560px;
    height:560px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(124,58,237,.08),transparent 70%);
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:1;
}

.dashboard-main{
    position:relative;
    z-index:2;
    width:100%;
    max-width:840px;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,244,255,.95));
    border-radius:36px;
    padding:46px;
    border:1px solid rgba(124,58,237,.16);
    box-shadow:0 35px 100px rgba(15,23,42,.12);
    margin-bottom:0;
}

.dashboard-main h4{
    text-align:center;
    margin-bottom:36px;
    color:var(--text);
    font-size:2rem;
    letter-spacing:-.02em;
}

.expertise-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.expertise-item{
    background:#fff;
    border:1px solid rgba(124,58,237,.10);
    border-radius:26px;
    padding:22px;
    text-align:center;
    transition:.35s;
    box-shadow:0 15px 40px rgba(124,58,237,.06);
}

.expertise-item:hover{
    transform:translateY(-5px);
    border-color:rgba(124,58,237,.18);
    box-shadow:0 25px 55px rgba(124,58,237,.12);
}

.expertise-item i{
    width:56px;
    height:56px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    background:rgba(124,58,237,.08);
    color:var(--primary);
}

/* Core Strengths Cards - 2 Column Grid Below Main Dashboard */

.dashboard-cards{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(2,minmax(260px,1fr));
    gap:24px;
    width:100%;
    max-width:840px;
    z-index:2;
    margin-top:36px;
    padding-top:24px;
    border-top:1px solid rgba(124,58,237,.12);
}

.dashboard-card{
    position:relative;
    width:100%;
    max-width:none;
    background:rgba(255,255,255,.5);
    backdrop-filter:blur(16px);
    border:1px solid rgba(124,58,237,.12);
    border-radius:22px;
    padding:24px;
    text-align:center;
    transition:.35s;
    box-shadow:0 20px 50px rgba(124,58,237,.12);
    z-index:3;
    min-height:170px;
    display:grid;
    grid-template-rows:auto 1fr;
    gap:14px;
    overflow:hidden;
}

.dashboard-card::before{
    content:"";
    position:absolute;
    inset:0;
    height:4px;
    top:0;
    left:0;
    background:linear-gradient(90deg,var(--primary),var(--primary-light));
    transform:scaleX(0);
    transform-origin:left;
    transition:.35s;
}

.dashboard-card:hover{
    transform:translateY(-6px);
    box-shadow:0 25px 70px rgba(15,23,42,.15);
}

.dashboard-card:hover::before{
    transform:scaleX(1);
}

.dashboard-card i{
    width:48px;
    height:48px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    margin:0 auto 14px;
    font-size:1.2rem;
    box-shadow:0 14px 28px rgba(124,58,237,.12);
}

.dashboard-card strong{
    display:block;
    color:var(--text);
    margin-bottom:6px;
    font-size:.95rem;
    font-weight:700;
}

.dashboard-card small{
    color:var(--text-light);
    font-size:.82rem;
}

/* Strength Card Colors */

.performance i{
    background:linear-gradient(135deg,#3b82f6,#60a5fa);
}

.secure i{
    background:linear-gradient(135deg,#10b981,#34d399);
}

.scalable i{
    background:linear-gradient(135deg,#f59e0b,#fbbf24);
}

.client i{
    background:linear-gradient(135deg,#ef4444,#f87171);
}

/* Technologies */

.tech-stack{

    position:absolute;

    bottom:10px;

    left:50%;

    transform:translateX(-50%);

    width:90%;

    background:#fff;

    border:1px solid var(--border);

    border-radius:22px;

    padding:24px;

    box-shadow:0 18px 45px rgba(15,23,42,.08);

}

.tech-stack h5{

    text-align:center;

    margin-bottom:18px;

    color:var(--primary);

}

.tech-list{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:12px;

}

.tech-list span{

    padding:10px 18px;

    border-radius:999px;

    background:#f8f8f8;

    border:1px solid var(--border);

    font-size:.9rem;

    font-weight:600;

    transition:.3s;

}

.tech-list span:hover{

    background:var(--primary);

    color:#fff;

}


/* Mission + Vision */

.mission-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:40px;
}

.purpose-card {
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:30px;
    padding:34px;
    box-shadow:var(--shadow-sm);
    transition:.35s;
}

.purpose-card:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow-purple);
}

.purpose-icon {
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    margin-bottom:20px;
    font-size:1.35rem;
}

.purpose-icon.mission {
    background:rgba(124,58,237,.12);
    color:#6d28d9;
}

.purpose-icon.vision {
    background:rgba(16,185,129,.12);
    color:#059669;
}

.purpose-card h3 {
    margin-bottom:18px;
}

.purpose-card p {
    color:var(--text-light);
    line-height:1.85;
}

/* Timeline */

.timeline {
    display:grid;
    gap:24px;
    margin-top:40px;
}

.timeline-item {
    display:grid;
    grid-template-columns:92px 1fr;
    gap:24px;
    padding:28px;
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:30px;
    box-shadow:var(--shadow-sm);
}

.timeline-year {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:120px;
    border-radius:24px;
    background:rgba(124,58,237,.10);
    color:var(--primary);
    font-size:1.8rem;
    font-weight:800;
}

.timeline-content h3 {
    margin-bottom:14px;
    color:var(--text);
}

.timeline-content p {
    color:var(--text-light);
    line-height:1.8;
}

/* Values */

.values-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-top:40px;
}

.value-card {
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:30px;
    padding:34px;
    box-shadow:var(--shadow-sm);
    transition:.35s;
}

.value-card:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow-purple);
}

.value-icon {
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    margin-bottom:22px;
    background:rgba(124,58,237,.10);
    color:var(--primary);
    font-size:1.5rem;
}

.value-card h3 {
    margin-bottom:16px;
}

.value-card p {
    color:var(--text-light);
    line-height:1.9;
}

/* Purpose section */

.purpose-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
    margin-top:40px;
}

.purpose-image img {
    width:100%;
    border-radius:32px;
    box-shadow:0 40px 90px rgba(15,23,42,.12);
}

.purpose-list {
    display:grid;
    gap:18px;
    margin-top:28px;
}

.purpose-item {
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:20px;
    border-radius:24px;
    background:#ffffff;
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
}

.purpose-item i {
    color:var(--primary);
    margin-top:4px;
}


@media(max-width:992px) {
    .about-hero-grid,
    .mission-grid,
    .values-grid,
    .purpose-grid {
        grid-template-columns:1fr;
    }
    .timeline-item {
        grid-template-columns:1fr;
    }
    .timeline-year {
        min-height:auto;
        justify-content:flex-start;
        padding:18px 20px;
    }
}

@media(max-width:768px) {
    .hero-principles {
        grid-template-columns:1fr;
    }
    .hero-buttons {
        flex-direction:column;
    }
    .final-cta .cta-panel {
        padding:50px 28px;
    }
    
    .dashboard-card{
        max-width:240px;
    }
}

/*=========================================================
                DASHBOARD CONNECTION LINES
=========================================================*/

/* Floating Animation */

.dashboard-main{
    animation:dashboardFloat 7s ease-in-out infinite;
}

.performance,
.secure,
.scalable,
.client{
    animation:floatSmall 6s ease-in-out infinite;
    position:static;
}

/*=========================================================
                    KEYFRAMES
=========================================================*/

@keyframes dashboardFloat{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

@keyframes floatSmall{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

}

@keyframes pulseNode{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.25);

    }

    100%{

        transform:scale(1);

    }

}

@keyframes rotateCircle{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}
.about-right {
    display:flex;
    flex-direction:column;
    gap:80px;
    align-self:start;
}

/*=========================================================
        TECHNOLOGY ECOSYSTEM SECTION
=========================================================*/

.technology-ecosystem{
    padding:0;
    position:relative;
    z-index:2;
    width:100%;
}

.ecosystem-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
}

.ecosystem-text{
    max-width:480px;
    order:2;
}

.ecosystem-text h3{
    font-size:2.2rem;
    font-weight:800;
    color:var(--text);
    line-height:1.1;
    margin-bottom:18px;
    letter-spacing:-.02em;
}

.ecosystem-text p{
    font-size:1.08rem;
    color:var(--text-light);
    line-height:1.85;
}

.ecosystem-image{
    position:relative;
    order:1;
}

.ecosystem-image img{
    width:100%;
    max-width:500px;
    height:auto;
    border-radius:28px;
    box-shadow:0 30px 80px rgba(15,23,42,.12);
    display:block;
}

@media(max-width:992px){
    .about-right{
        gap:60px;
    }

    .ecosystem-content{
        grid-template-columns:1fr;
        gap:40px;
    }

    .ecosystem-image,
    .ecosystem-text{
        order:unset;
    }

    .ecosystem-text h3{
        font-size:1.9rem;
    }

    .ecosystem-image img{
        max-width:100%;
    }
}

@media(max-width:768px){
    .ecosystem-text h3{
        font-size:1.6rem;
    }

    .ecosystem-text p{
        font-size:1rem;
    }
}
.mission-icon{
    width:70px;
    height:70px;
    border-radius:20px;

    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    box-shadow:0 15px 30px rgba(124,58,237,.25);
}
.timeline-year{
    width:90px;
    height:90px;
    border-radius:24px;

    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:2rem;
    font-weight:700;

    box-shadow:0 15px 35px rgba(124,58,237,.25);
}
.timeline-year{
    width:95px;
    height:95px;
    border-radius:24px;

    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:#fff;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
}

.timeline-year i{
    font-size:20px;
}

.timeline-year span{
    font-size:26px;
    font-weight:700;
}
/*=========================================================
            TIMELINE OVERRIDES
=========================================================*/

.timeline-card{
    display:flex;
    align-items:center;
    gap:30px;

    background:#fff;
    padding:30px;

    border-radius:24px;

    margin-bottom:28px;

    box-shadow:0 20px 50px rgba(124,58,237,.08);

    transition:.35s ease;
}

.timeline-card:hover{
    transform:translateY(-6px);
    box-shadow:0 28px 60px rgba(124,58,237,.15);
}

/* Icon Box */

.timeline-icon{
    width:90px;
    height:90px;

    border-radius:22px;

    display:flex;
    justify-content:center;
    align-items:center;

    flex-shrink:0;

    font-size:34px;

    color:#fff;
}

/* Different colours */

.timeline-icon.founded{
    background:linear-gradient(135deg,#7c3aed,#a855f7);
}

.timeline-icon.growth{
    background:linear-gradient(135deg,#2563eb,#38bdf8);
}

.timeline-icon.future{
    background:linear-gradient(135deg,#10b981,#34d399);
}

/* Icon animation */

.timeline-card:hover .timeline-icon{
    transform:rotate(-8deg) scale(1.08);
    transition:.35s ease;
}

/* Date */

.timeline-date{
    display:inline-block;

    padding:6px 14px;

    background:#f3e8ff;

    color:#7c3aed;

    border-radius:999px;

    font-weight:700;

    margin-bottom:10px;
}

/* Content */

.timeline-content h3{
    margin-bottom:10px;
    font-size:1.6rem;
}

.timeline-content p{
    color:var(--text-light);
    line-height:1.8;
}
/*=========================================================
                VALUES SECTION OVERRIDE
=========================================================*/

.value-card{
    background:#fff;
    border-radius:24px;
    padding:36px;
    box-shadow:0 20px 50px rgba(124,58,237,.08);
    transition:.35s ease;
}

.value-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 60px rgba(124,58,237,.15);
}

.value-icon{
    width:72px;
    height:72px;
    border-radius:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:30px;
    margin-bottom:24px;

    transition:.35s ease;
}

.value-card:hover .value-icon{
    transform:scale(1.1);
}

/* Purple */
.value-icon.innovation{
    background:#efe7ff;
    color:#7c3aed;
}

/* Blue */
.value-icon.integrity{
    background:#e6f0ff;
    color:#3b82f6;
}

/* Green */
.value-icon.excellence{
    background:#e8fff1;
    color:#22c55e;
}

/* Pink */
.value-icon.learning{
    background:#ffe8ef;
    color:#e11d48;
}

/* Cyan */
.value-icon.collaboration{
    background:#e8fbff;
    color:#06b6d4;
}

/* Orange */
.value-icon.success{
    background:#fff1e6;
    color:#f97316;
}

.value-card h3{
    font-size:1.65rem;
    margin-bottom:16px;
    color:var(--text);
}

.value-card p{
    color:var(--text-light);
    line-height:1.9;
    font-size:1rem;
}
/*=========================================================
                    CALL TO ACTION
=========================================================*/

.cta{

    position:relative;

    padding:120px 0;

    background:transparent;

}

.cta-panel{

    position:relative;

    overflow:hidden;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

    padding:70px;

    border-radius:36px;

    background:#000000;

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

}

.cta-panel::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    right:-160px;

    top:-160px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(124,58,237,.28),
        transparent 70%
    );

}

.cta-panel::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    left:-120px;

    bottom:-120px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(168,85,247,.20),
        transparent 70%
    );

}

.cta-panel>*{

    position:relative;

    z-index:2;

}
/*=========================================================
                    BUTTONS
=========================================================*/

.cta-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.cta-panel .button-primary{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

}

.cta-panel .button-secondary{

    background:#ffffff;

    color:#111827;

    border:none;

}

/*=========================================================
                    RESPONSIVE
=========================================================*/

@media(max-width:900px){

    .cta-panel{

        flex-direction:column;

        text-align:center;

        padding:50px 35px;

    }

    .cta-buttons{

        justify-content:center;

    }

}
/*=========================================================
                CTA BUTTON OVERRIDE
=========================================================*/

.cta-buttons{
    display:flex;
    flex-direction:column;
    gap:20px;
    align-items:flex-start;
}

.cta-buttons .button-primary,
.cta-buttons .button-secondary{
    width:240px !important;
    height:68px;
    padding:0 36px;
    border-radius:999px !important;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.08rem;
    font-weight:700;

    flex:none;
}

.cta-buttons .button-primary{
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:#fff;
}

.cta-buttons .button-secondary{
    background:#fff;
    color:#111827;
    border:1px solid #ececec;
}