@font-face {
    font-family: "HK Grotesk";
    src: url("../fonts/hkgrotesk-regular.woff2") format("woff2");
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url("../fonts/hkgrotesk-semibold.woff2") format("woff2");
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url("../fonts/hkgrotesk-bold.woff2") format("woff2");
    font-weight: 700;
    font-display: swap;
}

.onz-solutions-page {
    --onz-solutions-ink: #172d3c;
    --onz-solutions-deep: #0b202c;
    --onz-solutions-paper: #f2f5f2;
    --onz-solutions-white: #fff;
    --onz-solutions-line: rgba(23, 45, 60, .17);
    --onz-solutions-muted: #61717a;
    --onz-solutions-accent: #f9a515;
    --onz-solutions-green: #1ec999;
    color: var(--onz-solutions-ink);
    background: var(--onz-solutions-paper);
    font-family: "HK Grotesk", sans-serif;
}

.onz-solutions-page .layout-wrapper.landing { overflow: clip; }

.onz-solutions-main,
.onz-solutions-main h1,
.onz-solutions-main h2,
.onz-solutions-main p,
.onz-solutions-main a,
.onz-solutions-main span,
.onz-solutions-main strong,
.onz-solutions-main small,
.onz-solutions-main em { font-family: "HK Grotesk", sans-serif; }

.onz-solutions-shell {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.onz-solutions-page .navbar-landing > .container,
.onz-solutions-page .layout-wrapper.landing > section.bg-warning > .container,
.onz-solutions-page .custom-footer > .container {
    width: min(1240px, calc(100% - 48px));
    max-width: none;
    padding-inline: 0;
}

.onz-solutions-page .navbar-landing {
    min-height: 72px;
    border-bottom: 1px solid rgba(23, 45, 60, .1);
    background: rgba(246, 248, 247, .94);
    box-shadow: none;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.onz-solutions-page .navbar-landing.is-sticky {
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 10px 35px rgba(13, 32, 44, .09);
}

.onz-solutions-page .navbar-landing .nav-link {
    color: var(--onz-solutions-ink) !important;
    font-size: 14px;
    font-weight: 600;
}

.onz-solutions-kicker {
    margin: 0 0 20px;
    color: #b56c00;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.2;
    text-transform: uppercase;
}

.onz-solutions-hero {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    color: var(--onz-solutions-white);
    background:
        radial-gradient(circle at 84% 24%, rgba(30, 201, 153, .16), transparent 25%),
        var(--onz-solutions-deep);
}

.onz-solutions-hero::after {
    position: absolute;
    right: -18vw;
    bottom: -31vw;
    width: 62vw;
    height: 62vw;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    content: "";
}

.onz-solutions-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .62fr);
    min-height: 650px;
    gap: 88px;
    align-items: center;
    padding-top: 112px;
    padding-bottom: 56px;
}

.onz-solutions-hero__copy { max-width: 800px; }
.onz-solutions-hero .onz-solutions-kicker { color: var(--onz-solutions-accent); }

.onz-solutions-hero__copy > * {
    opacity: 0;
    transform: translateY(24px);
    animation: onz-solutions-rise 720ms cubic-bezier(.2, .7, .2, 1) forwards;
}

.onz-solutions-hero__copy > :nth-child(1) { animation-delay: 80ms; }
.onz-solutions-hero__copy > :nth-child(2) { animation-delay: 180ms; }
.onz-solutions-hero__copy > :nth-child(3) { animation-delay: 290ms; }
.onz-solutions-hero__copy > :nth-child(4) { animation-delay: 400ms; }

.onz-solutions-hero h1 {
    margin: 0;
    color: var(--onz-solutions-white);
    font-size: clamp(56px, 6vw, 88px);
    font-weight: 600;
    letter-spacing: -.062em;
    line-height: .92;
}

.onz-solutions-hero h1 span { color: var(--onz-solutions-accent); }

.onz-solutions-hero__copy > p:not(.onz-solutions-kicker) {
    max-width: 670px;
    margin: 30px 0 34px;
    color: rgba(255, 255, 255, .74);
    font-size: 20px;
    line-height: 1.5;
}

