/* =========================================
   IMPORT FONT
========================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');


/* =========================================
   ROOT VARIABLES
========================================= */

:root {

    --primary: #0f2344;
    --primary-light: #18345f;

    --accent: #fc4002;
    --accent-light: #ff6938;

    --white: #ffffff;

    --text-primary: #102542;
    --text-secondary: #4f5d75;
    --text-light: #7f8ea3;

    --border: rgba(255,255,255,0.35);

    --glass:
        rgba(255,255,255,0.28);

    --glass-strong:
        rgba(255,255,255,0.42);

    --shadow:
        0 20px 60px rgba(15,23,42,0.08);

    --shadow-hover:
        0 30px 80px rgba(15,23,42,0.12);

    --radius-sm: 18px;
    --radius-md: 26px;
    --radius-lg: 34px;

    --transition:
        all 0.35s ease;

    --gradient-primary:
        linear-gradient(
            135deg,
            #0f2344 0%,
            #18345f 100%
        );

    --gradient-accent:
        linear-gradient(
            135deg,
            #fc4002 0%,
            #ff6938 100%
        );

}


/* =========================================
   RESET
========================================= */

* {

    margin: 0;
    padding: 0;

    box-sizing: border-box;
}

html {

    scroll-behavior: smooth;
}

body {

    font-family: 'Inter', sans-serif;

    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #eef4fb 100%
        );

    color: var(--text-primary);

    overflow-x: hidden;

    padding-top: 120px;
}


/* =========================================
   GLOBAL BACKGROUND
========================================= */

.global-bg {

    position: fixed;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

    z-index: -1;
}


/* ORBS */
.global-orb {

    position: absolute;

    border-radius: 100%;

    filter: blur(120px);

    opacity: 0.7;

    animation:
        floatingOrb 18s ease-in-out infinite;
}

.orb-1 {

    width: 600px;
    height: 600px;

    background:
        rgba(15,35,68,0.10);

    top: -250px;
    left: -180px;
}

.orb-2 {

    width: 500px;
    height: 500px;

    background:
        rgba(252,64,2,0.08);

    top: 35%;
    right: -180px;

    animation-delay: 4s;
}

.orb-3 {

    width: 700px;
    height: 700px;

    background:
        rgba(15,35,68,0.06);

    bottom: -300px;
    left: 20%;

    animation-delay: 8s;
}


/* GRID */
.global-grid {

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(rgba(15,35,68,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,35,68,0.025) 1px, transparent 1px);

    background-size: 80px 80px;

    mask-image:
        radial-gradient(circle at center, black 30%, transparent 100%);
}


/* =========================================
   CONTAINER
========================================= */

.container {

    width: 100%;
    max-width: 1440px;

    margin: auto;

    padding: 0 40px;
}


/* =========================================
   SECTIONS
========================================= */

section {

    position: relative;

    padding: 90px 0;
}


/* =========================================
   TYPOGRAPHY
========================================= */

h1,
h2,
h3,
h4,
h5,
h6 {

    color: var(--primary);

    line-height: 1.1;

    font-weight: 800;
}

h1 {

    font-size: 78px;

    letter-spacing: -3px;
}

h2 {

    font-size: 58px;

    letter-spacing: -2px;
}

h3 {

    font-size: 32px;

    letter-spacing: -1px;
}

p {

    color: var(--text-secondary);

    line-height: 1.8;

    font-size: 16px;
}


/* =========================================
   LINKS
========================================= */

a {

    text-decoration: none;

    color: inherit;
}

ul {

    list-style: none;
}


/* =========================================
   GRADIENT TEXT
========================================= */

.gradient-text {

    background:
        var(--gradient-accent);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}


/* =========================================
   SECTION TAG
========================================= */

.section-tag {

    display: inline-flex;
    align-items: center;

    padding: 12px 18px;

    border-radius: 100px;

    background:
        rgba(252,64,2,0.08);

    border:
        1px solid rgba(252,64,2,0.12);

    color: var(--accent);

    font-size: 13px;
    font-weight: 700;

    backdrop-filter: blur(10px);
}


/* =========================================
   GLASS CARD
========================================= */

.card {

    background:
        var(--glass);

    border:
        1px solid var(--border);

    backdrop-filter: blur(18px);

    box-shadow:
        var(--shadow);

    border-radius: var(--radius-md);

    transition:
        var(--transition);
}


/* =========================================
   BUTTONS
========================================= */

.btn {

    height: 58px;

    padding: 0 28px;

    border-radius: 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    font-size: 15px;
    font-weight: 700;

    transition:
        var(--transition);

    position: relative;

    overflow: hidden;

    cursor: pointer;

    border: none;
}


/* PRIMARY */
.btn-primary {

    background:
        var(--gradient-accent);

    color: white;

    box-shadow:
        0 14px 40px rgba(252,64,2,0.22);
}

.btn-primary:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 20px 60px rgba(252,64,2,0.32);
}


