:root {
    --text-hero-title: calc(2vw + 42px);
    --text-section-title: calc(2vw + 32px);
    --text-h2: 32px;
    --text-subtitle: 28px;
    --text-tile-p: 20px;
    --text-p: 16px;
    --text-eyebrow: 14px;
    --dark-blue-color: #002854;
    --darkest-blue-color: #00123b;
    --accent-blue-color: #00a0fb;
    --accent-blue-light-color: #9dddf9;
    --accent-blue-dark-color: #004766;
    --accent-violet-color: #d030e8;
    --accent-violet-light-color: #e7b4fc;
    --accent-violet-dark-color: #7a1293;
    --accent-green-color: #00eb86;
    --accent-green-light-color: #b6ffde;
    --accent-green-dark-color: #016839;
    --accent-salmon-color: #ff6d69;
    --accent-salmon-light-color: #ffbdbd;
    --accent-salmon-dark-color: #421f1f;
    --accent-gold-color: #ffc600;
    --accent-gold-light-color: #ffdf85;
    --accent-gold-dark-color: #634e12;
    --background-gray-color: #e5e5e5;
    --text-gray-color: #53565a;
    --text-link: #531fff;
    --text-link-hover: #002854;
    --text-link-ondark: #f5f5f5;
    --text-link-ondark-hover: #9dddf9;
}

body.page-body-rebrand .rich-text-rebrand p {
    hyphens: none;
}
.page-body-rebrand .global-footer-rebrand {
    margin-top: 0 !important;
}
/*Hero*/
.homeHero {
    display: flex;
    max-width: 1420px;
    align-items: flex-start;
    gap: 72px;
    align-self: stretch;
    margin: auto;
}
.homeHeroContent {
    display: flex;
    max-width: 860px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    align-self: stretch;
}
.homeHeroContent h1 {
    color: var(--dark-blue-color);
    font-size: var(--text-section-title);
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
}
.homeHeroContent h1 span {
    background: linear-gradient(
        to right,
        var(--accent-blue-color) 20%,
        var(--accent-violet-color) 30%,
        var(--accent-blue-color) 80%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    background-size: 500% auto;
    animation: textShine 5s ease-in-out infinite;
}
@keyframes textShine {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}

.homeHeroContent .homeHeroSubtitle {
    color: var(--dark-blue-color);
    font-size: var(--text-subtitle);
    font-style: normal;
    font-weight: 400;
}

@media screen and (max-width: 1080px) {
    .homeHeroImage {
        display: none;
    }
}
/* Pillars */
#Container-07102c56-908d-4d5d-8a46-a7eb2f65cf2e,
#Container-1ca81ab9-914b-435b-97bb-c5820a1ed024 {
    display: flex;
    min-height: 300px;
    padding: 12vh 0;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    background: var(--darkest-blue-color);
    align-self: stretch;
    margin-top: 0;
}

img.parallaxSwoosh {
    position: absolute;
    z-index: 10;
    max-width: 101vw;
    margin-top: calc(-16vh + 8px);
    margin-left: -2vw;
}

div.pillarMessaging {
    position: relative;
    z-index: 11;
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    max-width: 1488px;
}

div.tap {
    background: #ffffff;
    padding: 16px 40px;
    max-width: calc(30% - 16px);
}

.tap H2 {
    color: var(--dark-blue-color);
    font-size: var(--text-h2);
    font-weight: 500;
}

section.rich-text-rebrand.container.js-rich-text.Default.mg-0 {
    margin-top: 0 !important;
}
div.pillarTiles {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 32px;
    align-items: stretch;
    width: 100%;
    max-width: calc(70% - 16px);
    margin: 0 0;
}

a.pillarTile {
    position: relative;
    background: #ffffff;
    padding: 24px;
    max-width: calc(50% - 16px);
    overflow: hidden;
}

a.pillarTile::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    background: rgb(228, 228, 228);
    background: linear-gradient(90deg, rgba(228, 228, 228, 1) 0%, rgba(250, 250, 250, 1) 100%);
    z-index: 0;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

a.pillarTile:hover::before {
    width: 100%;
}

a.pillarTile > * {
    position: relative;
    z-index: 1;
}

