/* =====================================
   RESET
===================================== */

* {
    margin: 0;
    padding: 0;

    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    min-height: 100vh;

    color: #ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background:
        #020611;

    overflow-x: hidden;
}


/* =====================================
   BACKGROUND
===================================== */

.page-background {
    position: fixed;

    inset: 0;

    z-index: -2;

    overflow: hidden;

    background:
        radial-gradient(circle at 50% 0%,
            rgba(45, 115, 190, 0.15),
            transparent 35%),
        radial-gradient(circle at 10% 70%,
            rgba(20, 90, 180, 0.12),
            transparent 30%),
        #020611;
}


.stars {
    position: absolute;

    inset: 0;

    opacity: 0.7;

    background-image:
        radial-gradient(white 1px,
            transparent 1px);

    background-size:
        45px 45px;

    animation:
        starMove 80s linear infinite;
}


.stars-two {
    opacity: 0.35;

    background-size:
        80px 80px;

    animation-duration:
        130s;
}


@keyframes starMove {

    from {
        transform:
            translateY(0);
    }

    to {
        transform:
            translateY(-250px);
    }

}


/* =====================================
   BACKGROUND ORBITS
===================================== */

.bg-orbit {
    position: absolute;

    border-radius: 50%;

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


.orbit-one {
    width: 900px;
    height: 400px;

    top: 20%;
    left: -200px;

    transform:
        rotate(-25deg);
}


.orbit-two {
    width: 700px;
    height: 300px;

    right: -250px;
    bottom: 10%;

    transform:
        rotate(30deg);
}


/* =====================================
   GLOWS
===================================== */

.bg-glow {
    position: absolute;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    filter:
        blur(130px);

    opacity: 0.15;
}


.glow-one {
    top: 10%;
    right: -200px;

    background:
        #1784ff;
}


.glow-two {
    bottom: -250px;
    left: -200px;

    background:
        #0077ff;
}


/* =====================================
   HEADER
===================================== */

.inquiry-header {
    width: 100%;

    padding: 20px 0;

    border-bottom:
        1px solid rgba(130, 200, 255, 0.12);

    background:
        rgba(2, 8, 20, 0.70);

    backdrop-filter:
        blur(18px);
}


.header-container {
    width:
        min(1180px, calc(100% - 40px));

    margin: auto;

    display: flex;

    align-items: center;
    justify-content: space-between;
}


.brand-logo {
    display: flex;

    align-items: center;

    gap: 10px;

    color: white;

    text-decoration: none;
}


.logo-mark {
    width: 38px;
    height: 38px;

    display: grid;

    place-items: center;

    font-size: 18px;

    font-weight: 900;

    color: #8bd7ff;

    border:
        1px solid rgba(120, 205, 255, 0.5);

    border-radius: 50%;
}


.logo-text {
    font-size: 18px;

    font-weight: 500;

    letter-spacing: 1px;
}


.logo-text strong {
    font-weight: 900;

    color:
        #8bd7ff;
}


.back-home-btn {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    min-height: 42px;

    padding:
        0 16px;

    color:
        rgba(230, 242, 255, 0.85);

    text-decoration: none;

    font-size: 12px;

    font-weight: 800;

    border:
        1px solid rgba(130, 205, 255, 0.25);

    transition:
        0.3s ease;
}


.back-home-btn:hover {
    color: white;

    border-color:
        rgba(120, 210, 255, 0.65);

    box-shadow:
        0 0 18px rgba(60, 170, 255, 0.18);
}


/* =====================================
   MAIN
===================================== */

.inquiry-main {
    padding:
        90px 0 100px;
}


.inquiry-container {
    width:
        min(1180px, calc(100% - 40px));

    margin: auto;
}


/* =====================================
   HEADING
===================================== */

.inquiry-heading {
    max-width: 800px;

    margin:
        0 auto 70px;

    text-align: center;
}


.inquiry-eyebrow {
    display: flex;

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

    gap: 12px;

    margin-bottom:
        20px;

    color:
        #84d7ff;

    font-size:
        11px;

    font-weight:
        900;

    letter-spacing:
        3px;
}


.inquiry-eyebrow span {
    width: 40px;
    height: 1px;

    background:
        linear-gradient(90deg,
            transparent,
            #77d2ff);
}


.inquiry-eyebrow span:last-child {
    background:
        linear-gradient(90deg,
            #77d2ff,
            transparent);
}


.inquiry-heading h1 {
    font-size:
        clamp(42px, 6vw, 76px);

    line-height:
        1.05;

    letter-spacing:
        -2px;

    font-weight:
        900;
}


.inquiry-heading h1 span {
    display: block;

    color:
        #83d7ff;
}


.inquiry-heading p {
    margin-top:
        25px;

    color:
        rgba(220, 235, 250, 0.60);

    font-size:
        15px;

    line-height:
        1.9;
}


/* =====================================
   GRID
===================================== */

.inquiry-grid {
    display: grid;

    grid-template-columns:
        0.85fr 1.15fr;

    gap:
        28px;

    align-items:
        stretch;
}


/* =====================================
   LEFT INFORMATION
===================================== */

.inquiry-info {
    padding:
        38px;

    background:
        linear-gradient(145deg,
            rgba(10, 30, 55, 0.82),
            rgba(3, 12, 25, 0.9));

    border:
        1px solid rgba(120, 205, 255, 0.16);

    backdrop-filter:
        blur(18px);
}


.info-small-title {
    color:
        rgba(130, 210, 255, 0.65);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        2px;
}


.info-top h2 {
    margin-top:
        14px;

    font-size:
        clamp(28px, 3vw, 42px);

    line-height:
        1.15;

    font-weight:
        900;
}


.info-top h2 span {
    color:
        #82d6ff;
}


/* =====================================
   VERTICAL OPTIONS
===================================== */

.vertical-options {
    margin-top:
        35px;

    display: flex;

    flex-direction:
        column;

    gap:
        12px;
}


.vertical-option {
    width: 100%;

    display: flex;

    align-items: center;

    gap:
        14px;

    padding:
        16px;

    color:
        white;

    text-align:
        left;

    cursor:
        pointer;

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

    border:
        1px solid rgba(120, 190, 240, 0.12);

    transition:
        0.3s ease;
}


.vertical-option:hover,
.vertical-option.active {
    transform:
        translateX(5px);

    border-color:
        rgba(100, 205, 255, 0.45);

    background:
        rgba(70, 160, 255, 0.08);

    box-shadow:
        0 8px 25px rgba(20, 110, 220, 0.10);
}


.vertical-icon {
    width: 42px;
    height: 42px;

    flex-shrink:
        0;

    display: grid;

    place-items:
        center;

    color:
        #82d7ff;

    background:
        rgba(70, 170, 255, 0.08);

    border:
        1px solid rgba(110, 205, 255, 0.16);
}


.vertical-content {
    flex:
        1;
}


.vertical-content strong {
    display: block;

    font-size:
        13px;

    font-weight:
        900;
}


.vertical-content small {
    display: block;

    margin-top:
        4px;

    color:
        rgba(220, 235, 250, 0.50);

    font-size:
        10px;
}


.option-arrow {
    color:
        rgba(150, 210, 255, 0.45);

    font-size:
        12px;
}


/* =====================================
   QUICK CONTACT
===================================== */

.quick-contact {
    margin-top:
        35px;

    padding-top:
        25px;

    border-top:
        1px solid rgba(130, 200, 255, 0.12);
}


.quick-contact p {
    margin-bottom:
        14px;

    color:
        rgba(220, 235, 250, 0.55);

    font-size:
        12px;
}


.quick-contact-buttons {
    display: flex;

    gap:
        10px;
}


.quick-contact-btn {
    flex:
        1;

    min-height:
        45px;

    display: flex;

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

    gap:
        8px;

    color:
        rgba(235, 245, 255, 0.85);

    text-decoration:
        none;

    font-size:
        11px;

    font-weight:
        800;

    border:
        1px solid rgba(130, 200, 255, 0.18);

    transition:
        0.3s ease;
}


.quick-contact-btn:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(110, 210, 255, 0.5);

    color:
        white;
}


/* =====================================
   FORM CARD
===================================== */

.inquiry-form-card {
    position:
        relative;

    padding:
        45px;

    background:
        linear-gradient(145deg,
            rgba(12, 30, 52, 0.90),
            rgba(3, 11, 23, 0.96));

    border:
        1px solid rgba(120, 205, 255, 0.22);

    box-shadow:
        0 30px 70px rgba(0, 0, 0, 0.25);
}


.form-heading span {
    color:
        #82d7ff;

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        2px;
}


.form-heading h2 {
    margin-top:
        12px;

    font-size:
        30px;

    font-weight:
        900;
}


.form-heading p {
    margin-top:
        10px;

    color:
        rgba(220, 235, 250, 0.55);

    font-size:
        12px;

    line-height:
        1.7;
}


/* =====================================
   FORM GRID
===================================== */

.form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:
        20px;

    margin-top:
        35px;
}


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


