/* =========================================================
   GLOBAL SCIENCE TECH
   Approved Inner Page Visual System
   ========================================================= */

:root {
    --gst-navy: #061a32;
    --gst-navy-2: #0b2a50;
    --gst-blue: #087cff;
    --gst-blue-2: #146ff0;
    --gst-blue-light: #eef6ff;

    --gst-text: #173453;
    --gst-heading: #082f5d;
    --gst-muted: #66809e;

    --gst-border: #e2eaf3;
    --gst-soft: #f5f9fe;
    --gst-white: #ffffff;

    --gst-radius: 16px;
    --gst-container: 1180px;

    --gst-shadow:
        0 16px 45px rgba(10, 42, 78, .08);
}


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

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.main-site {
    margin: 0;
    background: #ffffff;
    color: var(--gst-text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
}

body.main-site img {
    display: block;
    max-width: 100%;
}

body.main-site a {
    -webkit-tap-highlight-color: transparent;
}


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

.main-site .gst-main-nav {
    min-height: 76px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 32px;

    padding:
        0
        max(5%, calc((100% - 1340px) / 2));

    background: #ffffff;

    border-bottom: 1px solid #edf1f6;

    position: relative;
    z-index: 20;
}


.main-site .gst-brand {
    display: flex;
    align-items: center;

    gap: 10px;

    color: #08264a;

    text-decoration: none;

    font-weight: 850;

    line-height: .94;

    letter-spacing: .35px;

    white-space: nowrap;
}


.main-site .gst-brand-mark {
    width: 40px;
    height: 40px;

    border-radius: 50%;

    display: grid;
    place-items: center;

    color: var(--gst-blue);

    border: 2px solid var(--gst-blue);

    font-size: 19px;
}


.main-site .gst-nav-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 27px;
}


.main-site .gst-nav-links a {
    color: #132f50;

    text-decoration: none;

    font-size: 14px;

    font-weight: 650;

    transition:
        color .18s ease,
        transform .18s ease;
}


.main-site .gst-nav-links a:hover,
.main-site .gst-nav-links a.active {
    color: var(--gst-blue);
}


.main-site .gst-nav-links a:hover {
    transform: translateY(-1px);
}


.main-site .gst-search {
    font-size: 21px !important;

    color: var(--gst-blue) !important;

    line-height: 1;
}


/* =========================================================
   INNER PAGE HERO
   ========================================================= */

.main-site .gst-page-hero {
    min-height: 400px;

    display: flex;
    align-items: center;

    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 78% 28%,
            rgba(36, 130, 255, .15),
            transparent 27%
        ),

        radial-gradient(
            circle at 95% 100%,
            rgba(15, 91, 174, .18),
            transparent 32%
        ),

        linear-gradient(
            112deg,
            #04182f 0%,
            #092544 58%,
            #0e3156 100%
        );
}


.main-site .gst-page-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    opacity: .38;

    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size: 70px 70px;

    mask-image:
        linear-gradient(
            to right,
            transparent,
            black 25%,
            black 80%,
            transparent
        );
}


.main-site .gst-page-hero::after {
    content: "";

    position: absolute;

    left: -5%;
    right: -5%;
    bottom: -120px;

    height: 240px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(12,122,255,.13),
            transparent 65%
        );

    pointer-events: none;
}


.main-site .gst-page-hero-inner {
    width: min(
        var(--gst-container),
        90%
    );

    margin: 0 auto;

    position: relative;

    z-index: 2;

    padding: 92px 0 82px;
}


.main-site .gst-page-hero h1 {
    color: #ffffff;

    font-size: clamp(
        44px,
        5vw,
        68px
    );

    line-height: 1.02;

    letter-spacing: -2.4px;

    margin: 10px 0 20px;

    font-weight: 850;

    max-width: 850px;
}


.main-site .gst-page-hero p {
    color: #e7f1ff;

    font-size: 18px;

    line-height: 1.72;

    max-width: 800px;

    margin: 0;
}


.main-site .gst-eyebrow,
.main-site .gst-kicker {
    color: #1c8cff;

    font-size: 12px;

    font-weight: 850;

    letter-spacing: 2px;

    text-transform: uppercase;
}


