/*
 * Secure I.T. U.P.
 * Production Visual System V5
 *
 * Canonical shared UP hero
 * Image-space network animation
 * Compact navigation
 * Consistent white content surfaces
 */

:root {
    --situp-navy: #041321;
    --situp-navy-deep: #020d17;
    --situp-ink: #10283f;
    --situp-muted: #5d7084;

    --situp-green: #50f378;
    --situp-green-deep: #23bf52;

    --situp-blue: #45b9ff;

    --situp-header-height: 46px;

    --situp-content-width: 1160px;
}

/* ======================================================
   BASE
   ====================================================== */

html {
    scroll-padding-top: var(--situp-header-height);
}

body {
    margin: 0;

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

    font-size: 15px;
    line-height: 1.55;

    color: var(--situp-ink);

    background: #fff;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font-family:
        Helvetica,
        "Helvetica Neue",
        Arial,
        sans-serif;
}

/* ======================================================
   PERSISTENT IMAGE / NETWORK STAGE
   ====================================================== */

#situp-production-stage {
    position: fixed;
    inset: var(--situp-header-height) 0 0 0;

    z-index: 0;

    overflow: hidden;

    pointer-events: none;

    background:
        #03111e
        url("/assets/img/up-network-hero.png")
        center center / cover
        no-repeat;
}

#situp-production-stage::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(1, 11, 20, .92) 0%,
            rgba(1, 13, 23, .81) 23%,
            rgba(2, 18, 31, .46) 49%,
            rgba(2, 16, 28, .12) 75%,
            rgba(2, 12, 22, .05) 100%
        );
}

#situp-production-stage::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 3;

    background:
        linear-gradient(
            180deg,
            rgba(2, 12, 22, .09),
            transparent 48%,
            rgba(2, 12, 22, .14)
        );
}

#situp-production-network {
    position: absolute;
    inset: 0;

    z-index: 2;

    width: 100%;
    height: 100%;

    pointer-events: none;
}

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

.site-header,
.situp-header-v4,
.situp-production-header {
    position: sticky !important;

    top: 0;

    z-index: 1000 !important;

    min-height:
        var(--situp-header-height) !important;

    height:
        var(--situp-header-height) !important;

    padding: 0 !important;

    background:
        rgba(2, 14, 25, .78) !important;

    border-bottom:
        1px solid rgba(189, 222, 239, .18) !important;

    box-shadow: none !important;

    backdrop-filter:
        blur(14px)
        saturate(145%);

    -webkit-backdrop-filter:
        blur(14px)
        saturate(145%);
}

.situp-header-shell {
    width:
        min(
            1320px,
            calc(100% - 34px)
        );

    height:
        var(--situp-header-height);

    margin: 0 auto;

    display: flex;
    align-items: center;

    gap: 20px;
}

/* ======================================================
   WORDMARK
   ====================================================== */

.situp-brand-v4 {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    flex: 0 0 auto;

    color: #fff;

    text-decoration: none !important;
}

.situp-logo-v4 {
    width: 31px !important;
    height: 25px !important;

    display: block;
}

.situp-brand-name {
    font-size: 13.5px !important;
    line-height: 1;

    font-weight: 850;

    letter-spacing: .026em;

    white-space: nowrap;

    color: #fff;
}

.situp-brand-name .accent {
    color: var(--situp-green);
}

/* ======================================================
   NAV
   ====================================================== */

.situp-nav-v4 {
    height:
        var(--situp-header-height);

    margin-left: auto;

    display: flex;
    align-items: stretch;

    gap: 3px;
}

.situp-nav-v4 > a,
.situp-nav-parent {
    height:
        var(--situp-header-height);

    display: inline-flex;
    align-items: center;

    padding: 0 9px;

    color:
        rgba(248, 252, 255, .90);

    background:
        transparent;

    border: 0;

    text-decoration: none;

    font-size: 11.5px !important;
    line-height: 1;

    font-weight: 650;

    cursor: pointer;

    transition:
        color .14s ease,
        background .14s ease;
}

