:root{
    --red:#e63946;
    --dark:#0d1117;
    --dark2:#161b22;
    --dark3:#21262d;
    --gold:#f0c040;
    --white:#f0f6ff;
    --muted:#8b949e;
    --radius:16px;
}

*,
*::before,
*::after{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Manrope',sans-serif;
    background:var(--dark);
    color:var(--white);
    overflow-x:hidden;
    line-height:1.6;
}

body::before{
    content:'';
    position:fixed;
    inset:0;

    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");

    pointer-events:none;
    z-index:0;
    opacity:.4;
}

/* ───────────────── NAVBAR ───────────────── */

.navbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:16px 5%;

    background:rgba(13,17,23,.85);

    backdrop-filter:blur(20px);

    border-bottom:1px solid rgba(255,255,255,.06);
}

.navbar-logo img{
    height:58px;
    transition:transform .25s ease;
}

.navbar-logo img:hover{
    transform:scale(1.03);
}

.navbar-cta{
    display:flex;
    align-items:center;
    gap:12px;
}

.btn-outline{
    padding:8px 20px;
    border-radius:50px;

    border:1.5px solid rgba(255,255,255,.2);

    color:var(--white);
    background:transparent;

    text-decoration:none;

    font-size:.88rem;
    font-weight:600;

    transition:all .2s;
}

.btn-outline:hover{
    border-color:var(--red);
    color:var(--red);
}

.btn-red{
    padding:8px 22px;
    border-radius:50px;

    background:var(--red);
    border:none;

    color:#fff;

    text-decoration:none;

    font-size:.88rem;
    font-weight:700;

    transition:all .2s;
}

.btn-red:hover{
    background:#c1121f;
    transform:translateY(-1px);
}

.mobile-icons{
    display:none;
}

/* ───────────────── HERO ───────────────── */

.hero{
    min-height:100vh;

    display:flex;
    align-items:center;

    padding:120px 5% 80px;

    position:relative;
    overflow:hidden;
}

.hero-bg{
    position:absolute;
    inset:0;

    background:
        radial-gradient(ellipse 80% 60% at 60% 50%, rgba(230,57,70,.12) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 20% 80%, rgba(240,192,64,.06) 0%, transparent 60%),
        linear-gradient(180deg,#0d1117 0%,#0a0e14 100%);
}

.hero-deco{
    position:absolute;

    right:3%;
    top:50%;

    transform:translateY(-50%);

    font-size:clamp(200px,25vw,380px);

    opacity:.04;

    user-select:none;
}

.hero-content{
    position:relative;
    z-index:1;
    max-width:700px;
}

.hero-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:6px 16px;

    border-radius:50px;

    background:rgba(230,57,70,.15);

    border:1px solid rgba(230,57,70,.3);

    color:var(--red);

    font-size:.8rem;
    font-weight:700;

    margin-bottom:28px;
}

.hero h1{
    font-family:'Playfair Display',serif;

    font-size:clamp(2.6rem,6vw,5rem);

    line-height:1.05;

    margin-bottom:24px;

    background:linear-gradient(135deg,#f0f6ff 30%,#e63946 100%);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero h1 span{
    -webkit-text-fill-color:var(--gold);
}

.hero p{
    color:var(--muted);

    font-size:1.08rem;

    line-height:1.8;

    margin-bottom:40px;
}

.hero-btns{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.btn-hero-primary{
    padding:14px 32px;

    border-radius:50px;

    background:var(--red);

    color:#fff;

    text-decoration:none;

    font-weight:700;

    display:inline-flex;
    align-items:center;
    gap:8px;

    box-shadow:0 8px 30px rgba(230,57,70,.35);

    transition:all .25s;
}

.btn-hero-primary:hover{
    transform:translateY(-3px);
}

.btn-hero-secondary{
    padding:14px 32px;

    border-radius:50px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.12);

    color:var(--white);

    text-decoration:none;

    font-weight:600;
}

.stats-bar{
    display:flex;
    gap:48px;

    margin-top:64px;

    padding-top:40px;

    border-top:1px solid rgba(255,255,255,.06);

    flex-wrap:wrap;
}

.stat-item .num{
    font-size:2.2rem;
    font-weight:800;
}

.stat-item .num span{
    color:var(--red);
}

.stat-item .label{
    color:var(--muted);
    font-size:.82rem;
}

/* ───────────────── FEATURES ───────────────── */

.features{
    padding:100px 5%;
    background:var(--dark2);
}

.section-tag{
    text-align:center;

    color:var(--red);

    font-weight:700;

    text-transform:uppercase;

    margin-bottom:14px;
}

.section-title{
    text-align:center;

    font-family:'Playfair Display',serif;

    font-size:clamp(1.8rem,4vw,3rem);

    margin-bottom:60px;
}

.features-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:24px;

    max-width:1200px;

    margin:0 auto;
}

