.edhero-hero {
    position: relative;
    left: 50%;
    width: 100vw;
    min-height: var(--edhero-hero-min-height, 92svh);
    margin-left: -50vw;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    align-items: center;
    background: var(--edhero-hero-bg, #05060a);
    color: var(--edhero-hero-text, #fff);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.home .site-content:has(.entry-content > .edhero-hero:first-child),
body.home .site-content:has(.entry-content > .wp-block-group:first-child .edhero-hero:first-child),
body.home .content-area:has(.entry-content > .edhero-hero:first-child),
body.home .content-area:has(.entry-content > .wp-block-group:first-child .edhero-hero:first-child),
body.home .site-main:has(.entry-content > .edhero-hero:first-child),
body.home .site-main:has(.entry-content > .wp-block-group:first-child .edhero-hero:first-child),
body.home .site-main > article:has(.entry-content > .edhero-hero:first-child),
body.home .inside-article:has(> .entry-content > .edhero-hero:first-child),
body.home .entry-content:has(> .edhero-hero:first-child),
body.home .entry-content:has(> .wp-block-group:first-child .edhero-hero:first-child),
body.home .entry-content > .wp-block-group:first-child:has(.wp-block-group__inner-container > .edhero-hero:first-child),
body.home .entry-content > .wp-block-group:first-child > .wp-block-group__inner-container:has(> .edhero-hero:first-child) {
    margin-top: 0;
    padding-top: 0;
}

.entry-content > .edhero-hero:first-child,
.wp-block-post-content > .edhero-hero:first-child,
.site-main > .edhero-hero:first-child {
    margin-top: 0;
}

.edhero-hero *,
.edhero-hero *::before,
.edhero-hero *::after {
    box-sizing: border-box;
}

.edhero-hero__media,
.edhero-hero__media picture,
.edhero-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.edhero-hero__media {
    z-index: 0;
    background: var(--edhero-hero-bg, #05060a);
}

.edhero-hero__media img {
    object-fit: cover;
    object-position: var(--edhero-hero-desktop-position, 58% center);
    filter: saturate(var(--edhero-hero-image-saturation, 1.08)) contrast(var(--edhero-hero-image-contrast, 1.08)) brightness(var(--edhero-hero-image-brightness, .98));
    transform: scale(var(--edhero-hero-image-scale, 1.018));
    transform-origin: center;
}

.edhero-hero__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-overlay-left, .9)) 0%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / .82) 24%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-overlay-mid, .52)) 50%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-overlay-right, .06)) 78%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / .02) 100%),
        linear-gradient(0deg, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-overlay-bottom, .34)) 0%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / .08) 48%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-overlay-top, .18)) 100%);
}

.edhero-hero__lines {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 1;
    background:
        linear-gradient(90deg, transparent 0%, rgb(255 255 255 / .05) 18%, rgb(255 255 255 / .62) 48%, rgb(var(--edhero-hero-line-rgb, 255 74 162) / .68) 52%, transparent 100%) 0 52% / 100% 2px no-repeat,
        linear-gradient(90deg, rgb(var(--edhero-hero-line-rgb, 255 74 162) / var(--edhero-hero-line-opacity, .18)) 1px, transparent 1px),
        linear-gradient(0deg, rgb(255 255 255 / .08) 1px, transparent 1px);
    background-size:
        100% 2px,
        var(--edhero-hero-line-grid-size, 124px) var(--edhero-hero-line-grid-size, 124px),
        var(--edhero-hero-line-grid-size, 124px) var(--edhero-hero-line-grid-size, 124px);
    mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 86%, transparent 100%);
}

.edhero-hero--no-lines .edhero-hero__lines {
    display: none;
}

.edhero-hero__brand {
    position: absolute;
    z-index: 5;
    top: var(--edhero-hero-logo-top, 28px);
    right: var(--edhero-hero-logo-right, 48px);
    width: var(--edhero-hero-logo-width, 148px);
    display: block;
}

.edhero-hero__brand img {
    display: block;
    width: 100%;
    height: auto;
}

