/* Nextgen home — migrated from existing page styles. */
.ng-home,
.ng-home * {
box-sizing: border-box;
}

.ng-home {
--blue: #159bc6;
    --blue-dark: #087ca5;
    --blue-light: #70d8f1;
    --ink: #0b1115;
    --text: #40464a;
    --muted: #68747a;
    --soft: #f3f7f8;
    --line: #dce5e9;

    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    overflow: hidden;
    background: #fff;
    color: var(--text);
    font-family: "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
        Cantarell, "Helvetica Neue", sans-serif;
    line-height: 1.65;
}

.ng-home *:focus-visible {
outline: 3px solid var(--blue-light);
    outline-offset: 3px;
}

.ng-home .ng-wrap {
width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.ng-home h1,
.ng-home h2,
.ng-home h3,
.ng-home p {
margin-top: 0;
}

.ng-home h1,
.ng-home h2,
.ng-home h3 {
margin-bottom: 0;
    color: var(--ink);
    line-height: 1.12;
}

.ng-home h1 {
max-width: 850px;
    color: #fff;
    font-size: clamp(46px, 6.5vw, 78px);
    letter-spacing: .005em;
}

.ng-home h2 {
font-size: clamp(31px, 4vw, 49px);
}

.ng-home h3 {
font-size: 21px;
}

.ng-home p {
margin-bottom: 0;
}

:where(.ng-home) .ng-kicker {
margin-bottom: 17px !important;
    color: var(--blue-dark);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

:where(.ng-home) .ng-rule {
width: 120px;
    height: 3px;
    margin: 27px 0;
    background: var(--blue);
}

:where(.ng-home) .ng-lead {
max-width: 780px;
    font-size: clamp(18px, 2vw, 23px);
    line-height: 1.52;
}

:where(.ng-home) .ng-actions {
display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

:where(.ng-home) .ng-button {
display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 2px solid var(--blue);
    font-weight: 750;
    text-decoration: none;
    transition: .18s ease;
}

:where(.ng-home) .ng-button-primary {
color: #fff;
    background: var(--blue);
}

:where(.ng-home) .ng-button-secondary {
color: var(--ink);
    background: #fff;
}

:where(.ng-home) .ng-button:hover {
color: #fff;
    border-color: var(--blue-dark);
    background: var(--blue-dark);
    transform: translateY(-1px);
}

:where(.ng-home) .ng-hero {
position: relative;
    min-height: clamp(570px, 52vw, 720px);
    display: flex;
    align-items: center;
    padding: 95px 0;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(115deg, #061522, #0a2d43);
}

:where(.ng-home) .ng-hero::after {
content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(2, 14, 25, .97) 0%,
        rgba(3, 24, 39, .90) 44%,
        rgba(4, 45, 70, .54) 72%,
        rgba(4, 45, 70, .24) 100%
    );
}

:where(.ng-home) .ng-hero .ng-hero-image {
position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    padding: 50px clamp(24px, 8vw, 150px);
    object-fit: contain;
    object-position: center;
    box-sizing: border-box;
}

:where(.ng-home) .ng-hero-copy {
max-width: 800px;
}

:where(.ng-home) .ng-hero .ng-kicker {
color: var(--blue-light);
}

:where(.ng-home) .ng-hero .ng-lead {
color: rgba(255, 255, 255, .92);
}

:where(.ng-home) .ng-hero .ng-button-secondary {
color: #fff;
    border-color: #fff;
    background: transparent;
}

:where(.ng-home) .ng-hero-note {
display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    color: #c9d5da;
    font-size: 14px;
}

:where(.ng-home) .ng-hero-note::before {
content: "✓";
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    background: rgba(112, 216, 241, .13);
    color: var(--blue-light);
    font-weight: 900;
}

:where(.ng-home) .ng-credibility {
border-bottom: 1px solid var(--line);
    background: #fff;
}

:where(.ng-home) .ng-credibility-grid {
display: grid;
    grid-template-columns: 1.45fr repeat(6, 1fr);
    align-items: stretch;
}

:where(.ng-home) .ng-credibility-label {
display: flex;
    min-height: 96px;
    flex-direction: column;
    justify-content: center;
    padding-right: 25px;
    border-right: 1px solid var(--line);
}

:where(.ng-home) .ng-credibility-label strong {
color: var(--ink);
    font-size: 14px;
    letter-spacing: .09em;
    text-transform: uppercase;
}

:where(.ng-home) .ng-credibility-label span {
color: var(--muted);
    font-size: 13px;
}

:where(.ng-home) .ng-partner-name {
display: grid;
    min-height: 96px;
    place-items: center;
    padding: 15px;
    border-right: 1px solid var(--line);
    color: #344047;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

:where(.ng-home) .ng-partner-name:last-child {
border-right: 0;
}

:where(.ng-home) .ng-section {
padding: 94px 0;
}

:where(.ng-home) .ng-soft {
background: var(--soft);
}

:where(.ng-home) .ng-section-head {
display: grid;
    grid-template-columns: .84fr 1.16fr;
    gap: 72px;
    align-items: end;
    margin-bottom: 50px;
}

:where(.ng-home) .ng-section-head > p {
font-size: 18px;
}

:where(.ng-home) .ng-outcomes {
display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

:where(.ng-home) .ng-outcome {
padding: 34px;
    border: 1px solid var(--line);
    background: #fff;
}

:where(.ng-home) .ng-icon {
display: grid;
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    place-items: center;
    color: var(--blue-dark);
    background: rgba(21, 155, 198, .11);
    border: 1px solid rgba(21, 155, 198, .2);
}

:where(.ng-home) .ng-icon svg {
width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

:where(.ng-home) .ng-outcome p {
margin-top: 13px;
    color: var(--muted);
}

:where(.ng-home) .ng-bento {
display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: minmax(205px, auto);
    gap: 20px;
}

:where(.ng-home) .ng-bento-card {
position: relative;
    display: flex;
    flex-direction: column;
    padding: 32px;
    border: 1px solid var(--line);
    background: #fff;
    overflow: hidden;
    transition: .18s ease;
}

:where(.ng-home) .ng-bento-card:hover {
border-color: #a8ccd8;
    box-shadow: 0 12px 30px rgba(17, 49, 63, .08);
    transform: translateY(-3px);
}

:where(.ng-home) .ng-bento-card p {
max-width: 630px;
    margin-top: 13px;
    color: var(--muted);
}

:where(.ng-home) .ng-bento-main {
grid-column: span 7;
    grid-row: span 2;
    justify-content: flex-end;
    min-height: 430px;
    color: #fff;
    background: linear-gradient(145deg, #0b1115, #0b3148);
    border-color: #0b3148;
}

:where(.ng-home) .ng-bento-main h3 {
max-width: 560px;
    color: #fff;
    font-size: clamp(29px, 3vw, 42px);
}

:where(.ng-home) .ng-bento-main p {
color: #ccd9de;
    font-size: 17px;
}

:where(.ng-home) .ng-bento-main .ng-icon {
position: absolute;
    top: 34px;
    right: 34px;
    width: 82px;
    height: 82px;
    color: var(--blue-light);
    background: rgba(112, 216, 241, .09);
    border-color: rgba(112, 216, 241, .22);
}

:where(.ng-home) .ng-bento-main .ng-icon svg {
width: 43px;
    height: 43px;
}

:where(.ng-home) .ng-bento-main .ng-card-link {
color: var(--blue-light);
}

:where(.ng-home) .ng-bento-small {
grid-column: span 5;
}

:where(.ng-home) .ng-bento-half {
grid-column: span 6;
}

:where(.ng-home) .ng-bento-wide {
grid-column: span 12;
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 45px;
    align-items: center;
}

:where(.ng-home) .ng-special-links {
display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

:where(.ng-home) .ng-special-links a {
padding: 9px 13px;
    border: 1px solid var(--line);
    color: var(--blue-dark);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}

:where(.ng-home) .ng-special-links a:hover {
color: #fff;
    border-color: var(--blue);
    background: var(--blue);
}

:where(.ng-home) .ng-card-link {
display: inline-block;
    margin-top: auto;
    padding-top: 22px;
    color: var(--blue-dark);
    font-weight: 800;
    text-decoration: none;
}

:where(.ng-home) .ng-card-link::after {
content: " →";
}

:where(.ng-home) .ng-card-link:hover {
color: var(--ink);
}

:where(.ng-home) .ng-process {
display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    counter-reset: step;
}

:where(.ng-home) .ng-step {
position: relative;
    padding: 37px 31px 31px;
    border-top: 4px solid var(--blue);
    background: #fff;
}

:where(.ng-home) .ng-step::before {
counter-increment: step;
    content: "0" counter(step);
    display: block;
    margin-bottom: 20px;
    color: var(--blue-dark);
    font-size: 35px;
    font-weight: 850;
    line-height: 1;
}

:where(.ng-home) .ng-step p {
margin-top: 13px;
    color: var(--muted);
}

:where(.ng-home) .ng-testimonial-grid {
display: grid;
    grid-template-columns: 1.55fr .75fr;
    gap: 20px;
}

:where(.ng-home) .ng-featured-quote {
display: flex;
    min-height: 380px;
    flex-direction: column;
    justify-content: space-between;
    padding: 48px;
    background: var(--ink);
    color: #fff;
}

:where(.ng-home) .ng-stars {
margin-bottom: 24px;
    color: var(--blue-light);
    font-size: 18px;
    letter-spacing: .1em;
}

:where(.ng-home) .ng-featured-quote blockquote {
max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(22px, 2.5vw, 31px);
    line-height: 1.5;
}

:where(.ng-home) .ng-featured-quote cite {
display: block;
    margin-top: 30px;
    color: var(--blue-light);
    font-style: normal;
    font-weight: 800;
}

:where(.ng-home) .ng-proof-card {
display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px;
    border: 2px solid var(--ink);
    background: #fff;
    box-shadow: 12px 12px 0 rgba(21, 155, 198, .16);
}

:where(.ng-home) .ng-proof-card h3 {
font-size: 28px;
}

:where(.ng-home) .ng-proof-card p {
margin-top: 16px;
    color: var(--muted);
}

:where(.ng-home) .ng-cta {
padding: 84px 0;
    background: var(--ink);
    color: #fff;
}

:where(.ng-home) .ng-cta h2 {
max-width: 850px;
    color: #fff;
}

:where(.ng-home) .ng-cta p {
max-width: 760px;
    margin-top: 22px;
    color: #d5dde1;
    font-size: 18px;
}

:where(.ng-home) .ng-cta .ng-button-secondary {
color: #fff;
    border-color: #fff;
    background: transparent;
}

@media (max-width: 920px) {
:where(.ng-home) .ng-section-head {
grid-template-columns: 1fr;
        gap: 38px;
}

:where(.ng-home) .ng-credibility-grid {
grid-template-columns: repeat(3, 1fr);
}

:where(.ng-home) .ng-credibility-label {
grid-column: 1 / -1;
        min-height: auto;
        padding: 22px 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
}

:where(.ng-home) .ng-outcomes,
:where(.ng-home) .ng-process {
grid-template-columns: 1fr 1fr;
}

:where(.ng-home) .ng-bento-main,
:where(.ng-home) .ng-bento-small,
:where(.ng-home) .ng-bento-half {
grid-column: span 6;
}

:where(.ng-home) .ng-bento-main {
grid-row: span 1;
        min-height: 300px;
}

:where(.ng-home) .ng-bento-wide {
grid-template-columns: 1fr;
}

:where(.ng-home) .ng-testimonial-grid {
grid-template-columns: 1fr;
}
}

@media (max-width: 767px) {
:where(.ng-home) .ng-hero .ng-hero-image {
padding: 28px 20px;
}
}

@media (max-width: 620px) {
.ng-home .ng-wrap {
width: min(calc(100% - 28px), 1120px);
}

:where(.ng-home) .ng-hero {
min-height: 650px;
        padding: 72px 0;
}

:where(.ng-home) .ng-hero::after {
background: linear-gradient(
            90deg,
            rgba(2, 14, 25, .97),
            rgba(3, 24, 39, .80)
        );
}

:where(.ng-home) .ng-credibility-grid {
grid-template-columns: 1fr 1fr;
}

:where(.ng-home) .ng-outcomes,
:where(.ng-home) .ng-process {
grid-template-columns: 1fr;
}

:where(.ng-home) .ng-partner-name {
min-height: 66px;
}

:where(.ng-home) .ng-bento {
display: block;
}

:where(.ng-home) .ng-bento-card {
min-height: 0;
        margin-bottom: 14px;
}

:where(.ng-home) .ng-bento-main {
min-height: 360px;
}

:where(.ng-home) .ng-bento-wide {
display: block;
}

:where(.ng-home) .ng-special-links {
margin-top: 25px;
}

:where(.ng-home) .ng-featured-quote {
min-height: 0;
        padding: 34px;
}

:where(.ng-home) .ng-button {
width: 100%;
}
}
