
:root{
--bg:#050816;
--surface:#0f172a;
--surface2:#111827;
--primary:#2563eb;
--accent:#38bdf8;
--text:#f8fafc;
--muted:#94a3b8;
--border:rgba(255,255,255,.08);
--radius:22px;
--shadow:0 30px 80px rgba(0,0,0,.45);
--container:1280px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
font-family:Inter,sans-serif;
background:#050816;
color:var(--text);
line-height:1.7;
overflow-x:hidden;
}
body::before{
content:"";
position:fixed;
inset:0;
background:
radial-gradient(circle at 20% 10%,rgba(56,189,248,.15),transparent 30%),
radial-gradient(circle at 80% 20%,rgba(37,99,235,.18),transparent 35%),
linear-gradient(#050816,#050816);
z-index:-2;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(92%,var(--container));margin-left:auto;margin-right:auto;}
.narrow{max-width:760px}
.section{padding:9rem 0}
.section-heading{margin-bottom:5rem}
.section-heading.center{text-align:center}
.section-description{max-width:720px;margin:0 auto;color:var(--muted)}
.eyebrow{
color:var(--accent);
font-size:.82rem;
letter-spacing:.22rem;
text-transform:uppercase;
font-weight:700;
margin-bottom:1rem;
}
h1{
font-size:clamp(3.4rem,7vw,6rem);
line-height:1;
margin-bottom:2rem;
font-weight:800;
}
h1 span{
display:block;
background:linear-gradient(90deg,#fff,#38bdf8);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
h2{
font-size:clamp(2.4rem,4vw,4rem);
margin-bottom:1.2rem;
}
h3{font-size:1.8rem;margin-bottom:1rem}
p{color:var(--muted);font-size:1.1rem}

/* Header */
.site-header{
position:fixed;
top:0;
width:100%;
z-index:999;
backdrop-filter:blur(18px);
background:rgba(5,8,22,.55);
border-bottom:1px solid var(--border);
}
.navbar{
display:flex;
justify-content:space-between;
align-items:center;
height:90px;
}
.logo{display:flex;align-items:center;gap:1rem}
.logo img{width:64px}
.logo-text{display:flex;flex-direction:column}
.logo-text span{font-weight:700}
.logo-text small{color:var(--muted)}
.nav-links{display:flex;list-style:none;gap:2rem}
.nav-links a{color:var(--muted);transition:.3s}
.nav-links a:hover,.nav-links .active{color:#fff}
.mobile-menu-button{display:none}
.btn{
display:inline-flex;
padding:1rem 2rem;
border-radius:999px;
font-weight:600;
transition:.35s;
}
.btn-primary{
background:linear-gradient(135deg,var(--primary),var(--accent));
color:#fff;
box-shadow:0 10px 40px rgba(37,99,235,.35);
}
.btn-primary:hover{transform:translateY(-4px)}
.btn-secondary{
border:1px solid var(--border);
background:rgba(255,255,255,.04);
}
.btn-secondary:hover{background:rgba(255,255,255,.08)}

.hero{
min-height:100vh;
display:block;
padding-top:180px;
background:
linear-gradient(rgba(5,8,22,.75),rgba(5,8,22,.92)),
url("../images/backgrounds/hero-background.png") center/cover no-repeat;
}
.hero-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:5rem;
align-items:start;
align-content:start;
height:auto;
}
.hero-content{
align-self: start;
}
.hero-description{max-width:640px}
.hero-buttons{display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}
.hero-image img{
width:min(520px,100%);
margin:auto;
filter:drop-shadow(0 0 70px rgba(37,99,235,.45));
transition:transform 8s ease;
}
.hero-image img:hover{transform:scale(1.03)}
.scroll-indicator{
position:absolute;
bottom:2rem;
left:50%;
transform:translateX(-50%);
color:var(--muted);
}

.feature-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:5rem;
align-items:center;
margin:8rem 0;
}
.feature-row.reverse .feature-image{order:2}
.feature-row.reverse .feature-content{order:1}
.feature-image img{
border-radius:28px;
box-shadow:var(--shadow);
transition:.6s;
}
.feature-image img:hover{
transform:scale(1.02);
}
.feature-number{
display:inline-block;
font-size:4rem;
font-weight:800;
color:rgba(255,255,255,.08);
margin-bottom:1rem;
}
.text-link{color:var(--accent);display:inline-block;margin-top:2rem}

.benefits-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:2rem;
margin-top:4rem;
}
.benefit-card{
background:rgba(17,24,39,.8);
padding:2.5rem;
border:1px solid var(--border);
border-radius:var(--radius);
transition:.35s;
}
.benefit-card:hover{
transform:translateY(-8px);
box-shadow:var(--shadow);
}
.benefit-icon{font-size:2rem;margin-bottom:1rem}

.timeline{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:2rem;
margin-top:4rem;
}
.timeline-item{text-align:center}
.timeline-number{
width:80px;height:80px;
margin:0 auto 1.5rem;
display:grid;
place-items:center;
border-radius:50%;
background:linear-gradient(135deg,var(--primary),var(--accent));
font-weight:700;
font-size:1.2rem;
}

.trust-content{text-align:center;max-width:850px;margin:auto}

.final-cta{padding:10rem 0}
.cta-card{
background:linear-gradient(180deg,#111827,#0f172a);
padding:5rem;
border-radius:32px;
text-align:center;
border:1px solid var(--border);
box-shadow:var(--shadow);
}

.site-footer{
padding:6rem 0 2rem;
border-top:1px solid var(--border);
background:#0b1120;
}
.footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:4rem;
    align-items:start;
    text-align:center;
}

.footer-grid > div{
    display:flex;
    flex-direction:column;
    align-items:center;
}
.footer-logo{width:80px;margin-bottom:1rem}
.footer-grid ul{list-style:none;
}
.footer-grid li{margin:.7rem 0;
}
.footer-grid a{color:var(--muted);
}
.footer-grid a:hover{color:#fff;
}
.footer-bottom{
margin-top:4rem;
padding-top:2rem;
border-top:1px solid var(--border);
display:flex;
justify-content:space-between;
}

/* Mobile */
@media(max-width:980px){
.nav-links,.navbar>.btn{display:none}
.mobile-menu-button{display:flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:1.8rem;color:#ffffff;background:rgba(18,25,45,.65);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(78,163,255,.25);border-radius:18px;cursor:pointer;transition:all .3s ease;}
.mobile-menu-button:hover{background:rgba(32,45,80,.85);border-color:#4ea3ff;box-shadow:0 0 20px rgba(78,163,255,.25);transform:translateY(-2px);}
.mobile-menu-button:active{transform:scale(.96);}
.hero-grid,
.feature-row,
.benefits-grid,
.timeline,
.footer-grid{
grid-template-columns:1fr;
}
.feature-row.reverse .feature-image,
.feature-row.reverse .feature-content{order:initial}
.hero{text-align:center}
.hero-buttons{justify-content:center}
.section{padding:6rem 0}
.cta-card{padding:3rem 2rem}
.footer-bottom{
flex-direction:column;
gap:1rem;
text-align:center;
}
}

/* ==========================================================
   JAVASCRIPT INTERACTIONS
========================================================== */

/* Navbar after scrolling */

.site-header {
    transition: all .35s ease;
}

.site-header.scrolled {

    background: rgba(5, 8, 22, .92);

    backdrop-filter: blur(24px);

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

    box-shadow: 0 20px 60px rgba(0,0,0,.45);

}


/* ==========================================
   Scroll Animations
========================================== */

.feature-row,
.benefit-card,
.timeline-item,
.cta-card {

    opacity: 0;

    transform: translateY(60px);

    transition:

        opacity .8s ease,

        transform .8s ease;

}

.show {

    opacity: 1 !important;

    transform: translateY(0) !important;

}


/* ==========================================
   Hero Logo
========================================== */

.hero-image {

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image img {

    will-change: transform;

}


/* ==========================================
   Mobile Navigation
========================================== */

@media (max-width:980px){

.nav-links{

    position:absolute;

    top:90px;

    left:0;

    right:0;

    background:#08101f;

    flex-direction:column;

    padding:2rem;

    display:flex;

    gap:1.5rem;

    transform:translateY(-150%);

    opacity:0;

    pointer-events:none;

    transition:.35s ease;

}

.nav-links.open{

    transform:translateY(0);

    opacity:1;

    pointer-events:auto;

}

}


/* ==========================================
   Ripple Button Effect
========================================== */

.btn{

    position:relative;

    overflow:hidden;

}

.ripple{

    position:absolute;

    border-radius:50%;

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

    transform:scale(0);

    animation:ripple .7s linear;

    pointer-events:none;

}

@keyframes ripple{

    to{

        transform:scale(4);

        opacity:0;

    }

}


/* ==========================================
   Footer Polish
========================================== */

.footer-grid h3,
.footer-contact h3{

    color:#ffffff;
    font-size:1.25rem;
    font-weight:700;
    margin-bottom:1rem;

}

.footer-grid li{

    list-style:none;
    margin:1rem 0;

}

.footer-grid li a{

    color:rgba(255,255,255,.75);
    font-size:1.1rem;
    font-weight:400;
    transition:.3s ease;

}

.footer-grid li a:hover{

    color:#ffffff;

}


/* ==========================================
   Hover Effects
========================================== */

.feature-image{

    overflow:hidden;

    border-radius:28px;

}

.feature-image img{

    transition:

        transform 8s ease,

        filter .4s ease;

}

.feature-image:hover img{

    transform:scale(1.05);

}

.feature-content h3{

    transition:.3s ease;

}

.feature-row:hover h3{

    color:var(--accent);

}


/* ==========================================
   Scroll Indicator Animation
========================================== */

.scroll-indicator{

    animation:bounce 2.5s infinite;

    transition:opacity .4s ease;

}

@keyframes bounce{

    0%,100%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,10px);

    }

}


/* ==========================================
   Selection
========================================== */

::selection{

    background:var(--accent);

    color:white;

}


/* ==========================================
   Scrollbar
========================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#08101f;

}

::-webkit-scrollbar-thumb{

    background:#2563eb;

    border-radius:100px;

}

::-webkit-scrollbar-thumb:hover{

    background:#38bdf8;

}


/* ==========================================
   CONTACT FORM
========================================== */

.contact-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: start;
    margin-top: 4rem;
}

.contact-form-card,
.contact-info-card {

    background: rgba(255,255,255,.04);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

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

    border-radius: 24px;

    padding: 2.5rem;

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

}

.contact-form-card h3{
    margin-bottom:.75rem;
}

.contact-form-card>p{
    color:#b9c2d3;
    margin-bottom:2.5rem;
    line-height:1.7;
}


/* FORM */

#contactForm{

    display:grid;
    gap:1.75rem;

}