.situp-nav-v4 > a:hover,
.situp-nav-parent:hover,
.situp-nav-group:hover > .situp-nav-parent {
    color: #fff;

    background:
        rgba(255,255,255,.035);
}

.situp-nav-arrow {
    margin-left: 6px;

    font-size: 9px;

    opacity: .7;
}

.situp-nav-group {
    position: relative;

    display: flex;
    align-items: stretch;
}

.situp-nav-menu {
    position: absolute;

    top: calc(100% - 1px);
    left: 0;

    min-width: 205px;

    padding: 7px;

    border:
        1px solid rgba(189,222,239,.15);

    border-radius:
        0 0 8px 8px;

    background:
        rgba(3,16,28,.97);

    box-shadow:
        0 16px 42px rgba(0,0,0,.28);

    opacity: 0;
    visibility: hidden;

    transform:
        translateY(-3px);

    transition:
        opacity .13s ease,
        visibility .13s ease,
        transform .13s ease;
}

.situp-nav-group:hover
.situp-nav-menu,
.situp-nav-group:focus-within
.situp-nav-menu {
    opacity: 1;
    visibility: visible;

    transform:
        translateY(0);
}

.situp-nav-menu a {
    display: block;

    padding: 8px 9px;

    border-radius: 5px;

    color:
        rgba(248,252,255,.88);

    font-size: 11.5px;

    font-weight: 600;

    text-decoration: none;
}

.situp-nav-menu a:hover {
    color: #fff;

    background:
        rgba(80,243,120,.09);
}

.situp-header-contact {
    height: 32px;
    min-height: 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    padding: 0 16px;

    border:
        1.3px solid
        var(--situp-green);

    border-radius: 999px;

    color: #fff;

    background:
        rgba(3,17,30,.18);

    text-decoration: none;

    font-size: 11.5px;
    font-weight: 750;

    transition:
        background .14s ease,
        color .14s ease;
}

.situp-header-contact:hover {
    background:
        var(--situp-green);

    color:
        #04131f;
}

.situp-menu-toggle {
    display: none;
}

/* ======================================================
   HEROES
   ====================================================== */

main {
    position: relative;

    z-index: 5;

    background:
        transparent;
}

.hero,
.subhero {
    position: relative !important;

    z-index: 5;

    overflow: hidden !important;

    isolation: isolate;

    background:
        transparent !important;
}

.hero {
    min-height:
        clamp(
            500px,
            66vh,
            690px
        );
}

.subhero {
    min-height:
        clamp(
            300px,
            42vh,
            420px
        );
}

/*
 * Remove every old hero image layer.
 */
.hero-media,
.subhero-media {
    display: none !important;
}

/*
 * Kill old decorative hero graphics.
 */
.situp-attractor,
#strange-attractor,
.hero-network-canvas,
#situp-voronoi {
    display: none !important;
}

/*
 * Disable old generated grid systems.
 */
.hero::after,
.subhero::after {
    background-image:
        none !important;

    mask-image:
        none !important;

    -webkit-mask-image:
        none !important;
}

/*
 * Readability wash only.
 */
.hero::before,
.subhero::before,
.subhero-gov::before,
.subhero-vendor::before,
.subhero-cyber::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    background:
        linear-gradient(
            90deg,
            rgba(2,12,22,.61) 0%,
            rgba(2,12,22,.32) 44%,
            rgba(2,12,22,.05) 78%
        ) !important;

    pointer-events: none;
}

.hero-shell,
.subhero-shell {
    position: relative;

    z-index: 2;

    width:
        min(
            var(--situp-content-width),
            calc(100% - 44px)
        );

    margin:
        0 auto;
}

/* ======================================================
   HERO TYPOGRAPHY
   ====================================================== */

.hero h1,
.subhero h1 {
    font-family:
        Helvetica,
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-weight:
        850;

    letter-spacing:
        -.042em;

    line-height:
        .98;
}

.hero h1 {
    font-size:
        clamp(
            48px,
            5.15vw,
            78px
        );
}

