
*{margin:0;padding:0;box-sizing:border-box;font-family:Arial}
body{background:#f4f6f9}
header{position:fixed;width:100%;top:0;background:#0a2a66;color:#fff;padding:15px;display:flex;justify-content:space-between}
nav a{color:#fff;margin-left:15px;text-decoration:none}
.hero{height:100vh;background:url('images/hero.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
.hero h2{font-size:48px}
section{padding:80px 20px;max-width:1100px;margin:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.card{background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.1)}
.card img{width:100%;height:200px;object-fit:cover}
.contact{background:#fff;padding:20px}
footer{text-align:center;padding:20px;background:#0a2a66;color:#fff}
.services-section {
    padding: 100px 8%;
    background: #0f172a;
    color: white;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header h2 {
    font-size: 42px;
    margin-bottom: 15px;
    font-weight: 700;
}

.section-header p {
    max-width: 800px;
    margin: auto;
    color: #cbd5e1;
    line-height: 1.8;
    font-size: 17px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 35px;
}

.service-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 18px;
    overflow: hidden;
    transition: all 0.35s ease;
    backdrop-filter: blur(8px);
}

.service-card:hover {
    transform: translateY(-8px);
    border-color: #d4af37;
    box-shadow: 0 20px 40px rgba(0,0,0,0.35);
}

.service-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.service-content {
    padding: 28px;
}

.service-content h3 {
    font-size: 24px;
    margin-bottom: 15px;
    color: #f8fafc;
}

.service-content p {
    color: #cbd5e1;
    line-height: 1.7;
    font-size: 15px;
}

/* =========================
   SERVICES SECTION
========================= */

.services-section {
    padding: 110px 8%;
    background:
        radial-gradient(circle at top, #0f2344 0%, #07111f 55%, #02060d 100%);
    color: white;
}

.section-header {
    text-align: center;
    margin-bottom: 70px;
}

.section-tag {
    display: inline-block;
    color: #d4af37;
    letter-spacing: 4px;
    font-size: 14px;
    margin-bottom: 20px;
}

.section-header h2 {
    font-size: 58px;
    margin-bottom: 25px;
    font-weight: 700;
    line-height: 1.1;
}

.section-header p {
    max-width: 850px;
    margin: auto;
    color: #cbd5e1;
    font-size: 20px;
    line-height: 1.8;
}

/* GRID */

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 35px;
}

/* CARD */

.service-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    overflow: hidden;
    backdrop-filter: blur(8px);
    transition: all 0.35s ease;
    position: relative;
}

.service-card:hover {
    transform: translateY(-10px);
    border-color: #d4af37;
    box-shadow: 0 30px 60px rgba(0,0,0,0.45);
}

/* IMAGE */

.image-wrapper {
    overflow: hidden;
    height: 270px;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
    filter: brightness(0.85);
}

.service-card:hover img {
    transform: scale(1.08);
}

/* CONTENT */

.service-content {
    padding: 35px;
}

.icon-circle {
    width: 62px;
    height: 62px;
    border: 2px solid #d4af37;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 25px;
    color: #d4af37;
}

.service-content h3 {
    font-size: 32px;
    margin-bottom: 18px;
    line-height: 1.2;
}

.gold-line {
    width: 70px;
    height: 2px;
    background: #d4af37;
    margin-bottom: 22px;
}

.service-content p {
    color: #cbd5e1;
    line-height: 1.9;
    font-size: 17px;
}

/* CARD */

.service-card {
    position: relative;
    background: rgba(255,255,255,0.04);
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    transition: all 0.35s ease;
}

/* LARGE IMAGE */

.image-wrapper {
    height: 260px;
    overflow: hidden;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* FLOATING ICON */

.floating-icon {
    position: absolute;

    top: 220px;
    left: 35px;

    width: 82px;
    height: 82px;

    background: #0b1220;

    border-radius: 50%;

    border: 3px solid #d4af37;

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

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

    z-index: 5;
}

.floating-icon img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

/* CONTENT */

.service-content {
    padding:
        70px   /* top padding increased for icon */
        35px
        35px
        35px;
}

/* =========================
   ABOUT SECTION
========================= */

.about-section {

    padding: 120px 8%;

    background:
        radial-gradient(circle at top, #07111f 0%, #030712 70%);

    color: white;
}

.about-container {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 70px;

    align-items: center;
}

/* IMAGE CARD */

.about-image-card {

    position: relative;

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

    border-radius: 28px;

    overflow: hidden;

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

    box-shadow: 0 25px 50px rgba(0,0,0,0.45);
}

.about-image-wrapper {

    height: 620px;

    overflow: hidden;
}

.about-image-wrapper img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    filter: brightness(0.88);

    transition: transform 0.6s ease;
}

.about-image-card:hover img {

    transform: scale(1.05);
}

/* FLOATING ICON */

.about-floating-icon {

    position: absolute;

    bottom: 35px;
    left: 35px;

    width: 95px;
    height: 95px;

    border-radius: 50%;

    background: #0b1220;

    border: 3px solid #d4af37;

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

    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
}

.about-floating-icon img {

    width: 50px;
    height: 50px;
}

/* TEXT */

.about-content h2 {

    font-size: 58px;

    line-height: 1.1;

    margin-bottom: 24px;
}

.about-content p {

    color: #cbd5e1;

    line-height: 1.9;

    font-size: 18px;

    margin-bottom: 28px;
}

/* FEATURES */

.about-features {

    display: flex;

    flex-wrap: wrap;

    gap: 18px;

    margin-top: 40px;
}

.feature-item {

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

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

    padding: 14px 22px;

    border-radius: 999px;

    color: #f8fafc;

    font-size: 15px;
}

/* MOBILE */

@media (max-width: 980px) {

    .about-container {

        grid-template-columns: 1fr;
    }

    .about-content h2 {

        font-size: 42px;
    }

    .about-image-wrapper {

        height: 480px;
    }
}

/* =========================
   CONTACT SECTION
========================= */

.contact-section {

    padding: 120px 8%;

    background:
        linear-gradient(to bottom, #02060d, #07111f);

    color: white;
}

.contact-container {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 70px;

    align-items: center;
}

/* LEFT SIDE */

.contact-info h2 {

    font-size: 56px;

    line-height: 1.1;

    margin-bottom: 24px;
}

.contact-info p {

    color: #cbd5e1;

    line-height: 1.9;

    font-size: 17px;
}

/* CONTACT ITEMS */

.contact-item {

    display: flex;

    gap: 18px;

    margin-top: 30px;

    align-items: flex-start;
}

.contact-icon {

    width: 58px;
    height: 58px;

    border-radius: 50%;

    border: 2px solid #d4af37;

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

    font-size: 24px;

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

    flex-shrink: 0;
}

.contact-item h4 {

    margin-bottom: 6px;

    font-size: 18px;
}

/* FORM CARD */

.contact-form-card {

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

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

    border-radius: 28px;

    padding: 45px;

    backdrop-filter: blur(10px);

    box-shadow: 0 25px 50px rgba(0,0,0,0.45);
}

/* FORM */

.form-group {

    margin-bottom: 24px;
}

.form-group input,
.form-group textarea {

    width: 100%;

    padding: 18px 20px;

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

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

    border-radius: 14px;

    color: white;

    font-size: 16px;

    outline: none;

    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {

    border-color: #d4af37;

    box-shadow: 0 0 0 3px rgba(212,175,55,0.15);
}

.form-group input::placeholder,
.form-group textarea::placeholder {

    color: #94a3b8;
}

/* BUTTON */

.contact-btn {

    width: 100%;

    padding: 18px;

    border: none;

    border-radius: 14px;

    background: linear-gradient(
        135deg,
        #d4af37,
        #f5d76e
    );

    color: #07111f;

    font-size: 17px;

    font-weight: 700;

    cursor: pointer;

    transition: all 0.3s ease;
}

.contact-btn:hover {

    transform: translateY(-2px);

    box-shadow: 0 15px 30px rgba(212,175,55,0.25);
}

/* RESPONSE */

#contactResponse {

    margin-top: 20px;

    font-size: 15px;

    color: #d4af37;
}

/* MOBILE */

@media (max-width: 980px) {

    .contact-container {

        grid-template-columns: 1fr;
    }

    .contact-info h2 {

        font-size: 42px;
    }
}

/* =========================
   DASHBOARD
========================= */

.dashboard-body {

    background:
        radial-gradient(circle at top, #0f2344 0%, #07111f 60%, #02060d 100%);

    color: white;

    min-height: 100vh;

    font-family: Arial, sans-serif;
}

/* HEADER */

.dashboard-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 24px 8%;

    border-bottom: 1px solid rgba(255,255,255,0.08);

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

    backdrop-filter: blur(8px);
}

.dashboard-header nav {

    display: flex;

    gap: 28px;
}

.dashboard-header nav a {

    color: white;

    text-decoration: none;

    transition: color 0.3s ease;
}

.dashboard-header nav a:hover {

    color: #d4af37;
}

/* HERO */

.dashboard-hero {

    padding: 90px 8% 50px;
}

.dashboard-hero h1 {

    font-size: 62px;

    margin-bottom: 20px;
}

.dashboard-hero p {

    font-size: 20px;

    color: #cbd5e1;

    max-width: 700px;

    line-height: 1.8;
}

/* GRID */

.dashboard-grid {

    padding: 40px 8% 100px;

    display: grid;

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

    gap: 35px;
}

/* CARD */

.dashboard-card {

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

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

    border-radius: 24px;

    padding: 35px;

    transition: all 0.35s ease;

    backdrop-filter: blur(10px);
}

.dashboard-card:hover {

    transform: translateY(-8px);

    border-color: #d4af37;

    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

.dashboard-card h3 {

    font-size: 28px;

    margin-bottom: 18px;
}

.dashboard-card p {

    color: #cbd5e1;

    line-height: 1.8;
}



/* =========================
   LOGIN PAGE
========================= */

.login-body {

    min-height: 100vh;

    background:
        radial-gradient(circle at top, #0f2344 0%, #07111f 60%, #02060d 100%);

    display: flex;

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

    padding: 40px;

    color: white;
}

.login-container {

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

    display: grid;

    grid-template-columns: 1fr 480px;

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

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

    border-radius: 32px;

    overflow: hidden;

    backdrop-filter: blur(12px);

    box-shadow: 0 30px 60px rgba(0,0,0,0.45);
}

/* LEFT */

.login-brand {

    padding: 70px;
}

.login-brand h1 {

    font-size: 58px;

    margin-bottom: 24px;
}

.login-brand p {

    color: #cbd5e1;

    line-height: 1.9;

    margin-bottom: 40px;
}

.login-brand img {

    width: 100%;

    border-radius: 24px;

    height: 420px;

    object-fit: cover;
}

/* RIGHT */

.login-card {

    background: rgba(0,0,0,0.25);

    padding: 70px 50px;

    display: flex;

    flex-direction: column;

    justify-content: center;
}

.login-card h2 {

    font-size: 42px;

    margin-bottom: 35px;
}

/* MOBILE */

@media (max-width: 980px) {

    .login-container {

        grid-template-columns: 1fr;
    }

    .login-brand {

        display: none;
    }
}


.telemetry-section {

    width: 100vw;

    max-width: 100vw;

    padding: 20px;

    margin: 0;

    box-sizing: border-box;
}

.telemetry-table-wrapper {

    width: 100%;

    overflow-x: auto;

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

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

    border-radius: 24px;

    backdrop-filter: blur(8px);

    box-shadow: 0 20px 40px rgba(0,0,0,0.35);

    box-sizing: border-box;
}

.telemetry-table {

    width: 100%;

    min-width: 2400px;

    border-collapse: collapse;

    table-layout: auto;
}

.telemetry-table th {

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

    color: #d4af37;

    text-align: left;

    padding: 18px;

    font-size: 15px;

    letter-spacing: 1px;
}

.telemetry-table td {

    padding: 18px;

    border-top: 1px solid rgba(255,255,255,0.05);

    color: #e2e8f0;

    font-size: 14px;

    vertical-align: top;
}

.telemetry-table tr:hover {

    background: rgba(255,255,255,0.03);
}