.form-group{

    display:flex;
    flex-direction:column;

}

.form-group label{

    margin-bottom:.6rem;

    font-size:.95rem;

    font-weight:600;

    color:white;

}

.form-group label span{

    color:#8ea3c9;
    font-weight:400;

}

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

    width:100%;

    background:#111827;

    color:white;

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

    border-radius:14px;

    padding:16px 18px;

    font-size:1rem;

    transition:.25s ease;

    font-family:inherit;

}

.form-group textarea{

    resize:vertical;

    min-height:180px;

}

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

    color:#7d8799;

}

.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover{

    border-color:rgba(68,154,255,.5);

}

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

    outline:none;

    border-color:#3da8ff;

    box-shadow:0 0 0 4px rgba(61,168,255,.18);

}


/* BUTTON */

#contactForm .btn{

    width:100%;

    margin-top:.5rem;

    padding:18px;

    font-size:1.05rem;

}


/* CONTACT INFO */

.contact-info-card{

    position:sticky;
    top:120px;

}

.contact-item{

    padding:1.25rem 0;

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

}

.contact-item:last-child{

    border-bottom:none;

}

.contact-item h4{

    margin-bottom:.4rem;

    color:white;

}

.contact-item p{

    color:#b9c2d3;

    line-height:1.7;

}


/* MOBILE */

@media(max-width:900px){

    .contact-grid{

        grid-template-columns:1fr;

    }

    .contact-info-card{

        position:static;

    }

}

.social-links{
    display:flex;
    justify-content:center;
    gap:1.8rem;
    margin-top:2rem;
    margin-bottom:2rem;
}

.social-links a {
    color: rgba(255,255,255,0.8);
    font-size: 1.4rem;
    transition: all 0.3s ease;
}

.social-links a:hover {
    color: #5ea0ff;
    transform: translateY(-2px);
}

.footer-contact {
    text-align: center;
}

.footer-contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.6rem;
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    margin: 1rem 0;
    transition: all 0.3s ease;
}

.footer-contact a i {
    color: #5ea0ff;
    width: 22px;
}

.footer-contact a:hover {
    color: #ffffff;
    transform: translateY(-2px);
}