.subhero h1 {
    font-size:
        clamp(
            38px,
            4vw,
            62px
        );
}

.hero p,
.subhero p {
    font-size:
        clamp(
            15px,
            1.1vw,
            18px
        );

    line-height:
        1.55;
}

/* ======================================================
   CONTENT SURFACES
   ====================================================== */

/*
 * Important:
 * The animated hero exists underneath the entire viewport,
 * but every non-hero section fully covers it.
 */

main > section:not(.hero):not(.subhero) {
    position: relative;

    z-index: 10;

    width: 100%;

    background:
        #ffffff !important;

    color:
        var(--situp-ink) !important;
}

main > section:not(.hero):not(.subhero)
> * {
    position: relative;
}

/*
 * Prevent accidental translucent lower sections.
 */
main > section:not(.hero):not(.subhero)::before,
main > section:not(.hero):not(.subhero)::after {
    opacity: 0 !important;
    pointer-events: none;
}

main > section:not(.hero):not(.subhero)
h1,
main > section:not(.hero):not(.subhero)
h2,
main > section:not(.hero):not(.subhero)
h3,
main > section:not(.hero):not(.subhero)
h4 {
    color:
        #0c2136 !important;

    letter-spacing:
        -.025em;

    line-height:
        1.12;
}

main > section:not(.hero):not(.subhero)
h2 {
    font-size:
        clamp(
            27px,
            2.7vw,
            39px
        );
}

main > section:not(.hero):not(.subhero)
h3 {
    font-size:
        clamp(
            19px,
            1.8vw,
            25px
        );
}

main > section:not(.hero):not(.subhero)
p,
main > section:not(.hero):not(.subhero)
li {
    color:
        var(--situp-muted);

    font-size:
        14.5px;

    line-height:
        1.58;
}

main > section:not(.hero):not(.subhero)
.section-kicker,
main > section:not(.hero):not(.subhero)
.eyebrow,
main > section:not(.hero):not(.subhero)
.kicker {
    color:
        #16aa45 !important;

    font-size:
        11px !important;

    font-weight:
        850;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}

/*
 * Alternate only with an extremely subtle neutral surface,
 * never transparency.
 */
main > section:nth-of-type(even):not(.hero):not(.subhero) {
    background:
        #f7f9fb !important;
}

/*
 * Cards.
 */
.card,
.service-card,
.feature-card,
.step-card,
.split-card,
.situp-contact-panel {
    background:
        #fff !important;

    border-color:
        rgba(16,40,63,.11) !important;

    box-shadow:
        0 9px 28px
        rgba(7,29,48,.055);
}

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

.site-footer {
    position: relative;

    z-index: 20;

    background:
        #03111e !important;
}

/* ======================================================
   SOFT NAVIGATION
   ====================================================== */

main {
    transition:
        opacity .14s ease;
}

html.situp-nav-loading
main {
    opacity: 0;
}

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

