@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-promoters-page {
    --onz-promoters-ink: #172d3c;
    --onz-promoters-deep: #0a202d;
    --onz-promoters-paper: #f3f5f2;
    --onz-promoters-soft: #e4ebe8;
    --onz-promoters-white: #fff;
    --onz-promoters-line: rgba(23, 45, 60, .17);
    --onz-promoters-muted: #5e6f78;
    --onz-promoters-accent: #f9a515;
    --onz-promoters-green: #1ec999;
    color: var(--onz-promoters-ink);
    background: var(--onz-promoters-paper);
    font-family: "HK Grotesk", sans-serif;
}

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

.onz-promoters-main,
.onz-promoters-main h1,
.onz-promoters-main h2,
.onz-promoters-main h3,
.onz-promoters-main p,
.onz-promoters-main a,
.onz-promoters-main span,
.onz-promoters-main li,
.onz-promoters-main small { font-family: "HK Grotesk", sans-serif; }

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

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

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

.onz-promoters-kicker {
    margin: 0 0 19px;
    color: #a85f00;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.onz-promoters-actions {
    display: flex;
    gap: 28px;
    align-items: center;
    flex-wrap: wrap;
}

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

.onz-promoters-button:hover { transform: translateY(-2px); }
.onz-promoters-button--dark { color: var(--onz-promoters-white); background: var(--onz-promoters-deep); }
.onz-promoters-button--dark:hover { color: var(--onz-promoters-deep); border-color: var(--onz-promoters-deep); background: transparent; }
.onz-promoters-button--light { color: var(--onz-promoters-deep); background: var(--onz-promoters-white); }
.onz-promoters-button--light:hover { color: var(--onz-promoters-white); border-color: rgba(255, 255, 255, .65); background: transparent; }

.onz-promoters-text-link {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    padding-block: 8px;
    border-bottom: 1px solid currentColor;
    color: var(--onz-promoters-ink);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: color 180ms ease;
}

.onz-promoters-text-link:hover { color: #a85f00; }
.onz-promoters-button i,
.onz-promoters-text-link i { transition: transform 180ms ease; }
.onz-promoters-button:hover i,
.onz-promoters-text-link:hover i { transform: translateX(3px); }

.onz-promoters-hero {
    position: relative;
    min-height: 700px;
    overflow: hidden;
    isolation: isolate;
    background: #d8e6ec;
}

.onz-promoters-hero__image,
.onz-promoters-hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.onz-promoters-hero__image {
    z-index: -2;
    object-fit: cover;
    object-position: center 57%;
    filter: saturate(.76) contrast(.98);
    transform: scale(1.015);
}

.onz-promoters-hero__shade {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(243, 247, 246, .99) 0%, rgba(243, 247, 246, .97) 37%, rgba(243, 247, 246, .67) 58%, rgba(243, 247, 246, .08) 82%),
        linear-gradient(0deg, rgba(10, 32, 45, .16) 0%, transparent 35%);
}

.onz-promoters-hero__inner {
    display: flex;
    min-height: 700px;
    align-items: center;
    padding-block: 126px 70px;
}

.onz-promoters-hero__copy { max-width: 760px; }

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

.onz-promoters-hero__copy > :nth-child(1) { animation-delay: 90ms; }
.onz-promoters-hero__copy > :nth-child(2) { animation-delay: 200ms; }
.onz-promoters-hero__copy > :nth-child(3) { animation-delay: 320ms; }
.onz-promoters-hero__copy > :nth-child(4) { animation-delay: 430ms; }

.onz-promoters-hero h1 {
    margin: 0;
    color: var(--onz-promoters-ink);
    font-size: clamp(58px, 6.4vw, 90px);
    font-weight: 600;
    letter-spacing: -.062em;
    line-height: .91;
}

.onz-promoters-hero h1 span { color: #b66a00; }
.onz-promoters-hero__copy > p:not(.onz-promoters-kicker) {
    max-width: 670px;
    margin: 30px 0 36px;
    color: #415660;
    font-size: 20px;
    line-height: 1.57;
}

.onz-promoters-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .52fr);
    gap: 86px;
    align-items: end;
    padding-bottom: 58px;
    border-bottom: 1px solid var(--onz-promoters-line);
}

