/* Critical styles to keep first paint aligned with final layout and reduce CLS */
        #header {
            height: 10em;
            position: relative;
        }

        #logo {
            position: absolute;
            left: 0;
            top: 0;
            background-color: #fff;
            padding: .7em .7em .7em .55em;
        }

            #logo a {
                display: block;
                text-decoration: none;
            }

            #logo img {
                width: 360px;
                max-width: 100%;
                height: auto;
                display: block;
            }

        #nav {
            overflow: hidden;
            position: absolute;
            right: 1em;
            bottom: 0;
        }

            #nav ul {
                margin: 0;
                padding: 0;
                list-style: none;
            }

            #nav > ul > li {
                display: block;
                float: left;
                margin: 0 0 0 1em;
                height: 4em;
                line-height: 4em;
            }

            #nav a, #nav span {
                display: block;
                padding: 0 .75em;
                text-decoration: none;
                text-transform: uppercase;
                font-weight: 700;
                border-top: 6px solid transparent;
            }

        @media (min-width: 1000px) and (max-width: 1199px), (max-width: 999px) and (hover: hover) and (pointer: fine) {
            body.homepage #nav {
                overflow: visible;
                z-index: 1001;
            }

            body.homepage #nav a,
            body.homepage #nav span {
                font-size: 0.9em;
            }
        }

        @media (min-width: 1000px) {
            #mobileUI-site-titlebar,
            #mobileUI-site-nav,
            #mobileUI-site-nav-opener {
                display: none !important;
                visibility: hidden !important;
                opacity: 0 !important;
                pointer-events: none !important;
            }
        }

        @media (min-width: 1200px) {
            body.homepage #nav {
                overflow: visible;
                z-index: 1001;
            }

            body.homepage #nav a,
            body.homepage #nav span {
                font-size: 0.95em;
            }
        }

        @media (min-width: 1000px) {
            body[class*="sidebar"] #nav,
            body.homepage #nav,
            body.bg-light #nav {
                overflow: visible;
                z-index: 1001;
            }

            body[class*="sidebar"] #nav > ul > li,
            body.homepage #nav > ul > li,
            body.bg-light #nav > ul > li {
                position: relative;
            }

            /* Shared desktop fallback when JS dropdown setup does not take over cleanly */
            body[class*="sidebar"] #nav > ul > li > ul,
            body.homepage #nav > ul > li > ul,
            body.bg-light #nav > ul > li > ul {
                display: none;
                position: absolute;
                left: 0;
                top: calc(100% - 2px);
                min-width: 13.5em;
                margin: 0;
                padding: 1.35em 0;
                background: #007ACC;
                box-shadow: 0 4px 8px rgba(0,0,0,0.15);
                z-index: 1000;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li,
            body.homepage #nav > ul > li > ul > li,
            body.bg-light #nav > ul > li > ul > li {
                display: block;
                float: none;
                margin: 0;
                height: auto;
                line-height: 1.5;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li > a,
            body[class*="sidebar"] #nav > ul > li > ul > li > span,
            body.homepage #nav > ul > li > ul > li > a,
            body.homepage #nav > ul > li > ul > li > span,
            body.bg-light #nav > ul > li > ul > li > a,
            body.bg-light #nav > ul > li > ul > li > span {
                display: block;
                border-top: 0 !important;
                color: #fff;
                opacity: .75;
                text-transform: none;
                padding: 0 1.5em;
                line-height: 2em;
                border-bottom: solid 1px #a2cce6;
                white-space: nowrap;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li:last-child > a,
            body[class*="sidebar"] #nav > ul > li > ul > li:last-child > span,
            body.homepage #nav > ul > li > ul > li:last-child > a,
            body.homepage #nav > ul > li > ul > li:last-child > span,
            body.bg-light #nav > ul > li > ul > li:last-child > a,
            body.bg-light #nav > ul > li > ul > li:last-child > span {
                border-bottom: 0;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li:hover > a,
            body[class*="sidebar"] #nav > ul > li > ul > li:hover > span,
            body.homepage #nav > ul > li > ul > li:hover > a,
            body.homepage #nav > ul > li > ul > li:hover > span,
            body.bg-light #nav > ul > li > ul > li:hover > a,
            body.bg-light #nav > ul > li > ul > li:hover > span {
                opacity: 1;
            }

            body[class*="sidebar"] #nav > ul > li:hover > ul,
            body[class*="sidebar"] #nav > ul > li:focus-within > ul,
            body.homepage #nav > ul > li:hover > ul,
            body.homepage #nav > ul > li:focus-within > ul,
            body.bg-light #nav > ul > li:hover > ul,
            body.bg-light #nav > ul > li:focus-within > ul {
                display: block;
            }
        }

        ul, ol {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        p, ul, ol, dl, table {
            margin-bottom: 1.75em;
        }

            ul.style1 li {
                position: relative;
                margin-top: 1.1em;
                line-height: 1.75em;
                padding-left: 32px;
            }

                ul.style1 li:first-child {
                    margin-top: 0;
                }

        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
            min-height: 48px;
            padding: 0 1.1em;
            border: 8px solid #fff;
            border-radius: 9999px;
            box-sizing: border-box;
            text-decoration: none;
        }

        /* Shared content typography profile across responsive breakpoints */
        body[class*="sidebar"] #content {
            font-size: 11pt;
        }

        body[class*="sidebar"] #content h2 {
            font-size: 2.5em !important;
            letter-spacing: -0.02em;
        }

        body[class*="sidebar"] #content .byline {
            padding-top: 0.3em;
            font-size: 1.5em;
        }

        @media (min-width: 1000px) and (max-width: 1199px), (max-width: 999px) and (hover: hover) and (pointer: fine) {
            body[class*="sidebar"] #content {
                font-size: 9.5pt;
            }
        }

        @media (max-width: 999px) and (hover: none), (max-width: 999px) and (pointer: coarse) {
            body[class*="sidebar"] #content {
                font-size: 10.5pt;
            }

            body[class*="sidebar"] #content h2 {
                font-size: 1.5em !important;
                letter-spacing: 0;
            }

            body[class*="sidebar"] #content .byline {
                padding-top: 0;
                font-size: 1em;
            }
        }

        /* Homepage desktop CLS guard: reserve wrapper spacing and grid columns
           before the full 5grid and page styles finish applying. */
        @media (min-width: 1000px) and (hover: hover) and (pointer: fine) {
            body.homepage #main-wrapper,
            body.homepage .wrapper-featured {
                padding: 5em 0;
            }

            body.homepage #main-wrapper,
            body.homepage .wrapper-style1 {
                overflow: hidden;
            }

            body.homepage #main-wrapper {
                background: #f6f6f6 url(images/bg01.png);
                box-shadow: inset 0 20px 30px -8px rgba(0, 0, 0, .05), inset 0 -20px 30px -8px rgba(0, 0, 0, .05);
            }

            body.homepage .wrapper-style1 {
                background: #FFFFFF;
            }

            body.homepage #main-wrapper [class~="5grid-layout"],
            body.homepage .wrapper-style1 [class~="5grid-layout"] {
                width: 1000px !important;
                max-width: calc(100% - 1.5rem);
                margin: 0 auto;
            }

            body.homepage .wrapper-featured header {
                margin-bottom: 2em;
            }

            body.homepage .wrapper-featured h2 {
                font-size: 1.5em;
                font-weight: 700;
                color: #515151;
            }

            body.homepage .wrapper-featured .title-medium {
                font-size: 2em;
                letter-spacing: -0.02em;
            }

            body.homepage .wrapper-featured .byline {
                display: block;
                margin-bottom: 1.5em;
                font-size: 1.5em;
                line-height: 1.5em;
            }

            body.homepage .home-feature-row:after,
            body.homepage .home-case-studies-row:after,
            body.homepage .home-mixed-row:after,
            body.homepage #main > .row:after {
                content: '';
                display: block;
                clear: both;
            }

            body.homepage .home-feature-row > [class~="3u"],
            body.homepage .home-case-studies-row > [class~="3u"],
            body.homepage .home-mixed-row > [class~="3u"] {
                float: left;
                width: 23.5%;
                margin: 1% 0 1% 2%;
                box-sizing: border-box;
            }

            body.homepage .home-feature-row > [class~="3u"]:first-child,
            body.homepage .home-case-studies-row > [class~="3u"]:first-child,
            body.homepage .home-mixed-row > [class~="3u"]:first-child {
                margin-left: 0;
            }

            body.homepage .home-mixed-row > [class~="6u"],
            body.homepage #main > .row > [class~="6u"] {
                float: left;
                width: 49%;
                margin: 1% 0 1% 2%;
                box-sizing: border-box;
            }

            body.homepage .home-mixed-row > [class~="6u"]:first-child,
            body.homepage #main > .row > [class~="6u"]:first-child {
                margin-left: 0;
            }

            body.homepage .home-feature-row > [class~="3u"] > section,
            body.homepage .home-case-studies-row > [class~="3u"] > section,
            body.homepage .home-mixed-row > [class~="3u"] > section,
            body.homepage .home-mixed-row > [class~="6u"] > section {
                width: 100%;
            }

            body.homepage .home-case-studies-row img {
                display: block;
                max-width: 100%;
                height: auto;
            }
        }

        @media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
            body.homepage #main-wrapper [class~="5grid-layout"],
            body.homepage .wrapper-style1 [class~="5grid-layout"] {
                width: min(calc(100% - 1.5rem), 70rem) !important;
                max-width: 70rem;
            }
        }

        @media (hover: hover) and (pointer: fine) {
            #main .row:after {
                content: '';
                display: block;
                clear: both;
            }

            body.left-sidebar #main #sidebar,
            body.left-sidebar #main #content,
            body.right-sidebar #main #sidebar,
            body.right-sidebar #main #content {
                float: left;
            }

            body.left-sidebar #main #sidebar,
            body.right-sidebar #main #sidebar {
                width: 23.5%;
            }

            body.left-sidebar #main #content {
                width: 74.5%;
                margin-left: 2%;
            }

            body.right-sidebar #main #content {
                width: 74.5%;
                margin-right: 2%;
            }
        }

        /* Sidebar spacing tweak for mid desktop widths */
        @media (min-width: 1000px) and (max-width: 1199px) {
            body.left-sidebar #main #sidebar,
            body.right-sidebar #main #sidebar {
                width: 25.2%;
            }

            body.left-sidebar #main #content {
                width: 74.5%;
                margin-left: 0.3%;
            }

            body.right-sidebar #main #content {
                width: 74.5%;
                margin-right: 0.3%;
            }

            #mobile-nav-toggle {
                display: none !important;
                visibility: hidden !important;
                opacity: 0 !important;
                pointer-events: none !important;
            }
        }

        @media (min-width: 1200px) {
            #mobile-nav-toggle {
                display: none !important;
                visibility: hidden !important;
                opacity: 0 !important;
                pointer-events: none !important;
            }
        }

        /* Mobile CLS guard: keep layout stable until full mobile stylesheet applies */
        @media (max-width: 999px) {
            #mobile-nav-toggle {
                display: none;
                margin: .35em auto .45em;
                min-height: 40px;
                border-width: 4px;
                padding: 0 .9em;
                font-size: .8rem;
            }

            body[class*="sidebar"],
            body.homepage,
            body.bg-light {
                min-width: 0 !important;
            }

            body[class*="sidebar"] #header-wrapper [class~="5grid-layout"],
            body[class*="sidebar"] #banner-wrapper [class~="5grid-layout"],
            body.homepage #header-wrapper [class~="5grid-layout"],
            body.homepage #banner-wrapper [class~="5grid-layout"],
            body.bg-light #header-wrapper [class~="5grid-layout"],
            body.bg-light #banner-wrapper [class~="5grid-layout"] {
                width: 100% !important;
                margin: 0 !important;
            }

            body[class*="sidebar"] #header-wrapper .row > [class~="12u"],
            body[class*="sidebar"] #banner-wrapper .row > [class~="12u"],
            body.homepage #header-wrapper .row > [class~="12u"],
            body.homepage #banner-wrapper .row > [class~="12u"],
            body.bg-light #header-wrapper .row > [class~="12u"] {
                width: 100% !important;
                margin: 0 !important;
            }

            body.bg-light #banner-wrapper .row > [class~="12u"] {
                width: 100% !important;
                margin: 0 !important;
            }

            body[class*="sidebar"] #mobileUI-site-titlebar,
            body[class*="sidebar"] #mobileUI-site-nav,
            body[class*="sidebar"] #mobileUI-site-nav-opener,
            body.homepage #mobileUI-site-titlebar,
            body.homepage #mobileUI-site-nav,
            body.homepage #mobileUI-site-nav-opener,
            body.bg-light #mobileUI-site-titlebar,
            body.bg-light #mobileUI-site-nav,
            body.bg-light #mobileUI-site-nav-opener {
                display: none !important;
            }

            body[class*="sidebar"] #mobileUI-site-content,
            body.homepage #mobileUI-site-content,
            body.bg-light #mobileUI-site-content {
                padding-top: 0 !important;
            }

            body[class*="sidebar"] #header-wrapper,
            body.homepage #header-wrapper,
            body.bg-light #header-wrapper {
                background: #FFFFFF !important;
            }

            body[class*="sidebar"] #header,
            body.homepage #header,
            body.bg-light #header {
                display: block !important;
                height: auto;
                min-height: 0;
                padding-top: 0 !important;
                text-align: center;
            }

            body[class*="sidebar"] #logo,
            body[class*="sidebar"] #nav,
            body.homepage #logo,
            body.homepage #nav,
            body.bg-light #logo,
            body.bg-light #nav {
                position: static !important;
            }

            body[class*="sidebar"] #logo,
            body.homepage #logo,
            body.bg-light #logo {
                padding: .5em .5em .25em;
                text-align: center;
            }

            body[class*="sidebar"] #logo img,
            body.homepage #logo img,
            body.bg-light #logo img {
                width: 220px !important;
                max-width: 90%;
                margin: 0 auto;
            }

            body[class*="sidebar"] #nav,
            body.homepage #nav,
            body.bg-light #nav {
                display: block !important;
                overflow: visible !important;
                right: auto !important;
                bottom: auto !important;
                text-align: center;
                width: 100%;
                clear: both;
            }

            body[class*="sidebar"] #nav > ul,
            body.homepage #nav > ul,
            body.bg-light #nav > ul {
                display: block;
            }

            body[class*="sidebar"] #nav > ul > li,
            body.homepage #nav > ul > li,
            body.bg-light #nav > ul > li {
                float: none !important;
                margin: 0;
                height: auto;
                line-height: 1.3;
            }

            body[class*="sidebar"] #nav a,
            body[class*="sidebar"] #nav span,
            body.homepage #nav a,
            body.homepage #nav span,
            body.bg-light #nav a,
            body.bg-light #nav span {
                border-top: 0 !important;
                padding: .55em .75em;
                font-size: .85rem;
            }

            body[class*="sidebar"] #sidebar {
                display: none;
            }

            body[class*="sidebar"] #content {
                width: 100% !important;
                margin-left: 0 !important;
                float: none !important;
            }

            body[class*="sidebar"] #content > article.box-style {
                margin-right: 30px !important;
            }
        }

        @media (max-width: 679px), (max-width: 999px) and (hover: none), (max-width: 999px) and (pointer: coarse) {
            #mobile-nav-toggle {
                display: inline-flex !important;
            }

            body[class*="sidebar"] #nav,
            body.homepage #nav,
            body.bg-light #nav {
                display: none !important;
            }

            #mobile-nav-toggle + #nav {
                display: none !important;
            }

            #mobile-nav-toggle[aria-expanded="true"] + #nav {
                display: block !important;
            }

            #header.mobile-nav-open #nav {
                display: block !important;
            }

            #mobile-nav-toggle[aria-expanded="true"] + #nav > ul,
            #header.mobile-nav-open #nav > ul,
            #mobile-nav-toggle[aria-expanded="true"] + #nav ul > li > ul,
            #header.mobile-nav-open #nav ul > li > ul {
                display: block !important;
            }

            #mobile-nav-toggle[aria-expanded="true"] + #nav > ul > li,
            #header.mobile-nav-open #nav > ul > li,
            #mobile-nav-toggle[aria-expanded="true"] + #nav ul > li > ul > li,
            #header.mobile-nav-open #nav ul > li > ul > li {
                display: block !important;
                float: none !important;
                clear: both !important;
                width: 100% !important;
                margin: 0 !important;
                height: auto !important;
            }

            body[class*="sidebar"] #nav,
            body.homepage #nav,
            body.bg-light #nav {
                width: calc(100% - 1rem) !important;
                margin: .35em auto .55em !important;
                text-align: left !important;
                overflow: hidden !important;
            }

            body[class*="sidebar"] #nav > ul,
            body.homepage #nav > ul,
            body.bg-light #nav > ul {
                margin: 0 !important;
                padding: 0 !important;
            }

            body[class*="sidebar"] #nav > ul > li,
            body.homepage #nav > ul > li,
            body.bg-light #nav > ul > li {
                display: block !important;
                float: none !important;
                margin: 0 !important;
                height: auto !important;
                line-height: 1.2 !important;
            }

            body[class*="sidebar"] #nav > ul > li > a,
            body[class*="sidebar"] #nav > ul > li > span,
            body.homepage #nav > ul > li > a,
            body.homepage #nav > ul > li > span,
            body.bg-light #nav > ul > li > a,
            body.bg-light #nav > ul > li > span {
                display: block !important;
                line-height: 44px !important;
                padding: 0 1em !important;
            }

            body[class*="sidebar"] #nav ul > li > ul,
            body.homepage #nav ul > li > ul,
            body.bg-light #nav ul > li > ul {
                display: block !important;
                position: static !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            body[class*="sidebar"] #nav .dropotron,
            body.homepage #nav .dropotron,
            body.bg-light #nav .dropotron {
                display: block !important;
                position: static !important;
                left: auto !important;
                top: auto !important;
                opacity: 1 !important;
            }
        }

        @media (max-width: 679px) and (hover: hover) and (pointer: fine), (max-width: 999px) and (hover: none), (max-width: 999px) and (pointer: coarse) {
            body[class*="sidebar"] #header,
            body.homepage #header,
            body.bg-light #header {
                position: relative !important;
                text-align: left !important;
            }

            body[class*="sidebar"] #logo,
            body.homepage #logo,
            body.bg-light #logo {
                text-align: left !important;
                padding-right: 6.5em !important;
            }

            body[class*="sidebar"] #mobile-nav-toggle,
            body.homepage #mobile-nav-toggle,
            body.bg-light #mobile-nav-toggle {
                position: absolute !important;
                top: .55em !important;
                right: .55em !important;
                margin: 0 !important;
                z-index: 20;
            }
        }

        @media (min-width: 680px) and (max-width: 999px) and (hover: hover) and (pointer: fine) {
            body[class*="sidebar"] #main #content {
                width: 100% !important;
                max-width: 800px;
                margin-left: auto !important;
                margin-right: auto !important;
                float: none !important;
            }

            #mobile-nav-toggle {
                display: none !important;
            }

            body[class*="sidebar"] #nav,
            body.homepage #nav,
            body.bg-light #nav {
                display: block !important;
            }

            body[class*="sidebar"] #nav > ul > li,
            body.homepage #nav > ul > li,
            body.bg-light #nav > ul > li {
                display: inline-block;
                margin: 0 0 0 1em;
                position: relative;
                height: 4em;
                line-height: 4em;
            }

            body[class*="sidebar"] #nav > ul > li:first-child,
            body.homepage #nav > ul > li:first-child,
            body.bg-light #nav > ul > li:first-child {
                margin-left: 0;
            }

            body[class*="sidebar"] #nav > ul > li > a,
            body[class*="sidebar"] #nav > ul > li > span,
            body.homepage #nav > ul > li > a,
            body.homepage #nav > ul > li > span,
            body.bg-light #nav > ul > li > a,
            body.bg-light #nav > ul > li > span {
                display: block;
                color: #cacaca !important;
                text-transform: uppercase;
                font-weight: 700;
                font-size: .9em;
                line-height: 4em;
                border-top: 6px solid transparent !important;
                padding: 0 .75em !important;
                white-space: nowrap;
            }

            body[class*="sidebar"] #nav > ul > li > span,
            body.homepage #nav > ul > li > span,
            body.bg-light #nav > ul > li > span {
                cursor: pointer;
            }

            body[class*="sidebar"] #nav > ul > li.current_page_item > a,
            body.homepage #nav > ul > li.current_page_item > a,
            body.bg-light #nav > ul > li.current_page_item > a {
                border-top-color: #007ACC !important;
                color: #272727 !important;
            }

            body[class*="sidebar"] #nav > ul > li:hover > a,
            body[class*="sidebar"] #nav > ul > li:hover > span,
            body.homepage #nav > ul > li:hover > a,
            body.homepage #nav > ul > li:hover > span,
            body.bg-light #nav > ul > li:hover > a,
            body.bg-light #nav > ul > li:hover > span {
                color: #272727 !important;
            }

            /* CSS fallback for desktop-width nav when JS dropdown initialization did not run */
            body[class*="sidebar"] #nav > ul > li > ul,
            body.homepage #nav > ul > li > ul,
            body.bg-light #nav > ul > li > ul {
                display: none;
                position: absolute;
                left: 0;
                top: calc(100% - 2px);
                min-width: 13.5em;
                margin: 0;
                padding: 1.35em 0;
                background: #007ACC;
                box-shadow: 0 4px 8px rgba(0,0,0,0.15);
                z-index: 1000;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li,
            body.homepage #nav > ul > li > ul > li,
            body.bg-light #nav > ul > li > ul > li {
                display: block;
                float: none;
                margin: 0;
                height: auto;
                line-height: 1.5;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li > a,
            body[class*="sidebar"] #nav > ul > li > ul > li > span,
            body.homepage #nav > ul > li > ul > li > a,
            body.homepage #nav > ul > li > ul > li > span,
            body.bg-light #nav > ul > li > ul > li > a,
            body.bg-light #nav > ul > li > ul > li > span {
                display: block;
                border-top: 0 !important;
                color: #fff;
                opacity: .75;
                text-transform: none;
                font-size: .9em;
                padding: 0 1.5em;
                line-height: 2em;
                border-bottom: solid 1px #a2cce6;
                white-space: nowrap;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li:last-child > a,
            body[class*="sidebar"] #nav > ul > li > ul > li:last-child > span,
            body.homepage #nav > ul > li > ul > li:last-child > a,
            body.homepage #nav > ul > li > ul > li:last-child > span,
            body.bg-light #nav > ul > li > ul > li:last-child > a,
            body.bg-light #nav > ul > li > ul > li:last-child > span {
                border-bottom: 0;
            }

            body[class*="sidebar"] #nav > ul > li > ul > li:hover > a,
            body[class*="sidebar"] #nav > ul > li > ul > li:hover > span,
            body.homepage #nav > ul > li > ul > li:hover > a,
            body.homepage #nav > ul > li > ul > li:hover > span,
            body.bg-light #nav > ul > li > ul > li:hover > a,
            body.bg-light #nav > ul > li > ul > li:hover > span {
                opacity: 1;
            }

            body[class*="sidebar"] #nav > ul > li:hover > ul,
            body[class*="sidebar"] #nav > ul > li:focus-within > ul,
            body.homepage #nav > ul > li:hover > ul,
            body.homepage #nav > ul > li:focus-within > ul,
            body.bg-light #nav > ul > li:hover > ul,
            body.bg-light #nav > ul > li:focus-within > ul {
                display: block;
            }
        }