@media (max-width: 920px) {

    :root {
        --situp-header-height:
            46px;
    }

    .situp-header-shell {
        width:
            calc(100% - 24px);
    }

    .situp-brand-name {
        font-size:
            12.5px !important;
    }

    .situp-menu-toggle {
        display: grid;

        place-items: center;

        margin-left: auto;

        width: 32px;
        height: 32px;

        padding: 0;

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

        border-radius:
            6px;

        background:
            transparent;

        color:
            #fff;

        font-size:
            17px;
    }

    .situp-header-contact {
        display:
            none;
    }

    .situp-nav-v4 {
        position: absolute;

        top:
            var(--situp-header-height);

        left: 0;
        right: 0;

        display:
            none;

        height: auto;

        padding:
            8px 12px 14px;

        flex-direction:
            column;

        background:
            rgba(2,14,25,.985);

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

    .situp-header-v4.menu-open
    .situp-nav-v4 {
        display:
            flex;
    }

    .situp-nav-v4 > a,
    .situp-nav-parent {
        width: 100%;

        height: auto;

        box-sizing: border-box;

        padding:
            10px 8px;

        justify-content:
            space-between;
    }

    .situp-nav-group {
        display: block;
    }

    .situp-nav-menu {
        position: static;

        display: block;

        min-width: 0;

        padding:
            0 0 5px 12px;

        border: 0;

        background:
            transparent;

        box-shadow:
            none;

        opacity: 1;
        visibility: visible;

        transform: none;
    }

    .hero {
        min-height:
            540px;
    }

    .subhero {
        min-height:
            315px;
    }

    .hero-shell,
    .subhero-shell {
        width:
            calc(100% - 30px);
    }
}

@media (
    prefers-reduced-motion:
    reduce
) {
    main {
        transition:
            none;
    }
}

/* ======================================================
   DROPDOWN ACTIVE STATE: GREEN CHECK
   ====================================================== */

.situp-nav-menu a.active,
.situp-nav-menu a[aria-current="page"] {
    position: relative !important;
    padding-left: 27px !important;

    color: #ffffff !important;

    text-decoration: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Kill inherited green strike / underline */
.situp-nav-menu a.active::after,
.situp-nav-menu a[aria-current="page"]::after {
    content: none !important;
    display: none !important;
}

/* Active-page check */
.situp-nav-menu a.active::before,
.situp-nav-menu a[aria-current="page"]::before {
    content: "✓";

    position: absolute;
    left: 9px;
    top: 50%;

    transform: translateY(-50%);

    color: #50f378;

    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}


/* SITUP CONSOLIDATED UI V5.5 START */

/*
 * ======================================================
 * SINGLE AUTHORITATIVE UI OVERRIDE
 * ======================================================
 */

:root {

    --situp-glass:
        rgba(3, 17, 30, .86);

    --situp-glass-border:
        rgba(210, 235, 248, .14);

    --situp-green:
        #50f378;

    --situp-content:
        1160px;

    --situp-nav-font:
        Aptos,
        "Segoe UI Variable Text",
        "Segoe UI Variable",
        "Segoe UI",
        system-ui,
        sans-serif;
}


/*
 * ======================================================
 * NAV SURFACES
 *
 * Header and dropdown are literally identical.
 * ======================================================
 */

.site-header,
.situp-header-v4,
.situp-production-header,
.situp-nav-menu {

    background-color:
        var(--situp-glass) !important;

    background-image:
        none !important;

    border-color:
        var(--situp-glass-border) !important;

    backdrop-filter:
        blur(16px)
        saturate(135%) !important;

    -webkit-backdrop-filter:
        blur(16px)
        saturate(135%) !important;
}


.site-header,
.situp-header-v4,
.situp-production-header {

    box-shadow:
        none !important;
}


/*
 * ======================================================
 * NAV GEOMETRY
 *
 * Every top-level item uses one exact box model.
 * ======================================================
 */

.situp-nav-v4 {

    display:
        flex !important;

    align-items:
        stretch !important;

    height:
        var(--situp-header-height) !important;

    gap:
        1px !important;
}


.situp-nav-group {

    position:
        relative !important;

    display:
        flex !important;

    align-items:
        stretch !important;

    height:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


.situp-nav-v4 > a,
.situp-nav-parent {

    position:
        relative !important;

    box-sizing:
        border-box !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    align-self:
        stretch !important;

    height:
        100% !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    padding:
        0 12px !important;

    top:
        auto !important;

    bottom:
        auto !important;

    transform:
        none !important;

    font-family:
        var(--situp-nav-font) !important;

    font-size:
        12px !important;

    font-style:
        normal !important;

    font-weight:
        600 !important;

    letter-spacing:
        -.01em !important;

    line-height:
        1 !important;

    vertical-align:
        middle !important;

    white-space:
        nowrap !important;

    color:
        rgba(250,253,255,.93) !important;

    text-decoration:
        none !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;
}


/*
 * ======================================================
 * CHEVRON
 *
 * No Unicode caret. No font dependency.
 * ======================================================
 */

.situp-nav-arrow {

    display:
        none !important;
}


.situp-nav-parent {

    padding-right:
        28px !important;
}


.situp-nav-parent::after {

    content:
        "" !important;

    position:
        absolute !important;

    display:
        block !important;

    right:
        11px !important;

    top:
        50% !important;

    width:
        5px !important;

    height:
        5px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    border-right:
        1.3px solid
        rgba(255,255,255,.68) !important;

    border-bottom:
        1.3px solid
        rgba(255,255,255,.68) !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    transform:
        translateY(-65%)
        rotate(45deg) !important;

    transform-origin:
        center !important;

    pointer-events:
        none !important;

    transition:
        transform .13s ease,
        border-color .13s ease !important;
}


.situp-nav-group:hover
.situp-nav-parent::after,
.situp-nav-group:focus-within
.situp-nav-parent::after {

    border-color:
        var(--situp-green) !important;

    transform:
        translateY(-35%)
        rotate(225deg) !important;
}


/*
 * ======================================================
 * DESTROY EVERY OLD ACTIVE LINE / UNDERLINE / STRIKE
 * ======================================================
 */

.situp-nav-v4 a,
.situp-nav-menu a,
.situp-nav-v4 a.active,
.situp-nav-v4 a[aria-current="page"],
.situp-nav-menu a.active,
.situp-nav-menu a[aria-current="page"] {

    text-decoration:
        none !important;

    border-bottom:
        0 !important;

    box-shadow:
        none !important;

    background-image:
        none !important;
}


/*
 * Plain top-level links get no ::after active bar.
 *
 * Dropdown parents retain ::after only for the chevron.
 */

.situp-nav-v4 > a::after,
.situp-nav-v4 > a.active::after,
.situp-nav-v4 > a[aria-current="page"]::after {

    content:
        none !important;

    display:
        none !important;
}


.situp-nav-menu a::after,
.situp-nav-menu a.active::after,
.situp-nav-menu a[aria-current="page"]::after {

    content:
        none !important;

    display:
        none !important;
}


/*
 * ======================================================
 * GREEN CHECK SYSTEM
 * ======================================================
 */

/*
 * Top-level direct current page.
 */

.situp-nav-v4 > a.active,
.situp-nav-v4 > a[aria-current="page"] {

    padding-left:
        29px !important;

    color:
        #fff !important;
}


.situp-nav-v4 > a.active::before,
.situp-nav-v4 > a[aria-current="page"]::before {

    content:
        "✓" !important;

    position:
        absolute !important;

    left:
        11px !important;

    top:
        50% !important;

    display:
        block !important;

    transform:
        translateY(-50%) !important;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        var(--situp-green) !important;

    background:
        transparent !important;

    border:
        0 !important;

    font-family:
        var(--situp-nav-font) !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;

    line-height:
        1 !important;

    box-shadow:
        none !important;
}


/*
 * Dropdown parent owns a current child.
 */

.situp-nav-group.has-active-child
> .situp-nav-parent {

    padding-left:
        29px !important;

    color:
        #fff !important;
}


.situp-nav-group.has-active-child
> .situp-nav-parent::before {

    content:
        "✓" !important;

    position:
        absolute !important;

    left:
        11px !important;

    top:
        50% !important;

    display:
        block !important;

    transform:
        translateY(-50%) !important;

    color:
        var(--situp-green) !important;

    font-family:
        var(--situp-nav-font) !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;

    line-height:
        1 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


/*
 * Current dropdown item.
 */

.situp-nav-menu a.active,
.situp-nav-menu a[aria-current="page"] {

    position:
        relative !important;

    padding-left:
        29px !important;

    color:
        #fff !important;
}


.situp-nav-menu a.active::before,
.situp-nav-menu a[aria-current="page"]::before {

    content:
        "✓" !important;

    position:
        absolute !important;

    left:
        10px !important;

    top:
        50% !important;

    display:
        block !important;

    transform:
        translateY(-50%) !important;

    color:
        var(--situp-green) !important;

    font-family:
        var(--situp-nav-font) !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;

    line-height:
        1 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


/*
 * Contact is also part of the nav interaction.
 */

.situp-header-contact.is-current {

    position:
        relative !important;

    padding-left:
        31px !important;
}


.situp-header-contact.is-current::before {

    content:
        "✓";

    position:
        absolute;

    left:
        12px;

    top:
        50%;

    transform:
        translateY(-50%);

    color:
        var(--situp-green);

    font-family:
        var(--situp-nav-font);

    font-weight:
        800;

    line-height:
        1;
}


/*
 * ======================================================
 * DROPDOWN
 * ======================================================
 */

.situp-nav-menu {

    padding:
        7px !important;

    border:
        1px solid
        var(--situp-glass-border) !important;

    border-radius:
        0 0 9px 9px !important;

    box-shadow:
        0 14px 34px
        rgba(0,0,0,.20) !important;
}


.situp-nav-menu a {

    position:
        relative !important;

    box-sizing:
        border-box !important;

    display:
        flex !important;

    align-items:
        center !important;

    min-height:
        34px !important;

    margin:
        0 !important;

    padding:
        0 10px !important;

    color:
        rgba(250,253,255,.90) !important;

    font-family:
        var(--situp-nav-font) !important;

    font-size:
        12px !important;

    font-weight:
        500 !important;

    letter-spacing:
        -.005em !important;

    line-height:
        1 !important;

    text-decoration:
        none !important;
}


.situp-nav-menu a.active,
.situp-nav-menu a[aria-current="page"] {

    padding-left:
        29px !important;
}


.situp-nav-menu a:hover {

    color:
        #fff !important;

    background:
        rgba(80,243,120,.075) !important;
}


/*
 * ======================================================
 * CONTENT LAYOUT RESET
 *
 * This replaces both V5.1 and V5.3 behavior.
 *
 * Each section itself is the centered white surface.
 * No pseudo-elements, no negative z-index, no translated
 * content, no full-width white bands.
 * ======================================================
 */

main {

    background:
        transparent !important;
}


main > section:not(.hero):not(.subhero) {

    position:
        relative !important;

    isolation:
        auto !important;

    box-sizing:
        border-box !important;

    width:
        min(
            var(--situp-content),
            calc(100% - 40px)
        ) !important;

    max-width:
        var(--situp-content) !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;

    overflow:
        visible !important;

    background:
        #ffffff !important;

    background-color:
        #ffffff !important;

    color:
        #10283f !important;

    opacity:
        1 !important;

    transform:
        none !important;
}


/*
 * Absolutely no generated background surface.
 */

main > section:not(.hero):not(.subhero)::before,
main > section:not(.hero):not(.subhero)::after {

    content:
        none !important;

    display:
        none !important;
}


/*
 * Undo widths/transforms inherited by inner wrappers.
 */

main > section:not(.hero):not(.subhero)
> .shell,

main > section:not(.hero):not(.subhero)
> .container,

main > section:not(.hero):not(.subhero)
> .section-shell,

main > section:not(.hero):not(.subhero)
> .content-shell {

    position:
        relative !important;

    left:
        auto !important;

    right:
        auto !important;

    top:
        auto !important;

    width:
        100% !important;

    max-width:
        100% !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;

    transform:
        none !important;

    box-sizing:
        border-box !important;
}


/*
 * Direct children likewise cannot inherit the broken
 * translated geometry from V5.3.
 */

main > section:not(.hero):not(.subhero)
> * {

    left:
        auto !important;

    right:
        auto !important;

    transform:
        none !important;
}


/*
 * Consistent white surfaces.
 *
 * No alternating gray slabs for now. Clean and predictable.
 */

main > section:nth-of-type(even):not(.hero):not(.subhero),
main > section:nth-of-type(odd):not(.hero):not(.subhero) {

    background:
        #ffffff !important;
}


/*
 * Narrow view of the UP background between content panels.
 */

main > section:not(.hero):not(.subhero)
+ section:not(.hero):not(.subhero) {

    margin-top:
        14px !important;
}


.hero
+ section:not(.hero):not(.subhero),

.subhero
+ section:not(.hero):not(.subhero) {

    margin-top:
        0 !important;
}


main > section:not(.hero):not(.subhero):last-child {

    margin-bottom:
        14px !important;
}


/*
 * Remove full-width page-wrapper backgrounds.
 */

.site-main,
.page-main,
.page-content,
.main-content {

    background:
        transparent !important;
}


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

@media (max-width: 760px) {

    main > section:not(.hero):not(.subhero) {

        width:
            calc(100% - 18px) !important;
    }
}


/* SITUP CONSOLIDATED UI V5.5 END */



/* SITUP STABLE GLASS V5.8 START */

:root {

    /*
     * This is now a MATERIAL rather than a transparent
     * window onto whatever happens to be underneath.
     */

    --situp-glass-base:
        rgba(5, 18, 29, .88);

    --situp-glass-line:
        rgba(188, 225, 240, .13);

    --situp-glass-highlight:
        rgba(255,255,255,.055);

    --situp-glass-green:
        rgba(80,243,120,.035);

    --situp-glass-blue:
        rgba(78,164,220,.028);
}


/* =====================================================
   REMOVE DEPENDENCE ON BACKDROP CONTENT
   ===================================================== */

.site-header,
.situp-header-v4,
.situp-production-header,
.situp-nav-menu {

    /*
     * Layer 1:
     * subtle top highlight

     * Layer 2:
     * restrained RRSW/SITUP green-blue spectral tint

     * Layer 3:
     * smoky dark material
     */

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.045) 0%,
            rgba(255,255,255,.012) 38%,
            rgba(0,0,0,.025) 100%
        ),

        linear-gradient(
            90deg,
            var(--situp-glass-green) 0%,
            rgba(80,243,120,.012) 38%,
            var(--situp-glass-blue) 100%
        ),

        var(--situp-glass-base)

        !important;


    background-color:
        var(--situp-glass-base) !important;


    /*
     * Backdrop blur is now enhancement only.
     * The material no longer relies on it to look correct.
     */

    backdrop-filter:
        blur(12px)
        saturate(115%) !important;

    -webkit-backdrop-filter:
        blur(12px)
        saturate(115%) !important;


    border-color:
        var(--situp-glass-line) !important;
}


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

.site-header,
.situp-header-v4,
.situp-production-header {

    border-top:
        0 !important;

    border-left:
        0 !important;

    border-right:
        0 !important;

    border-bottom:
        1px solid
        var(--situp-glass-line) !important;


    box-shadow:

        inset 0 1px 0
        var(--situp-glass-highlight),

        0 1px 0
        rgba(80,243,120,.035),

        0 7px 21px
        rgba(0,0,0,.10)

        !important;
}


/*
 * Header internals remain transparent.
 */

.situp-header-shell,
.situp-nav-v4,
.situp-nav-group,
.situp-nav-parent {

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;
}


/*
 * Prevent old pseudo layers from changing the material
 * depending on scroll position.
 */

.site-header::before,
.site-header::after,

.situp-header-v4::before,
.situp-header-v4::after,

.situp-production-header::before,
.situp-production-header::after {

    content:
        none !important;

    display:
        none !important;
}


/* =====================================================
   DROPDOWNS USE THE EXACT SAME MATERIAL
   ===================================================== */

.situp-nav-menu {

    border:
        1px solid
        var(--situp-glass-line) !important;

    border-top:
        0 !important;


    box-shadow:

        inset 0 1px 0
        rgba(255,255,255,.025),

        0 18px 34px
        rgba(0,0,0,.27)

        !important;
}


/* =====================================================
   NAV INTERACTION STAYS SUBTLE
   ===================================================== */

.situp-nav-v4 > a:hover,
.situp-nav-parent:hover,
.situp-nav-group:hover > .situp-nav-parent {

    background:
        rgba(255,255,255,.032) !important;
}


.situp-nav-menu a:hover {

    background:
        rgba(80,243,120,.065) !important;
}


/* SITUP STABLE GLASS V5.8 END */