.form-group label {
    display: block;

    margin-bottom:
        8px;

    color:
        rgba(220, 235, 250, 0.72);

    font-size:
        11px;

    font-weight:
        800;
}


/* =====================================
   INPUTS
===================================== */

.input-wrap {
    position:
        relative;
}


.input-wrap i {
    position:
        absolute;

    top:
        50%;

    left:
        15px;

    transform:
        translateY(-50%);

    color:
        rgba(130, 205, 255, 0.55);

    font-size:
        13px;
}


.input-wrap input {
    width:
        100%;

    height:
        52px;

    padding:
        0 15px 0 42px;

    outline:
        none;

    color:
        white;

    font-size:
        12px;

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

    border:
        1px solid rgba(130, 200, 255, 0.14);

    transition:
        0.3s ease;
}


.input-wrap input:focus,
.select-wrap select:focus,
textarea:focus {
    border-color:
        rgba(110, 205, 255, 0.65);

    background:
        rgba(50, 130, 220, 0.06);

    box-shadow:
        0 0 18px rgba(50, 150, 255, 0.08);
}


.input-wrap input::placeholder,
textarea::placeholder {
    color:
        rgba(220, 235, 250, 0.28);
}


/* =====================================
   SELECT
===================================== */

.select-wrap select {
    width:
        100%;

    height:
        52px;

    padding:
        0 14px;

    outline:
        none;

    cursor:
        pointer;

    color:
        rgba(235, 245, 255, 0.8);

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

    border:
        1px solid rgba(130, 200, 255, 0.14);
}


