:root{--bg:#07111f;--text:#e5eef8;--green:#22c55e}
body{margin:0;background:linear-gradient(180deg,#06101d,#09182b);font-family:Arial,sans-serif;color:var(--text)}
.hero{text-align:center;padding:80px 8%}
.hero-title{font-size:64px;font-weight:800;color:#7CFFB2}
.hero-subtitle{font-size:24px}
.section{padding:50px 8%}
h2{text-align:center}
.center{text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.chips span,.card{padding:12px 20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.placeholder{height:350px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:rgba(255,255,255,.04)}
footer{text-align:center;padding:30px}
.dashboard-showcase {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 60px 0;
}

.dashboard-frame {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.dashboard-img {
    display: block;
    margin: 0 auto;
    max-width: 90%;
    height: auto;
    border-radius: 24px;
}
.ecosystem-section{
    padding:100px 8%;
    position:relative;
}

.ecosystem-title{
    text-align:center;
    font-size:42px;
    margin-bottom:60px;
    font-weight:800;
    color:#fff;
}

.ecosystem-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:30px;
    max-width:1400px;
    margin:auto;
}

.eco-card{
    position:relative;
    overflow:hidden;

    padding:35px 25px;

    background:rgba(255,255,255,0.06);

    backdrop-filter:blur(25px);
    -webkit-backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,0.12);

    border-radius:28px;

    text-align:center;

    transition:all .4s ease;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.35),
        inset 0 1px 1px rgba(255,255,255,0.15);

    transform-style:preserve-3d;
}

.eco-card::before{
    content:'';
    position:absolute;
    top:-50%;
    left:-50%;
    width:200%;
    height:200%;
    background:
      radial-gradient(circle,
      rgba(124,255,178,0.15),
      transparent 60%);
    opacity:0;
    transition:.5s;
}

.eco-card:hover{
    transform:
        translateY(-12px)
        rotateX(8deg)
        rotateY(-8deg);

    border-color:rgba(124,255,178,0.4);

    box-shadow:
        0 30px 60px rgba(0,0,0,0.45),
        0 0 40px rgba(124,255,178,0.18);
}

.eco-card:hover::before{
    opacity:1;
}

.eco-icon{
    font-size:48px;
    margin-bottom:18px;

    transform:translateZ(40px);
}

.eco-card span{
    display:block;
    font-size:18px;
    font-weight:700;
    color:#fff;

    transform:translateZ(30px);
}

@media(max-width:768px){

    .ecosystem-title{
        font-size:32px;
    }

    .eco-card{
        padding:28px 20px;
    }

}
.ecosystem-section::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    background:#22c55e;
    filter:blur(180px);
    opacity:.12;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:-1;
}
.capability{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:25px;
    margin-top:50px;
}

.capability .card{
    padding:28px;
    border-radius:24px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    backdrop-filter:blur(20px);
    transition:all .3s ease;
}

.capability .card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.25);
}

.capability .card h3{
    color:#7CFFB2;
    margin-bottom:12px;
    font-size:20px;
}

.capability .card p{
    color:#d7e3f0;
    line-height:1.6;
    font-size:15px;
    margin:0;
}
.floating-home-btn{
    position:fixed;
    top:25px;
    left:25px;

    z-index:1000;

    padding:14px 24px;

    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(15px);

    border:1px solid rgba(255,255,255,0.15);
    border-radius:50px;

    color:#fff;
    text-decoration:none;
    font-weight:700;

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

    transition:.3s ease;
}

.floating-home-btn:hover{
    transform:translateY(-3px);
    border-color:#7CFFB2;
    box-shadow:
        0 0 25px rgba(124,255,178,.25);
}
.btn-home{
    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-top:30px;
    padding:14px 32px;

    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:16px;

    background:linear-gradient(
        135deg,
        #22c55e,
        #16a34a
    );

    border-radius:50px;

    box-shadow:
        0 10px 30px rgba(34,197,94,.35);

    transition:all .3s ease;
}

.btn-home:hover{
    transform:translateY(-3px);
    box-shadow:
        0 20px 40px rgba(34,197,94,.45);
}
/* =====================================================
   CONSTRUCTION SAFETY PAGE
===================================================== */

.hero-dashboard{
    width:100%;
    max-width:700px;
    display:block;
    margin:auto;
    border-radius:28px;

    border:1px solid rgba(255,255,255,.1);

    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        0 0 50px rgba(0,212,255,.12);

    transition:.4s;
}

.hero-dashboard:hover{
    transform:translateY(-10px);
}

/* =====================================================
   CAPABILITY STRIP
===================================================== */

.capability-strip{

    width:90%;
    max-width:1400px;

    margin:60px auto;

    display:flex;
    flex-wrap:wrap;

    justify-content:center;
    gap:20px;

    padding:25px;

    border-radius:28px;

    background:
        linear-gradient(
            135deg,
            rgba(0,212,255,.05),
            rgba(37,99,235,.05)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    box-shadow:
        0 15px 40px rgba(0,0,0,.25);
}

.capability{

    display:flex;
    align-items:center;
    gap:10px;

    padding:18px 28px;

    border-radius:18px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    font-weight:600;

    transition:.3s;
}

.capability:hover{

    transform:translateY(-6px);

    border-color:#00d4ff;

    background:rgba(0,212,255,.08);

    box-shadow:
        0 0 25px rgba(0,212,255,.2);
}

/* =====================================================
   SOLUTION CARDS
===================================================== */

.solutions-grid{

    width:90%;
    max-width:1400px;

    margin:80px auto;

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(350px,1fr));

    gap:30px;
}

.solution-card{

    padding:35px;

    border-radius:28px;

    background:
        rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(25px);

    transition:.4s ease;

    position:relative;

    overflow:hidden;
}

.solution-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at top right,
            rgba(0,212,255,.12),
            transparent 50%
        );

    opacity:0;

    transition:.4s;
}