.feature-card{
    background:var(--dark3);

    border:1px solid rgba(255,255,255,.06);

    border-radius:var(--radius);

    padding:32px 28px;

    transition:all .3s;

    position:relative;
    overflow:hidden;
}

.feature-card:hover{
    transform:translateY(-6px);
}

.feature-icon{
    width:52px;
    height:52px;

    border-radius:12px;

    background:rgba(230,57,70,.12);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.5rem;

    color:var(--red);

    margin-bottom:20px;
}

.feature-card h3{
    margin-bottom:10px;
}

.feature-card p{
    color:var(--muted);
    font-size:.9rem;
}

/* ───────────────── FORMS ───────────────── */

.form-group{
    margin-bottom:18px;
}

.form-group label{
    display:block;
    margin-bottom:7px;
    color:var(--muted);
    font-size:.82rem;
}

.form-control-dark{
    width:100%;

    padding:12px 16px;

    background:rgba(255,255,255,.04);

    border:1.5px solid rgba(255,255,255,.1);

    border-radius:10px;

    color:var(--white);

    outline:none;
}

.form-control-dark:focus{
    border-color:var(--red);
}

select.form-control-dark option{
    background:#161b22;
}

.btn-submit{
    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    background:var(--red);

    color:#fff;

    font-weight:700;

    cursor:pointer;

    transition:all .2s;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.btn-submit:hover{
    transform:translateY(-2px);
}

/* ───────────────── ALERTS ───────────────── */

.alert-success-dark{
    background:rgba(39,174,96,.12);

    border:1px solid rgba(39,174,96,.25);

    border-radius:10px;

    padding:14px 16px;

    color:#6fcf97;

    margin-bottom:20px;
}

.alert-error-dark{
    background:rgba(230,57,70,.12);

    border:1px solid rgba(230,57,70,.25);

    border-radius:10px;

    padding:14px 16px;

    color:#ff8080;

    margin-bottom:20px;
}

/* ───────────────── MODALS ───────────────── */

.modal-overlay{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.75);

    backdrop-filter:blur(8px);

    display:none;

    align-items:center;
    justify-content:center;

    z-index:5000;

    padding:20px;
}

.modal-overlay.active{
    display:flex;
}

.custom-modal{
    width:100%;
    max-width:460px;

    background:var(--dark2);

    border-radius:22px;

    padding:34px;

    border:1px solid rgba(255,255,255,.08);

    position:relative;
}

.large-modal{
    max-width:650px;
}

.modal-close{
    position:absolute;

    top:18px;
    right:18px;

    width:38px;
    height:38px;

    border-radius:50%;

    border:none;

    background:rgba(255,255,255,.06);

    color:white;

    cursor:pointer;
}

/* ───────────────── FOOTER ───────────────── */

footer.landing-footer{
    padding:30px 5%;

    background:var(--dark2);

    border-top:1px solid rgba(255,255,255,.06);

    text-align:center;

    color:var(--muted);

    font-size:.82rem;
}

footer.landing-footer a{
    color:var(--muted);
    text-decoration:none;
}

footer.landing-footer img{
    height:20px;
    vertical-align:middle;
}

/* ───────────────── ANIMATIONS ───────────────── */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

.fade-up{
    animation:fadeUp .7s ease both;
}

.delay-1{ animation-delay:.1s; }
.delay-2{ animation-delay:.2s; }
.delay-3{ animation-delay:.3s; }
.delay-4{ animation-delay:.4s; }

/* ───────────────── MOBILE ───────────────── */

@media (max-width:768px){

    .navbar-logo img{
        height:48px;
    }

    .navbar-cta .btn-outline,
    .navbar-cta .btn-red{
        display:none;
    }

    .mobile-icons{
        display:flex;
        gap:12px;
    }

    .mobile-icons button{
        width:42px;
        height:42px;

        border:none;

        border-radius:50%;

        background:rgba(255,255,255,.08);

        color:white;

        font-size:1rem;
    }

    .custom-modal{
        padding:26px 20px;
    }

    .stats-bar{
        gap:28px;
    }

    .hero{
        padding:100px 5% 60px;
    }
}