/* =====================================
   TEXTAREA
===================================== */

textarea {
    width:
        100%;

    padding:
        15px;

    resize:
        vertical;

    outline:
        none;

    color:
        white;

    font-family:
        inherit;

    font-size:
        12px;

    line-height:
        1.7;

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

    border:
        1px solid rgba(130, 200, 255, 0.14);

    transition:
        0.3s ease;
}


/* =====================================
   CONSENT
===================================== */

.consent-check {
    display: flex;

    align-items:
        flex-start;

    gap:
        10px;

    margin-top:
        25px;

    cursor:
        pointer;

    color:
        rgba(220, 235, 250, 0.48);

    font-size:
        10px;

    line-height:
        1.6;
}


.consent-check input {
    margin-top:
        2px;

    accent-color:
        #61c8ff;
}


/* =====================================
   SUBMIT BUTTON
===================================== */

.submit-inquiry-btn {
    width:
        100%;

    min-height:
        58px;

    margin-top:
        25px;

    display: flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    cursor:
        pointer;

    color:
        white;

    font-size:
        13px;

    font-weight:
        900;

    background:
        linear-gradient(135deg,
            #0d5f9e,
            #092e55);

    border:
        1px solid rgba(110, 210, 255, 0.7);

    box-shadow:
        0 0 25px rgba(50, 150, 255, 0.16);

    transition:
        0.35s ease;
}


.submit-inquiry-btn:hover {
    transform:
        translateY(-3px);

    box-shadow:
        0 15px 35px rgba(20, 100, 200, 0.30),
        0 0 30px rgba(80, 190, 255, 0.25);
}


.submit-inquiry-btn i {
    transition:
        transform 0.3s ease;
}


.submit-inquiry-btn:hover i {
    transform:
        translateX(6px);
}


/* =====================================
   SUCCESS MESSAGE
===================================== */

.success-message {
    display:
        none;

    min-height:
        450px;

    align-items:
        center;

    justify-content:
        center;

    flex-direction:
        column;

    text-align:
        center;
}


.success-message.active {
    display:
        flex;
}


.success-icon {
    width:
        75px;

    height:
        75px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        20px;

    color:
        #8fe0ff;

    font-size:
        28px;

    border-radius:
        50%;

    border:
        1px solid rgba(110, 210, 255, 0.5);

    box-shadow:
        0 0 35px rgba(60, 180, 255, 0.20);
}


.success-message h3 {
    font-size:
        32px;
}


.success-message p {
    max-width:
        360px;

    margin-top:
        12px;

    color:
        rgba(220, 235, 250, 0.58);

    font-size:
        13px;

    line-height:
        1.8;
}


.success-message button {
    min-height:
        48px;

    margin-top:
        25px;

    padding:
        0 22px;

    cursor:
        pointer;

    color:
        white;

    font-weight:
        800;

    background:
        transparent;

    border:
        1px solid rgba(120, 205, 255, 0.35);
}


/* =====================================
   FOOTER
===================================== */

.inquiry-footer {
    width:
        min(1180px, calc(100% - 40px));

    margin:
        0 auto;

    padding:
        25px 0;

    display: flex;

    justify-content:
        space-between;

    gap:
        20px;

    color:
        rgba(220, 235, 250, 0.35);

    font-size:
        10px;

    border-top:
        1px solid rgba(130, 200, 255, 0.10);
}


/* =====================================
   SCROLL REVEAL
===================================== */

.reveal-item {
    opacity:
        0;

    transform:
        translateY(35px);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}


.reveal-item.active {
    opacity:
        1;

    transform:
        translateY(0);
}


/* =====================================
   TABLET
===================================== */

@media (max-width: 950px) {

    .inquiry-grid {
        grid-template-columns:
            1fr;
    }


    .inquiry-info {
        padding:
            35px;
    }

}


/* =====================================
   MOBILE
===================================== */

@media (max-width: 600px) {

    .header-container,
    .inquiry-container,
    .inquiry-footer {
        width:
            calc(100% - 30px);
    }


    .inquiry-header {
        padding:
            15px 0;
    }


    .logo-text {
        font-size:
            14px;
    }


    .logo-mark {
        width:
            34px;

        height:
            34px;
    }


    .back-home-btn {
        font-size:
            0;

        width:
            40px;

        padding:
            0;

        justify-content:
            center;
    }


    .back-home-btn i {
        font-size:
            12px;
    }


    .inquiry-main {
        padding:
            60px 0;
    }


    .inquiry-heading {
        margin-bottom:
            50px;
    }


    .inquiry-heading h1 {
        letter-spacing:
            -1px;
    }


    .inquiry-heading p {
        font-size:
            13px;
    }


    .inquiry-info,
    .inquiry-form-card {
        padding:
            25px 18px;
    }


    .form-grid {
        grid-template-columns:
            1fr;
    }


    .form-full {
        grid-column:
            auto;
    }


    .quick-contact-buttons {
        flex-direction:
            column;
    }


    .inquiry-footer {
        flex-direction:
            column;

        align-items:
            center;

        text-align:
            center;
    }

}