/* OUTLINE */
.btn-outline {

    background:
        rgba(255,255,255,0.35);

    border:
        1px solid rgba(255,255,255,0.45);

    backdrop-filter: blur(12px);

    color: var(--primary);
}

.btn-outline:hover {

    background:
        rgba(255,255,255,0.55);

    transform:
        translateY(-4px);
}


/* BUTTON SHINE */
.btn::before {

    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 100%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.28),
            transparent
        );

    transition: 0.8s;
}

.btn:hover::before {

    left: 120%;
}


/* =========================================
   FORM SYSTEM
========================================= */

.form-group {

    display: flex;
    flex-direction: column;

    gap: 10px;
}

.form-group label {

    color: var(--primary);

    font-size: 14px;
    font-weight: 600;
}

.form-group input,
.form-group select,
.form-group textarea {

    width: 100%;

    height: 58px;

    padding: 0 18px;

    border-radius: 18px;

    border:
        1px solid rgba(255,255,255,0.45);

    background:
        rgba(255,255,255,0.38);

    backdrop-filter: blur(14px);

    -webkit-backdrop-filter: blur(14px);

    color: var(--primary);

    font-size: 15px;
    font-weight: 500;

    outline: none;

    transition:
        var(--transition);

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    box-shadow:
        inset 0 1px 2px rgba(255,255,255,0.18);
}

/* SELECT ICON */
.form-group select {

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%230f2344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 18px center;

    padding-right: 50px;

    cursor: pointer;
}

.form-group textarea {

    min-height: 140px;

    padding-top: 18px;

    resize: none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color:
        rgba(252,64,2,0.4);

    background:
        rgba(255,255,255,0.55);

    box-shadow:
        0 0 0 4px rgba(252,64,2,0.08),
        0 10px 30px rgba(252,64,2,0.06);
}


/* =========================================
   DASHBOARD STYLES
========================================= */

.dashboard-panel {

    background:
        rgba(255,255,255,0.24);

    border:
        1px solid rgba(255,255,255,0.35);

    backdrop-filter: blur(18px);

    border-radius: var(--radius-lg);

    box-shadow:
        var(--shadow);
}


/* =========================================
   INSIGHT PILL
========================================= */

.insight-pill {

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 10px 16px;

    border-radius: 100px;

    background:
        rgba(15,35,68,0.06);

    color: var(--primary);

    font-size: 13px;
    font-weight: 600;
}

.insight-dot {

    width: 10px;
    height: 10px;

    border-radius: 100px;

    background: var(--accent);

    box-shadow:
        0 0 12px rgba(252,64,2,0.5);
}


/* =========================================
   HOVER EFFECTS
========================================= */

.hover-lift {

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.hover-lift:hover {

    transform:
        translateY(-10px);

    box-shadow:
        var(--shadow-hover);
}


/* =========================================
   GLOBAL ANIMATIONS
========================================= */

.reveal-up,
.reveal-left,
.reveal-right,
.reveal-scale {

    opacity: 0;

    transition:
        opacity 1s ease,
        transform 1s ease;
}

.reveal-up {

    transform:
        translateY(80px);
}

.reveal-left {

    transform:
        translateX(-80px);
}

.reveal-right {

    transform:
        translateX(80px);
}

.reveal-scale {

    transform:
        scale(0.9);
}

.reveal-active {

    opacity: 1 !important;

    transform:
        translate(0,0)
        scale(1) !important;
}


/* DELAYS */
.delay-1 {
    transition-delay: 0.1s;
}

.delay-2 {
    transition-delay: 0.2s;
}

.delay-3 {
    transition-delay: 0.3s;
}

.delay-4 {
    transition-delay: 0.4s;
}

.delay-5 {
    transition-delay: 0.5s;
}


/* =========================================
   FLOATING ANIMATION
========================================= */

@keyframes floating {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0px);
    }

}

.floating-animation {

    animation:
        floating 6s ease-in-out infinite;
}


/* =========================================
   ORB ANIMATION
========================================= */

@keyframes floatingOrb {

    0% {

        transform:
            translateY(0px)
            translateX(0px);
    }

    25% {

        transform:
            translateY(-40px)
            translateX(20px);
    }

    50% {

        transform:
            translateY(20px)
            translateX(-30px);
    }

    75% {

        transform:
            translateY(-20px)
            translateX(40px);
    }

    100% {

        transform:
            translateY(0px)
            translateX(0px);
    }

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1200px) {

    h1 {

        font-size: 64px;
    }

    h2 {

        font-size: 48px;
    }

}

@media (max-width: 992px) {

    .container {

        padding: 0 24px;
    }

    h1 {

        font-size: 54px;
    }

    h2 {

        font-size: 42px;
    }

    section {

        padding: 70px 0;
    }

}

@media (max-width: 768px) {

    body {

        padding-top: 100px;
    }

    h1 {

        font-size: 42px;

        letter-spacing: -2px;
    }

    h2 {

        font-size: 34px;

        letter-spacing: -1px;
    }

    h3 {

        font-size: 26px;
    }

    .container {

        padding: 0 18px;
    }

    .btn {

        width: 100%;
    }

}