.solution-card:hover::before{
    opacity:1;
}

.solution-card:hover{

    transform:
        translateY(-10px);

    border-color:
        rgba(0,212,255,.4);

    box-shadow:
        0 25px 50px rgba(0,0,0,.35),
        0 0 30px rgba(0,212,255,.15);
}

.solution-card h3{

    color:#fff;

    font-size:24px;

    margin-bottom:18px;
}

.solution-card p{

    color:#cbd5e1;

    line-height:1.8;

    font-size:16px;
}

/* =====================================================
   AI SITE INTELLIGENCE
===================================================== */

.who-image{

    border-radius:30px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:
        0 25px 60px rgba(0,0,0,.35);
}

.who-image img{

    width:100%;

    display:block;

    transition:.4s;
}

.who-image:hover img{
    transform:scale(1.03);
}

.highlight{

    padding:18px;

    border-radius:18px;

    background:
        rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    font-weight:600;

    transition:.3s;
}

.highlight:hover{

    transform:translateY(-5px);

    border-color:#00d4ff;

    box-shadow:
        0 0 20px rgba(0,212,255,.15);
}

/* =====================================================
   CTA PANEL
===================================================== */

.cta-panel{

    width:90%;
    max-width:1400px;

    margin:100px auto;

    padding:80px 60px;

    text-align:center;

    border-radius:32px;

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            rgba(0,212,255,.08),
            rgba(37,99,235,.08)
        );

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(25px);

    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        0 0 40px rgba(0,212,255,.15);
}

.cta-panel::before{

    content:"";

    position:absolute;

    top:0;
    left:-100%;

    width:40%;
    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            transparent
        );

    transform:skewX(-25deg);

    animation:shine 8s infinite;
}

@keyframes shine{

    from{
        left:-100%;
    }

    to{
        left:150%;
    }
}

.cta-panel h2{

    font-size:58px;

    line-height:1.15;

    margin-bottom:25px;

    color:#fff;
}

.cta-panel p{

    max-width:900px;

    margin:auto;

    color:#cbd5e1;

    line-height:1.9;

    font-size:20px;

    margin-bottom:40px;
}

/* =====================================================
   SECTION SPACING
===================================================== */

#capabilities{
    margin-top:80px;
}

.tagline-section{
    width:90%;
    margin:60px auto;
}

.tagline-section h2{

    font-size:52px;

    margin-bottom:20px;
}

.tagline-section p{

    max-width:900px;

    margin:auto;

    line-height:1.9;

    color:#cbd5e1;
}

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

@media(max-width:992px){

    .hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .hero-dashboard{
        margin-top:50px;
    }

    .who-we-are{
        grid-template-columns:1fr;
    }

    .cta-panel h2{
        font-size:40px;
    }
}

@media(max-width:768px){

    .solutions-grid{
        grid-template-columns:1fr;
    }

    .capability-strip{
        flex-direction:column;
    }

    .capability{
        width:100%;
        justify-content:center;
    }

    .cta-panel{
        padding:60px 30px;
    }

    .tagline-section h2{
        font-size:38px;
    }
}
.highlight{
    padding:22px;
    border-radius:18px;

    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);

    transition:.3s ease;
}

.highlight h4{
    margin:0 0 10px;
    color:#ffffff;
    font-size:18px;
    font-weight:700;
}

.highlight p{
    margin:0;
    color:#cbd5e1;
    font-size:14px;
    line-height:1.7;
}

.highlight:hover{
    transform:translateY(-5px);

    border-color:#00d4ff;

    box-shadow:
        0 0 20px rgba(0,212,255,.15);
}