.main-site .gst-eyebrow {
    margin-bottom: 4px;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.main-site .gst-section {
    width: min(
        var(--gst-container),
        90%
    );

    margin: 0 auto;

    padding: 88px 0;
}


.main-site .gst-section-light {
    width: 100%;

    background: var(--gst-soft);
}


.main-site .gst-section-inner {
    width: min(
        var(--gst-container),
        90%
    );

    margin: 0 auto;
}


.main-site .gst-section h2 {
    color: var(--gst-heading);

    font-size: clamp(
        32px,
        3.5vw,
        44px
    );

    line-height: 1.12;

    letter-spacing: -1.2px;

    margin: 10px 0 16px;

    font-weight: 850;
}


.main-site .gst-lead {
    color: var(--gst-muted);

    font-size: 17px;

    line-height: 1.78;

    max-width: 820px;
}


.main-site .gst-section-head {
    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 24px;

    margin-bottom: 34px;
}


.main-site .gst-section-head p {
    margin-bottom: 0;
}


.main-site .gst-view-all {
    color: var(--gst-blue);

    font-weight: 750;

    text-decoration: none;

    white-space: nowrap;
}


/* =========================================================
   CONTENT / PANELS
   ========================================================= */

.main-site .gst-content-grid {
    display: grid;

    grid-template-columns:
        1.25fr
        .85fr;

    gap: 64px;

    align-items: start;
}


.main-site .gst-panel {
    background: #ffffff;

    border: 1px solid var(--gst-border);

    border-radius: var(--gst-radius);

    padding: 32px;

    box-shadow: var(--gst-shadow);
}


.main-site .gst-panel h3 {
    color: var(--gst-heading);

    margin: 0 0 12px;

    font-size: 25px;

    line-height: 1.2;
}


.main-site .gst-panel h3:not(:first-child) {
    margin-top: 26px;
}


.main-site .gst-panel p {
    color: var(--gst-muted);

    line-height: 1.75;
}


.main-site .gst-page-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 22px;

    margin-top: 30px;
}


.main-site .gst-page-grid .gst-panel {
    height: 100%;
}


/* =========================================================
   CONFERENCE CARDS
   ========================================================= */

.main-site .gst-conference-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 24px;
}


.main-site .gst-conference-card,
.main-site .gst-news-card {
    background: #ffffff;

    border: 1px solid var(--gst-border);

    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 10px 30px
        rgba(17,42,74,.06);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.main-site .gst-conference-card:hover,
.main-site .gst-news-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 20px 44px
        rgba(17,42,74,.11);
}


.main-site .gst-conference-card img,
.main-site .gst-news-card img,
.main-site .gst-conference-placeholder {
    width: 100%;

    height: 235px;

    object-fit: cover;
}


.main-site .gst-conference-placeholder {
    display: grid;

    place-items: center;

    color: #ffffff;

    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #082c57 0%,
            #0a55ae 58%,
            #087cff 100%
        );
}


.main-site .gst-conference-placeholder::before {
    content: "◎";

    font-size: 54px;

    font-weight: 300;

    opacity: .85;
}


.main-site .gst-conference-placeholder::after {
    content: "GLOBAL SCIENCE TECH";

    position: absolute;

    bottom: 20px;
    left: 24px;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;

    opacity: .72;
}


.main-site .gst-card-body,
.main-site .gst-news-body {
    padding: 25px 25px 27px;
}


.main-site .gst-card-body h3,
.main-site .gst-news-body h3 {
    margin: 0 0 14px;

    color: var(--gst-heading);

    font-size: 21px;

    line-height: 1.3;
}


.main-site .gst-card-meta {
    color: #66778e;

    font-size: 14px;

    margin: 8px 0;
}


.main-site .gst-card-link,
.main-site .gst-read-more {
    display: inline-block;

    margin-top: 12px;

    color: var(--gst-blue);

    font-weight: 750;

    text-decoration: none;
}


/* =========================================================
   GALLERY
   ========================================================= */

.main-site .gst-gallery-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 18px;
}


.main-site .gst-gallery-card {
    overflow: hidden;

    border-radius: 15px;

    background: #ffffff;

    border: 1px solid var(--gst-border);

    box-shadow:
        0 8px 24px
        rgba(17,42,74,.05);
}


.main-site .gst-gallery-card img {
    width: 100%;

    height: 235px;

    object-fit: cover;

    transition:
        transform .3s ease;
}


.main-site .gst-gallery-card:hover img {
    transform: scale(1.045);
}


/* =========================================================
   NEWS
   ========================================================= */

.main-site .gst-news-body p {
    color: var(--gst-muted);

    line-height: 1.7;

    margin: 0;
}


.main-site .gst-card-date {
    color: var(--gst-blue);

    font-size: 13px;

    font-weight: 750;

    margin-bottom: 8px;

    letter-spacing: .2px;
}


.main-site .gst-news-card {
    height: 100%;
}


.main-site .gst-news-card:not(:has(img))
.gst-news-body {
    padding-top: 30px;
}


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

.main-site .gst-info-list {
    display: grid;

    gap: 13px;

    margin-top: 26px;
}


.main-site .gst-info-item {
    padding: 19px 20px;

    background: #f7faff;

    border-radius: 11px;

    border: 1px solid #e8eef6;

    color: #5f728a;

    line-height: 1.6;
}


.main-site .gst-info-item strong {
    display: block;

    color: var(--gst-heading);

    margin-bottom: 4px;
}


.main-site .gst-form {
    display: grid;

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

    gap: 15px;
}


.main-site .gst-form input,
.main-site .gst-form textarea {
    width: 100%;

    padding: 14px 15px;

    border:
        1px solid
        #dbe4ef;

    border-radius: 9px;

    font: inherit;

    color: var(--gst-text);

    background: #ffffff;

    outline: none;
}


