
:root{
    --navy:#08162D;
    --gold:#C7A34A;
    --white:#ffffff;
    --light:#f8f9fa;
    --text:#d6d9df;
    --border:rgba(255,255,255,.15);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{scroll-behavior:smooth;}

body{
    font-family:'Montserrat',sans-serif;
    background:#fff;
    color:#333;
    line-height:1.6;
}

img{
    max-width:100%;
    height:auto;
}

.success-banner{
    background:#d4edda;
    color:#155724;
    padding:15px;
    text-align:center;
}

.error-banner{
    background:#f8d7da;
    color:#721c24;
    padding:15px;
    text-align:center;
}

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    z-index:1000;
    padding:15px 0;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.header-inner{
    max-width:1400px;
    width:92%;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.header-logo img{height:55px;width:auto;display:block;}

.header-nav{display:flex;gap:40px;}

.header-nav a{
    color:var(--navy);
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    letter-spacing:.5px;
    transition:.3s;
}

.header-nav a:hover{color:var(--gold);}

.login-btn{
    background:var(--navy);
    color:#fff;
    padding:12px 24px;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    border-radius:4px;
    transition:.3s;
}

.login-btn:hover{background:var(--gold);}

.hero{
    height:100vh;
    min-height:800px;
    position:relative;
    background:
        linear-gradient(rgba(8,22,45,.55),rgba(8,22,45,.55)),
        url('../img/hero.jpg');
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:hidden;
}

.hero-content{
    max-width:1200px;
    width:90%;
    padding-top:80px;
}

.logo{margin-bottom:80px;}
.logo img{max-width:520px;width:100%;}

.hero h1{
    color:#fff;
    font-weight:300;
    font-size:clamp(3rem,7vw,6rem);
    letter-spacing:8px;
    text-transform:uppercase;
    line-height:1.15;
}

.nexus-scroll{
    position:absolute;
    bottom:45px;
    left:50%;
    transform:translateX(-50%);
    width:90px;
    height:70px;
    text-decoration:none;
    animation:floatNode 3s ease-in-out infinite;
}

.nexus-icon{
    width:100%;
    height:100%;
}

.nexus-icon line{
    stroke:var(--gold);
    stroke-width:2;
    opacity:.85;
}

.nexus-icon circle{
    fill:var(--gold);
}

.pulse-node{
    animation:nexusPulse 2.5s infinite;
}

@keyframes nexusPulse{

    0%{
        opacity:1;
        transform-origin:center;
    }

    50%{
        opacity:.7;
    }

    100%{
        opacity:1;
    }

}

@keyframes floatNode{

    0%,100%{
        transform:translateX(-50%) translateY(0);
    }

    50%{
        transform:translateX(-50%) translateY(8px);
    }

}

.container{
    max-width:1200px;
    width:90%;
    margin:0 auto;
}

.section-title{
    text-align:center;
    color:var(--navy);
    font-size:2.2rem;
    font-weight:300;
    margin-bottom:20px;
    position:relative;
}

.section-title::after{
    content:'';
    display:block;
    width:80px;
    height:3px;
    background:var(--gold);
    margin:20px auto 0;
}

.section-title-reverse{
    text-align:center;
    color:var(--gold);
    font-size:2rem;
    font-weight:300;
    margin-bottom:15px;
}

.section-subtitle{
    text-align:center;
    color:#666;
    max-width:700px;
    margin:0 auto 70px;
}

.about,.contact{padding:120px 20px;background:#fff;}
.services,.disclaimer{padding:120px 20px;background:#f8f9fa;}

.about-content,
.services-content{
    max-width:1000px;
    margin:0 auto;
}

.about-content p,
.services-content p{
    margin-bottom:24px;
    font-size:16px;
    line-height:1.9;
    color:#555;
    text-align:justify;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}

.service-card,
.contact-card{
    will-change:transform;
    transition:.3s ease;
}

.service-card{
    background:#fff;
    padding:40px;
    border:1px solid #e6e9ee;
    border-top:4px solid var(--gold);
}

.service-card:hover,
.contact-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.service-card h3{
    color:var(--navy);
    font-size:22px;
    font-weight:500;
    margin-bottom:18px;
}

.service-card p{
    color:#666;
    font-size:15px;
    line-height:1.8;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.contact-grid .full{grid-column:1/-1;}

input,textarea{
    width:100%;
    padding:18px;
    border:1px solid #ddd;
    font-family:inherit;
    font-size:15px;
    transition:.3s;
}

input:focus,textarea:focus{
    outline:none;
    border-color:var(--gold);
}

textarea{resize:none;height:180px;}

.btn{
    background:var(--navy);
    color:#fff;
    border:none;
    padding:18px 40px;
    cursor:pointer;
    text-transform:uppercase;
    letter-spacing:2px;
}

.office{
    padding:120px 20px;
    background:var(--navy);
    color:#fff;
}

.office-wrapper{text-align:center;}

.company-name{
    color:var(--gold);
    font-size:1.2rem;
    margin-bottom:25px;
}

.office p{color:var(--text);margin-bottom:12px;}
.office a{color:#fff;text-decoration:none;}

.contact-cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin:60px 0;
}

.contact-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    padding:35px 25px;
    text-align:center;
}

.contact-card h3{
    color:var(--gold);
    margin-bottom:15px;
}

.contact-card a{
    color:#fff;
    text-decoration:none;
    display:block;
    overflow-wrap:anywhere;
}

.disclaimer{
    border-top:1px solid #e6e9ee;
}

.disclaimer-title{
    text-align:center;
    color:var(--navy);
    font-size:1.5rem;
    font-weight:500;
    margin-bottom:40px;
}

.disclaimer-content{
    max-width:1100px;
    margin:0 auto;
}

.disclaimer-content p,
.disclaimer-content li{
    color:#666;
    font-size:12px;
    line-height:1.9;
    text-align:justify;
    margin:10px 0 10px;
}

.disclaimer-content h3{
    color:var(--navy);
    font-size:1rem;
    font-weight:600;
    margin:30px 0 10px;
}

footer{
    background:#040b16;
    color:#8f99a8;
    text-align:center;
    padding:35px 20px;
    font-size:13px;
    border-top:1px solid rgba(255,255,255,.05);
}

.footer-links{margin-bottom:15px;}

.footer-links a{
    color:#bfc6d2;
    text-decoration:none;
    margin:0 15px;
}

.footer-links a:hover{color:var(--gold);}

@media(max-width:992px){
    .header-nav,.login-btn{display:none;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .contact-cards{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:768px){
    .hero h1{
        font-size:clamp(2rem,8vw,4rem);
        letter-spacing:4px;
    }

    .logo img{max-width:320px;}
    .services-grid,
    .contact-grid,
    .contact-cards{
        grid-template-columns:1fr;
    }

    .contact,
    .office,
    .about,
    .services,
    .disclaimer{
        padding:80px 20px;
    }
}

.form-success{
    background:#eaf7ee;
    border-left:4px solid #28a745;
    padding:20px;
    margin-bottom:30px;
    border-radius:4px;
}

.form-success strong{
    display:block;
    color:#155724;
    margin-bottom:8px;
    font-size:16px;
}

.form-success p{
    margin:0;
    color:#155724;
}

.form-error{
    background:#fdecec;
    border-left:4px solid #dc3545;
    padding:20px;
    margin-bottom:30px;
    border-radius:4px;
}

.form-error strong{
    display:block;
    color:#721c24;
    margin-bottom:8px;
    font-size:16px;
}

.form-error p{
    margin:0;
    color:#721c24;
}