.pillarTile p {
    color: var(--dark-blue-color);
}
.pillarTile p strong {
    color: var(--text-link);
}
.pillarTile:hover p strong {
    color: var(--text-link-hover);
}
body.page-body-rebrand .rich-text-rebrand .pillarTile {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
body.page-body-rebrand .rich-text-rebrand .pillarTile * {
    margin: 0;
}

body.page-body-rebrand .rich-text-rebrand .pillarTile h3 {
    color: var(--dark-blue-color);
    font-size: var(--text-tile-p);
    font-weight: 600;
    text-align: left;
}
.pillarTile h3::before {
    content: "";
    display: block;
    height: 36px;
    width: 36px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 8px;
    float: left;
}

.pillarTile:first-child h3::before {
    background-image: url(/-/media/images/home/2025/apar-icon.svg);
}
.pillarTile:nth-child(2) h3::before {
    background-image: url(/-/media/images/home/2025/dwa-icon.svg);
}
.pillarTile:nth-child(3) h3::before {
    background-image: url(/-/media/images/home/2025/pwa-icon.svg);
}
.pillarTile:nth-child(4) h3::before {
    background-image: url(/-/media/images/home/2025/pdf-esig-icon.svg);
}

/* Analysts */
.analystHighlight {
    display: flex;
    align-items: flex-start;
    flex: auto;
    gap: 32px;
    align-self: stretch;
}
.analystHighlightGraphic {
    max-width: 30%;
}

.analystTiles {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    flex: auto;
    gap: 32px;
    align-self: stretch;
}

.analystReport {
    position: relative;
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-end;
    gap: 32px;
    flex: 4 1 275px;
    align-self: stretch;
    border: 2px solid #ffffff;
    background: var(--dark-blue-color);
    overflow: hidden;
    color: #fff;
    cursor: pointer;
}

/* Gradient overlay */
.analystReport::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    background: var(--darkest-blue-color);
    background: linear-gradient(90deg, rgba(0, 18, 59, 1) 50%, rgba(0, 40, 84, 1) 100%);
    z-index: 0;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

/* On hover, fill the button from left to right */
.analystReport:hover::before {
    width: 100%;
}

/* Ensure button content is above the gradient */
.analystReport > * {
    position: relative;
    z-index: 1;
}

.analystReport p {
    color: #fff;
    font-size: var(--text-tile-p);
    font-style: normal;
    font-weight: 400;
    margin-bottom: 0;
    width: 100%;
}

.analystReport img {
    max-height: 24px;
}

/* Logos */
section.container.container--100 + section.container.container--100 {
    display: flex;
    min-height: 300px;
    max-width: 1536px;
    padding: 64px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    align-self: stretch;
    border-radius: 72px 72px 0 0;
    background: url(/-/media/images/Home/2025/gray-squiggle.svg) #d9d9d9;
    background-position: top;
    background-repeat: repeat-x;
    background-position-x: 0;
    background-size: 80%;
}
.container__col.container__col--100 {
    margin: auto;
}
.logoBox {
    display: flex;
    padding: 0 0 48px;
    max-width: 1420px;
    margin: auto;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 32px;
    align-self: stretch;
    flex-wrap: wrap;
}
.logoBox img {
    max-height: 64px;
    max-width: 160px;
}

/*Resources */
section#Container-194ae077-185f-4c46-acaa-51172e5eeb38,
section#Container-69b4e2ed-4318-42e4-909e-229deafe6ab8 {
    min-height: 400px;
    background: url(/-/media/images/Home/2025/swoosh-primary-blue-up-reverse.svg);
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: top;
}
section#Container-194ae077-185f-4c46-acaa-51172e5eeb38 section.container.container--50-50,
section#Container-69b4e2ed-4318-42e4-909e-229deafe6ab8 section.container.container--50-50 {
    align-items: center;
}

a.resourceTile {
    position: relative; /* Added for ::before positioning */
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    align-self: stretch;
    border: 2px solid #ffffff;
    background: var(--dark-blue-color);
    overflow: hidden; /* Ensures ::before doesn't overflow */
    min-height: 144px;
}

a.resourceTile::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    background: linear-gradient(90deg, rgba(0, 18, 59, 1) 50%, rgba(0, 40, 84, 1) 100%);
    z-index: 0;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

a.resourceTile:hover::before {
    width: 100%;
}

a.resourceTile > * {
    position: relative;
    z-index: 1;
}
.resourceTiles {
    margin-bottom: 16px;
}

.resourceTiles a.resourceTile:first-child {
    border-radius: 0 72px 0 0;
}
.resourceTiles a.resourceTile:last-child {
    border-radius: 0 0 72px 0;
}

.resourceTile p {
    color: #fff !important;
    font-size: var(--text-tile-p);
    font-style: normal;
    font-weight: 400;
    margin-bottom: 0;
}
.resourceTile .category {
    background-color: var(--accent-blue-color);
    display: flex;
    height: 32px;
    padding: 8px;
    align-items: center;
    gap: 8px;
}
.resourceTile .category p {
    font-size: var(--text-eyebrow);
    font-style: normal;
    font-weight: 700;
    margin: 0;
    color: var(--dark-blue-color) !important;
}

.page-body-rebrand .section-header-rebrand .section-header__titles-wrapper {
    width: 90% !important;
    margin: auto;
}
.section-header-rebrand .section-header__title {
    color: var(--darkest-blue-color) !important;
    text-align: center;
    font-size: var(--text-section-title) !important;
    line-height: 110% !important;
    font-style: normal;
    font-weight: 900;
}

.section-header-rebrand .section-header__subtitle {
    color: var(--darkest-blue-color) !important;
    text-align: center !important;
    font-size: var(--text-subtitle) !important;
    font-style: normal;
    font-weight: 400;
    width: 100%;
}
img.resourcesMagnified {
    max-height: 640px;
    height: 100%;
    width: auto;
    margin: auto;
}

body.page-body-rebrand .rich-text-rebrand .analystHighlightText h3.feature {
    color: var(--darkest-blue-color);
    font-size: var(--text-subtitle);
    line-height: 110%;
    font-style: normal;
    font-weight: 500;
    text-align: left;
}
.analystHighlightText p.feature {
    color: var(--darkest-blue-color);
    font-size: var(--text-tile-p);
    font-style: normal;
    font-weight: 400;
}
.rich-text-rebrand p span.nobreak {
    white-space: nowrap;
    font-size: var(--text-tile-p) !important;
}
@media screen and (max-width: 1280px) {
    div.pillarMessaging {
        flex-direction: column;
    }

    div.tap,
    div.pillarTiles {
        max-width: 100%;
    }
    img.parallaxSwoosh {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    a.pillarTile {
        max-width: 100%;
    }
    div.analystHighlight {
        flex-direction: column;
    }
    .analystHighlightGraphic {
        max-width: 100%;
    }
}
@media screen and (max-width: 680px) {
    .resourcesMagnified {
        display: none;
    }
    .resourceTiles a.resourceTile:first-child,
    .resourceTiles a.resourceTile:last-child {
        border-radius: 0;
    }
}