.main-site .gst-form input:focus,
.main-site .gst-form textarea:focus {
    border-color: #79b5ff;

    box-shadow:
        0 0 0 3px
        rgba(11,115,255,.1);
}


.main-site .gst-form textarea {
    min-height: 155px;

    resize: vertical;

    grid-column: 1 / -1;
}


.main-site .gst-form button {
    border: 0;

    cursor: pointer;

    width: max-content;
}


.main-site .gst-btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 13px 22px;

    border-radius: 8px;

    text-decoration: none;

    font-weight: 750;

    font-size: 14px;
}


.main-site .gst-btn-primary {
    background: var(--gst-blue);

    color: #ffffff;

    box-shadow:
        0 8px 18px
        rgba(8,124,255,.18);
}


.main-site .gst-btn-primary:hover {
    background: #0868e8;
}


.main-site .gst-form-message {
    padding: 13px 15px;

    border-radius: 9px;

    margin-bottom: 18px;

    font-size: 14px;

    font-weight: 650;
}


.main-site .gst-success {
    color: #087443;

    background: #ecfdf3;

    border: 1px solid #b7ebcc;
}


.main-site .gst-error {
    color: #b42318;

    background: #fff1f0;

    border: 1px solid #f3c3be;
}


/* =========================================================
   EMPTY STATES
   ========================================================= */

.main-site .gst-empty {
    grid-column: 1 / -1;

    border: 1px solid var(--gst-border);

    border-radius: 16px;

    padding: 52px 34px;

    color: #66809e;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fbff
        );

    text-align: center;

    box-shadow:
        0 10px 28px
        rgba(17,42,74,.045);

    position: relative;

    overflow: hidden;
}


.main-site .gst-empty-icon {
    width: 52px;
    height: 52px;

    margin: 0 auto 17px;

    border-radius: 15px;

    display: grid;
    place-items: center;

    color: var(--gst-blue);

    background: var(--gst-blue-light);

    border: 1px solid #d8eaff;

    font-size: 22px;
}


.main-site .gst-empty h3 {
    margin: 0 0 9px;

    color: var(--gst-heading);

    font-size: 22px;
}


.main-site .gst-empty p {
    max-width: 650px;

    margin: 0 auto;

    color: var(--gst-muted);

    line-height: 1.7;
}


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

.main-site .gst-footer {
    background: var(--gst-navy);

    color: #dbeafe;

    padding: 58px 5% 64px;

    margin-top: 20px;
}


.main-site .gst-footer-grid {
    width: min(
        var(--gst-container),
        90%
    );

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        2fr
        1fr
        1fr;

    gap: 46px;
}


.main-site .gst-footer strong {
    color: #ffffff;

    font-size: 15px;

    letter-spacing: .1px;
}


.main-site .gst-footer a {
    display: block;

    color: #c7d8ed;

    text-decoration: none;

    margin: 10px 0;

    font-size: 14px;
}


.main-site .gst-footer a:hover {
    color: #ffffff;
}


.main-site .gst-footer p {
    color: #a8bdd5;

    line-height: 1.65;

    margin: 10px 0 0;
}


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

@media (max-width: 980px) {

    .main-site .gst-nav-links {
        gap: 17px;
    }


    .main-site .gst-content-grid {
        grid-template-columns: 1fr;

        gap: 34px;
    }


    .main-site .gst-conference-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .main-site .gst-page-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .main-site .gst-gallery-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .main-site .gst-footer-grid {
        grid-template-columns:
            1fr
            1fr;
    }

}


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

@media (max-width: 760px) {

    .main-site .gst-main-nav {
        min-height: 70px;

        padding: 0 20px;
    }


    .main-site
    .gst-nav-links
    a:not(.gst-search) {
        display: none;
    }


    .main-site .gst-page-hero {
        min-height: 390px;
    }


    .main-site .gst-page-hero-inner {
        padding: 80px 0 65px;
    }


    .main-site .gst-page-hero h1 {
        font-size: 46px;

        letter-spacing: -1.5px;
    }


    .main-site .gst-page-hero p {
        font-size: 16px;
    }


    .main-site .gst-section {
        padding: 65px 0;
    }


    .main-site .gst-section-head {
        align-items: flex-start;

        flex-direction: column;
    }


    .main-site .gst-conference-grid,
    .main-site .gst-page-grid {
        grid-template-columns: 1fr;
    }


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


    .main-site .gst-form textarea {
        grid-column: auto;
    }


    .main-site .gst-footer-grid {
        grid-template-columns: 1fr;
    }

}


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

@media (max-width: 520px) {

    .main-site .gst-gallery-grid {
        grid-template-columns:
            1fr 1fr;
    }


    .main-site .gst-brand {
        font-size: 13px;
    }


    .main-site .gst-brand-mark {
        width: 36px;

        height: 36px;
    }


    .main-site .gst-page-hero h1 {
        font-size: 40px;
    }


    .main-site .gst-page-hero p {
        font-size: 15px;
    }

}