.edhero-hero__inner {
    position: relative;
    z-index: 4;
    width: min(100%, var(--edhero-hero-inner-max, 1440px));
    margin: 0 auto;
    padding: 72px clamp(24px, 6vw, 92px);
    display: grid;
    grid-template-columns: minmax(0, var(--edhero-hero-content-width, 620px)) minmax(180px, 1fr);
    gap: 32px;
    align-items: end;
}

.edhero-hero__content {
    width: min(100%, var(--edhero-hero-content-width, 620px));
}

.edhero-hero__rule {
    width: 112px;
    height: 3px;
    margin: 0 0 22px;
    background: linear-gradient(90deg, var(--edhero-hero-button, #d71920), var(--edhero-hero-accent, #ff4aa2), transparent);
}

.edhero-hero__title {
    max-width: 14ch;
    margin: 0;
    color: var(--edhero-hero-text, #fff);
    font-family: var(--edhero-hero-title-font, Inter, ui-sans-serif, system-ui, sans-serif);
    font-size: var(--edhero-hero-title-size, 76px);
    font-style: var(--edhero-hero-title-style, normal);
    font-weight: var(--edhero-hero-title-weight, 850);
    line-height: .94;
    letter-spacing: 0;
    text-transform: uppercase;
    text-wrap: balance;
}

.edhero-hero__proof {
    max-width: 58ch;
    margin: 22px 0 0;
    color: var(--edhero-hero-accent, #ff4aa2);
    font-size: var(--edhero-hero-label-size, 12px);
    font-weight: 850;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: uppercase;
}

.edhero-hero__body {
    max-width: 56ch;
    margin: 14px 0 0;
    color: var(--edhero-hero-muted, #d8dde6);
    font-size: var(--edhero-hero-body-size, 18px);
    font-weight: 520;
    line-height: 1.58;
    letter-spacing: 0;
}

.edhero-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.edhero-hero__primary,
.edhero-hero__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 100%;
    padding: 13px 20px;
    border-radius: 4px;
    color: var(--edhero-hero-text, #fff);
    font-size: 13px;
    font-weight: 820;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: none;
}

.edhero-hero__primary {
    border: 1px solid var(--edhero-hero-button, #d71920);
    background: var(--edhero-hero-button, #d71920);
    box-shadow: 0 18px 44px rgb(215 25 32 / .24);
}

.edhero-hero__secondary {
    border: 1px solid rgb(255 255 255 / .42);
    background: rgb(5 6 10 / .18);
    color: var(--edhero-hero-text, #fff);
    backdrop-filter: blur(10px);
}

.edhero-hero__primary:hover,
.edhero-hero__secondary:hover,
.edhero-hero__primary:focus-visible,
.edhero-hero__secondary:focus-visible {
    color: var(--edhero-hero-text, #fff);
    text-decoration: none;
}

.edhero-hero__primary:focus-visible,
.edhero-hero__secondary:focus-visible {
    outline: 2px solid var(--edhero-hero-accent, #ff4aa2);
    outline-offset: 3px;
}

.edhero-hero__process {
    align-self: end;
    justify-self: end;
    width: min(270px, 100%);
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    color: var(--edhero-hero-process-color, #d71920);
    font-size: var(--edhero-hero-process-size, 12px);
    font-weight: 780;
    line-height: 1.5;
    letter-spacing: 0;
    opacity: var(--edhero-hero-process-opacity, .88);
    text-transform: uppercase;
}

.edhero-hero__process li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid rgb(255 255 255 / .18);
}

.edhero-hero__process li::after {
    content: "";
    width: 42px;
    height: 1px;
    background: currentColor;
}

.edhero-hero__mark {
    position: absolute;
    z-index: 5;
    right: clamp(20px, 4vw, 52px);
    bottom: 22px;
    margin: 0;
    color: rgb(255 255 255 / .66);
    font-size: 11px;
    font-weight: 760;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: uppercase;
    writing-mode: vertical-rl;
}

@media (min-width: 768px) and (max-width: 1120px) {
    .edhero-hero__inner {
        grid-template-columns: minmax(0, 600px);
        align-items: end;
    }

    .edhero-hero__title {
        font-size: 64px;
    }

    .edhero-hero__process {
        justify-self: start;
        margin-top: 34px;
    }
}

@media (max-width: 767px) {
    .edhero-hero {
        min-height: 92svh;
        align-items: end;
    }

    .edhero-hero__media img {
        object-position: var(--edhero-hero-mobile-position, center center);
        filter: saturate(var(--edhero-hero-mobile-image-saturation, 1.08)) contrast(var(--edhero-hero-mobile-image-contrast, 1.08)) brightness(var(--edhero-hero-mobile-image-brightness, .94));
        transform: scale(var(--edhero-hero-mobile-image-scale, 1.035));
    }

    .edhero-hero__shade {
        background:
            linear-gradient(180deg, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-mobile-overlay-top, .1)) 0%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / .2) 34%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-mobile-overlay-mid, .78)) 66%, rgb(var(--edhero-hero-overlay-rgb, 5 6 10) / var(--edhero-hero-mobile-overlay-bottom, .96)) 100%);
    }

    .edhero-hero__lines {
        background-size:
            100% 2px,
            var(--edhero-hero-mobile-line-grid-size, 86px) var(--edhero-hero-mobile-line-grid-size, 86px),
            var(--edhero-hero-mobile-line-grid-size, 86px) var(--edhero-hero-mobile-line-grid-size, 86px);
        mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 88%, transparent 100%);
    }

    .edhero-hero__brand {
        top: 18px;
        right: 18px;
        width: var(--edhero-hero-logo-mobile-width, 86px);
    }

    .edhero-hero__inner {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        padding: var(--edhero-hero-mobile-padding-top, 42svh) 20px var(--edhero-hero-mobile-padding-bottom, 34px);
    }

    .edhero-hero__rule {
        width: 76px;
        height: 2px;
        margin-bottom: 18px;
    }

    .edhero-hero__title {
        max-width: 12ch;
        font-size: var(--edhero-hero-mobile-title-size, 44px);
        line-height: .96;
    }

    .edhero-hero__proof {
        margin-top: 16px;
        font-size: var(--edhero-hero-mobile-label-size, 11px);
    }

    .edhero-hero__body {
        max-width: 37ch;
        margin-top: 10px;
        font-size: var(--edhero-hero-mobile-body-size, 15px);
        line-height: 1.52;
    }

    .edhero-hero__actions {
        gap: 10px;
        margin-top: 22px;
    }

    .edhero-hero__primary,
    .edhero-hero__secondary {
        flex: 1 1 148px;
        min-height: 44px;
        padding: 12px 14px;
        font-size: 12px;
    }

    .edhero-hero__process {
        display: none;
        width: 100%;
        justify-self: start;
        margin-top: 4px;
    }

    .edhero-hero--process-mobile .edhero-hero__process {
        display: block;
    }

    .edhero-hero__process li {
        padding: 7px 0;
    }

    .edhero-hero__mark {
        display: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .edhero-hero__media img {
        animation: edhero-hero-breathe 12s ease-in-out infinite alternate;
    }
}

@keyframes edhero-hero-breathe {
    from {
        transform: scale(var(--edhero-hero-image-scale, 1.018)) translate3d(0, 0, 0);
    }

    to {
        transform: scale(calc(var(--edhero-hero-image-scale, 1.018) + .012)) translate3d(-6px, 0, 0);
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
    .edhero-hero__media img {
        animation-name: edhero-hero-breathe-mobile;
    }
}

@keyframes edhero-hero-breathe-mobile {
    from {
        transform: scale(var(--edhero-hero-mobile-image-scale, 1.035)) translate3d(0, 0, 0);
    }

    to {
        transform: scale(calc(var(--edhero-hero-mobile-image-scale, 1.035) + .01)) translate3d(0, -5px, 0);
    }
}