.onz-promoters-heading h2,
.onz-promoters-project h2,
.onz-promoters-quality h2,
.onz-promoters-systems h2,
.onz-promoters-handover h2,
.onz-promoters-final h2 {
    margin: 0;
    color: var(--onz-promoters-ink);
    font-size: clamp(44px, 5.2vw, 72px);
    font-weight: 600;
    letter-spacing: -.057em;
    line-height: .96;
}

.onz-promoters-heading h2 span,
.onz-promoters-project h2 span,
.onz-promoters-quality h2 span,
.onz-promoters-systems h2 span,
.onz-promoters-handover h2 span,
.onz-promoters-final h2 span { color: #b66a00; }

.onz-promoters-heading > p {
    margin: 0;
    color: var(--onz-promoters-muted);
    font-size: 18px;
    line-height: 1.62;
}

.onz-promoters-value { padding-block: 112px 126px; background: var(--onz-promoters-paper); }
.onz-promoters-value__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.onz-promoters-value__item {
    min-height: 280px;
    padding: 38px 34px 30px;
    border-right: 1px solid var(--onz-promoters-line);
}

.onz-promoters-value__item:first-child { padding-left: 0; }
.onz-promoters-value__item:last-child { padding-right: 0; border-right: 0; }
.onz-promoters-value__item > span {
    display: block;
    margin-bottom: 52px;
    color: #a85f00;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
}

.onz-promoters-value__item h3 {
    margin: 0 0 16px;
    color: var(--onz-promoters-ink);
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.1;
}

.onz-promoters-value__item p {
    margin: 0;
    color: var(--onz-promoters-muted);
    font-size: 17px;
    line-height: 1.57;
}

.onz-promoters-project { padding-block: 116px 126px; color: var(--onz-promoters-white); background: var(--onz-promoters-deep); }
.onz-promoters-project .onz-promoters-kicker { color: var(--onz-promoters-accent); }
.onz-promoters-project__grid {
    display: grid;
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
    gap: clamp(75px, 10vw, 150px);
    align-items: start;
}

.onz-promoters-project__header { position: sticky; top: 108px; }
.onz-promoters-project h2 { color: var(--onz-promoters-white); }
.onz-promoters-project h2 span { color: var(--onz-promoters-accent); }
.onz-promoters-project__header > p:last-child {
    max-width: 570px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 19px;
    line-height: 1.64;
}

.onz-promoters-project__phases { margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .2); list-style: none; }
.onz-promoters-project__phase { padding-block: 34px 38px; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.onz-promoters-project__phase-meta { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 24px; }
.onz-promoters-project__phase-meta span { color: var(--onz-promoters-accent); font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.onz-promoters-project__phase-meta small { color: rgba(255, 255, 255, .5); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.onz-promoters-project__phase h3 {
    margin: 0 0 10px;
    color: var(--onz-promoters-white);
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 600;
    letter-spacing: -.04em;
}

.onz-promoters-project__phase p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 17px; line-height: 1.58; }

.onz-promoters-quality { padding-block: 116px 126px; background: var(--onz-promoters-accent); }
.onz-promoters-quality .onz-promoters-kicker { color: var(--onz-promoters-deep); }
.onz-promoters-quality__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(370px, .75fr);
    gap: clamp(80px, 11vw, 160px);
    align-items: start;
}

.onz-promoters-quality h2 span { color: var(--onz-promoters-deep); }
.onz-promoters-quality__copy > p:last-child {
    max-width: 680px;
    margin: 28px 0 0;
    color: rgba(10, 32, 45, .75);
    font-size: 19px;
    line-height: 1.63;
}

.onz-promoters-quality__spec { padding-top: 6px; border-top: 1px solid rgba(10, 32, 45, .28); }
.onz-promoters-quality__label {
    margin: 0;
    padding-block: 20px;
    border-bottom: 1px solid rgba(10, 32, 45, .28);
    color: var(--onz-promoters-deep);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.onz-promoters-quality__spec ul { margin: 0; padding: 0; list-style: none; }
.onz-promoters-quality__spec li {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    padding-block: 18px;
    border-bottom: 1px solid rgba(10, 32, 45, .28);
    color: var(--onz-promoters-deep);
    font-size: 17px;
    line-height: 1.45;
}

.onz-promoters-quality__spec li i { color: var(--onz-promoters-deep); font-size: 20px; }
.onz-promoters-quality__note { margin: 20px 0 0; color: rgba(10, 32, 45, .66); font-size: 14px; line-height: 1.5; }

.onz-promoters-systems { padding-block: 126px; background: var(--onz-promoters-soft); }
.onz-promoters-systems__grid {
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    gap: clamp(70px, 9vw, 140px);
    align-items: start;
}

.onz-promoters-systems__media { position: sticky; top: 104px; margin: 0; }
.onz-promoters-systems__media img {
    display: block;
    width: 100%;
    height: min(700px, 72vh);
    object-fit: cover;
    object-position: center;
    filter: saturate(.72) contrast(1.02);
}

.onz-promoters-systems__media figcaption {
    display: flex;
    gap: 18px;
    align-items: center;
    padding-top: 18px;
    color: var(--onz-promoters-muted);
    font-size: 13px;
}

.onz-promoters-systems__media figcaption span { color: #a85f00; font-weight: 700; }
.onz-promoters-systems__content > header > p:last-child {
    max-width: 680px;
    margin: 28px 0 48px;
    color: var(--onz-promoters-muted);
    font-size: 19px;
    line-height: 1.62;
}

.onz-promoters-systems__list { margin-bottom: 34px; border-top: 1px solid var(--onz-promoters-line); }
.onz-promoters-system {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 36px;
    gap: 16px;
    align-items: start;
    padding-block: 27px;
    border-bottom: 1px solid var(--onz-promoters-line);
}

.onz-promoters-system > span { padding-top: 5px; color: #a85f00; font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.onz-promoters-system h3 { margin: 0 0 7px; color: var(--onz-promoters-ink); font-size: 25px; font-weight: 600; letter-spacing: -.03em; }
.onz-promoters-system p { margin: 0; color: var(--onz-promoters-muted); font-size: 16px; line-height: 1.55; }
.onz-promoters-system > i { color: var(--onz-promoters-ink); font-size: 23px; }

.onz-promoters-coordination { padding-block: 116px 126px; background: var(--onz-promoters-paper); }
.onz-promoters-coordination__flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.onz-promoters-coordination__item {
    position: relative;
    min-height: 190px;
    padding: 34px 28px 30px;
    border-right: 1px solid var(--onz-promoters-line);
}

.onz-promoters-coordination__item:first-child { padding-left: 0; }
.onz-promoters-coordination__item:last-child { padding-right: 0; border-right: 0; }
.onz-promoters-coordination__item > span { display: block; margin-bottom: 52px; color: #a85f00; font-size: 13px; font-weight: 700; }
.onz-promoters-coordination__item h3 { margin: 0; color: var(--onz-promoters-ink); font-size: 20px; font-weight: 600; line-height: 1.2; }
.onz-promoters-coordination__item > i { position: absolute; top: 32px; right: 20px; color: rgba(23, 45, 60, .38); font-size: 18px; }

.onz-promoters-handover { padding-block: 112px 124px; color: var(--onz-promoters-white); background: #152f3e; }
.onz-promoters-handover .onz-promoters-kicker { color: var(--onz-promoters-accent); }
.onz-promoters-handover__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(350px, .68fr);
    gap: clamp(75px, 10vw, 150px);
    align-items: start;
}

.onz-promoters-handover h2 { color: var(--onz-promoters-white); }
.onz-promoters-handover h2 span { color: var(--onz-promoters-accent); }
.onz-promoters-handover__copy > p:last-child { max-width: 690px; margin: 28px 0 0; color: rgba(255, 255, 255, .72); font-size: 19px; line-height: 1.63; }
.onz-promoters-handover__points { margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .2); list-style: none; }
.onz-promoters-handover__points li {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 13px;
    padding-block: 23px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .85);
    font-size: 17px;
    line-height: 1.5;
}

.onz-promoters-handover__points i { color: var(--onz-promoters-green); font-size: 21px; }

.onz-promoters-final { padding-block: 116px 122px; color: var(--onz-promoters-white); background: var(--onz-promoters-deep); }
.onz-promoters-final .onz-promoters-kicker { color: var(--onz-promoters-accent); }
.onz-promoters-final h2 { max-width: 1000px; color: var(--onz-promoters-white); }
.onz-promoters-final h2 span { color: var(--onz-promoters-accent); }
.onz-promoters-final > .onz-promoters-shell > p:not(.onz-promoters-kicker) { max-width: 720px; margin: 28px 0 38px; color: rgba(255, 255, 255, .74); font-size: 19px; line-height: 1.62; }

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

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

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

@media (max-width: 1050px) {
    .onz-promoters-coordination__flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .onz-promoters-coordination__item { border-bottom: 1px solid var(--onz-promoters-line); }
    .onz-promoters-coordination__item:nth-child(3n) { border-right: 0; }
    .onz-promoters-coordination__item:nth-child(3n + 1) { padding-left: 0; }
    .onz-promoters-coordination__item:nth-child(3n) { padding-right: 0; }
}

@media (max-width: 900px) {
    .onz-promoters-heading,
    .onz-promoters-quality__grid,
    .onz-promoters-handover__grid { grid-template-columns: 1fr; gap: 34px; }
    .onz-promoters-project__grid { grid-template-columns: .78fr 1fr; gap: 56px; }
    .onz-promoters-project__header { position: static; }
    .onz-promoters-systems__grid { grid-template-columns: .74fr 1fr; gap: 52px; }
    .onz-promoters-systems__media { position: static; }
}

@media (max-width: 767.98px) {
    .onz-promoters-shell,
    .onz-promoters-page .navbar-landing > .container,
    .onz-promoters-page .layout-wrapper.landing > section.bg-warning > .container,
    .onz-promoters-page .custom-footer > .container { width: min(100% - 32px, 1240px); }

    .onz-promoters-hero,
    .onz-promoters-hero__inner { min-height: 700px; }
    .onz-promoters-hero__inner { align-items: flex-end; padding-block: 125px 62px; }
    .onz-promoters-hero__image { object-position: 61% center; }
    .onz-promoters-hero__shade {
        background:
            linear-gradient(0deg, rgba(243, 247, 246, .96) 0%, rgba(243, 247, 246, .84) 61%, rgba(243, 247, 246, .08) 100%),
            linear-gradient(90deg, rgba(243, 247, 246, .5), rgba(243, 247, 246, .04));
    }
    .onz-promoters-hero h1 { font-size: clamp(45px, 13vw, 61px); line-height: .94; }
    .onz-promoters-hero__copy > p:not(.onz-promoters-kicker) { margin-block: 24px 30px; font-size: 18px; line-height: 1.5; }

    .onz-promoters-heading h2,
    .onz-promoters-project h2,
    .onz-promoters-quality h2,
    .onz-promoters-systems h2,
    .onz-promoters-handover h2,
    .onz-promoters-final h2 { font-size: clamp(40px, 12vw, 56px); }

    .onz-promoters-value,
    .onz-promoters-project,
    .onz-promoters-quality,
    .onz-promoters-systems,
    .onz-promoters-coordination,
    .onz-promoters-handover,
    .onz-promoters-final { padding-block: 84px 92px; }

    .onz-promoters-heading { padding-bottom: 40px; }
    .onz-promoters-value__list { display: block; }
    .onz-promoters-value__item {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        min-height: auto;
        padding: 28px 0;
        border-right: 0;
        border-bottom: 1px solid var(--onz-promoters-line);
    }
    .onz-promoters-value__item:last-child { border-bottom: 0; }
    .onz-promoters-value__item > span { grid-row: 1 / 3; margin: 4px 0 0; }
    .onz-promoters-value__item h3 { font-size: 24px; }

    .onz-promoters-project__grid,
    .onz-promoters-systems__grid { grid-template-columns: 1fr; gap: 54px; }
    .onz-promoters-project__phase { padding-block: 28px 32px; }

    .onz-promoters-systems__grid { display: flex; flex-direction: column-reverse; }
    .onz-promoters-systems__media img { height: 480px; }
    .onz-promoters-system { grid-template-columns: 42px minmax(0, 1fr) 28px; }

    .onz-promoters-coordination__flow { display: block; }
    .onz-promoters-coordination__item {
        display: grid;
        grid-template-columns: 45px minmax(0, 1fr) 24px;
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid var(--onz-promoters-line);
    }
    .onz-promoters-coordination__item:last-child { border-bottom: 0; }
    .onz-promoters-coordination__item > span { margin: 2px 0 0; }
    .onz-promoters-coordination__item > i { position: static; grid-column: 3; grid-row: 1; justify-self: end; }
    .onz-promoters-coordination__item h3 { font-size: 21px; }
}

@media (max-width: 460px) {
    .onz-promoters-actions { flex-direction: column; align-items: flex-start; gap: 18px; }
    .onz-promoters-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .onz-promoters-hero__copy > * { opacity: 1; transform: none; animation: none; }
    .onz-promoters-button,
    .onz-promoters-text-link { transition: none; }
}