.onz-solutions-button {
    display: inline-flex;
    min-height: 56px;
    padding: 14px 24px;
    gap: 14px;
    align-items: center;
    justify-content: center;
    border: 0;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    text-decoration: none;
    transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.onz-solutions-button--accent { color: var(--onz-solutions-deep); background: var(--onz-solutions-accent); }
.onz-solutions-button--accent:hover { color: var(--onz-solutions-deep); background: var(--onz-solutions-white); transform: translateY(-2px); }
.onz-solutions-button--dark { color: var(--onz-solutions-white); background: var(--onz-solutions-deep); }
.onz-solutions-button--dark:hover { color: var(--onz-solutions-deep); background: var(--onz-solutions-green); transform: translateY(-2px); }

.onz-solutions-hero__roles {
    padding: 28px 0 0 34px;
    border-left: 1px solid rgba(255, 255, 255, .19);
    opacity: 0;
    transform: translateY(24px);
    animation: onz-solutions-rise 820ms 260ms cubic-bezier(.2, .7, .2, 1) forwards;
}

.onz-solutions-hero__roles > p {
    margin: 0 0 18px;
    color: var(--onz-solutions-green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.onz-solutions-hero__roles ol { padding: 0; margin: 0; list-style: none; }

.onz-solutions-hero__roles li {
    display: grid;
    grid-template-columns: 34px 1fr;
    min-height: 58px;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.onz-solutions-hero__roles li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.onz-solutions-hero__roles li span { color: rgba(255, 255, 255, .42); font-size: 10px; letter-spacing: .09em; }
.onz-solutions-hero__roles li strong { color: var(--onz-solutions-white); font-size: 21px; font-weight: 600; }

.onz-solutions-index { border-bottom: 1px solid var(--onz-solutions-line); background: var(--onz-solutions-white); }

.onz-solutions-index .onz-solutions-shell {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
}

.onz-solutions-index .onz-solutions-shell::-webkit-scrollbar { display: none; }

.onz-solutions-index a {
    display: inline-flex;
    min-width: max-content;
    min-height: 72px;
    padding: 0 24px;
    gap: 8px;
    align-items: center;
    color: var(--onz-solutions-ink);
    border-right: 1px solid var(--onz-solutions-line);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color 180ms ease, background 180ms ease;
}

.onz-solutions-index a:first-child { border-left: 1px solid var(--onz-solutions-line); }
.onz-solutions-index a span { color: #8b989e; font-size: 10px; letter-spacing: .08em; }
.onz-solutions-index a i { color: #8b989e; transition: transform 180ms ease; }
.onz-solutions-index a:hover { color: var(--onz-solutions-deep); background: rgba(249, 165, 21, .12); }
.onz-solutions-index a:hover i { transform: translateY(3px); }

.onz-solutions-directory {
    padding-block: 126px 142px;
    scroll-margin-top: 72px;
    background: var(--onz-solutions-paper);
}

.onz-solutions-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr);
    gap: 88px;
    align-items: end;
    margin-bottom: 76px;
}

.onz-solutions-heading h2,
.onz-solutions-final h2 {
    max-width: 850px;
    margin: 0;
    color: var(--onz-solutions-ink);
    font-size: clamp(48px, 5.3vw, 76px);
    font-weight: 600;
    letter-spacing: -.058em;
    line-height: .94;
}

.onz-solutions-heading > p {
    margin: 0;
    color: var(--onz-solutions-muted);
    font-size: 19px;
    line-height: 1.55;
}

.onz-solutions-list { border-top: 1px solid var(--onz-solutions-line); }

.onz-solutions-profile {
    display: grid;
    grid-template-columns: 52px 70px minmax(0, 1fr) auto;
    min-height: 190px;
    padding-block: 30px;
    gap: 25px;
    align-items: center;
    color: var(--onz-solutions-ink);
    border-bottom: 1px solid var(--onz-solutions-line);
    scroll-margin-top: 92px;
    text-decoration: none;
    transition: padding 220ms ease, background 220ms ease;
}

.onz-solutions-profile:hover {
    padding-inline: 20px;
    color: var(--onz-solutions-ink);
    background: rgba(30, 201, 153, .075);
}

.onz-solutions-profile__number { color: #89969c; font-size: 12px; letter-spacing: .1em; }

.onz-solutions-profile__icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    color: #126f5c;
    border: 1px solid rgba(18, 111, 92, .25);
    border-radius: 50%;
    font-size: 26px;
}

.onz-solutions-profile__content { display: grid; gap: 7px; }
.onz-solutions-profile__content small { color: #9a6106; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.onz-solutions-profile__content strong { font-size: clamp(30px, 3.4vw, 47px); font-weight: 600; letter-spacing: -.043em; line-height: 1; }
.onz-solutions-profile__content > span { max-width: 720px; color: var(--onz-solutions-muted); font-size: 17px; line-height: 1.48; }

.onz-solutions-profile em {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: var(--onz-solutions-ink);
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.onz-solutions-profile em i { transition: transform 180ms ease; }
.onz-solutions-profile:hover em i { transform: translateX(4px); }

.onz-solutions-final { padding-block: 110px; background: #d9efe7; }

.onz-solutions-final__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.onz-solutions-final .onz-solutions-kicker { color: #126f5c; }
.onz-solutions-final h2 { max-width: 850px; color: var(--onz-solutions-deep); }
.onz-solutions-final__inner > div > p:last-child { max-width: 670px; margin: 24px 0 0; color: rgba(11, 32, 44, .76); font-size: 19px; line-height: 1.5; }
.onz-solutions-final .onz-solutions-button { width: fit-content; }

.onz-solutions-motion .onz-solutions-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 650ms ease, transform 650ms cubic-bezier(.2, .7, .2, 1);
}

.onz-solutions-motion .onz-solutions-reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes onz-solutions-rise {
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991.98px) {
    .onz-solutions-hero__inner { grid-template-columns: 1fr; min-height: auto; gap: 58px; padding-top: 150px; padding-bottom: 72px; }
    .onz-solutions-hero__roles { max-width: 560px; padding-top: 0; }
    .onz-solutions-heading { grid-template-columns: 1fr; gap: 28px; }
    .onz-solutions-profile { grid-template-columns: 42px 58px minmax(0, 1fr); }
    .onz-solutions-profile em { grid-column: 3; }
    .onz-solutions-final__inner { grid-template-columns: 1fr; gap: 38px; align-items: start; }
}

@media (max-width: 767.98px) {
    .onz-solutions-shell { width: min(100% - 32px, 1240px); }
    .onz-solutions-page .navbar-landing > .container,
    .onz-solutions-page .layout-wrapper.landing > section.bg-warning > .container,
    .onz-solutions-page .custom-footer > .container { width: min(100% - 32px, 1240px); }
    .onz-solutions-hero__inner { padding-top: 126px; }
    .onz-solutions-hero h1 { font-size: clamp(47px, 13vw, 66px); }
    .onz-solutions-hero__copy > p:not(.onz-solutions-kicker) { font-size: 18px; }
    .onz-solutions-hero__roles { padding-left: 20px; }
    .onz-solutions-hero__roles li strong { font-size: 19px; }
    .onz-solutions-index .onz-solutions-shell { width: 100%; padding-inline: 16px; }
    .onz-solutions-index a { min-height: 64px; padding-inline: 18px; }
    .onz-solutions-directory { padding-block: 88px 100px; }
    .onz-solutions-heading { margin-bottom: 50px; }
    .onz-solutions-heading h2,
    .onz-solutions-final h2 { font-size: clamp(42px, 12vw, 58px); }
    .onz-solutions-heading > p { font-size: 17px; }
    .onz-solutions-profile { grid-template-columns: 38px minmax(0, 1fr); min-height: 0; padding-block: 30px; gap: 12px 16px; }
    .onz-solutions-profile__icon { grid-column: 2; width: 48px; height: 48px; font-size: 23px; }
    .onz-solutions-profile__content { grid-column: 2; }
    .onz-solutions-profile__content strong { font-size: 32px; }
    .onz-solutions-profile__content > span { font-size: 16px; }
    .onz-solutions-profile em { grid-column: 2; margin-top: 8px; white-space: normal; }
    .onz-solutions-profile:hover { padding-inline: 10px 0; }
    .onz-solutions-final { padding-block: 82px; }
}

@media (prefers-reduced-motion: reduce) {
    .onz-solutions-hero__copy > *,
    .onz-solutions-hero__roles { opacity: 1; transform: none; animation: none; }
    .onz-solutions-motion .onz-solutions-reveal { opacity: 1; transform: none; transition: none; }
    .onz-solutions-button,
    .onz-solutions-profile,
    .onz-solutions-profile em i { transition: none; }
}
